I briefly got the chance to talk about MetaCMS, the content management system and e-shop platform I’ve designed and built, a while back. Since then a lot of sites have been built using it. Some of which (the biggest ones) include:
And as if building these sites wasn’t enough we’ve decided to completely re-write the platform and built MetaCMS V2. The fact that it had been “tied” to LinqToSql was bothering me all along but due to lack of time didn’t have the time to do something about it. But eventually and although I had put it on “steroids”, the Context has been disposed caching bugs I’ve talked about previously, drove us to completely re-write that part.
So what’s new in this new version, well basically we’ve done two things
- First we’ve build View Models of serializable POCO (Plain Old CLR Objects) objects, taking advantage of the T4 Visual Studio templating engine and the Linq models we already had. In addition these View Model objects were designed to have lambda expressions that will lazy load related entities once those are requested.
- Secondly I’ve designed a simple IoC system that instantiates Repositories that are responsible to return data and “Hydrate” the view model objects.
Making these changes we were able to solve the caching problems and the dreadful Context has been disposed exception we were getting when caching Linq objects and at the same time build a more robust, scalable, solution one that can target multiple client technologies (Sliverlight, WPF, etc) and use different Data access methods.
But that’s not all, except from the bug fixes a lot of new features and modules have been added as well. Some of which are:
- Extensibility support
Hook into various MetaCMS actions and build your own custom business logic.
- Messaging platform
Capable of sending templatized newsletters and Emails.
- Import / Export
Import and Export engine that allows communication with arbitrary data sources.
- Stock Market platform
Utilizes a provider model to allow communication with any Stock Market data provider (Rueters, XAA etc.)
- Competition Module
Supports multiple and recurring competitions with custom winner picking rule engine.
Build to support Elections with maximum detail and data coming from any provider.
And last but not least the e-commerce part of MetaCMS that has been upgraded to an Enterprise Level solution with all the features even the most demanding shop would need. Speaking of which there is a large e-shop project coming up soon that unfortunately though I still can’t disclose.
Time to stop mumbling… if you have more questions or need a demo get in touch and I’ll arrange it.