So it’s time for me to reveal what I’ve been up to for the past 6 months. As some of you may already know, I moved to a new start up company about six months ago, called Metadata (I know the site isn’t quite ready yet, but we focused on the product instead of the site), where I was assigned the task of designing and building a solution for Content Management. The company business strategy required a product that would satisfy the needs of every possible client ranging from small companies that need simple websites to large news portal organizations with real publishing needs and companies with e-commerce needs.
So let me talk a lit bit about what we’ve build so far and begin by letting you in on the 5 pillars we used to design the system:
- Ease of use. Build a system that would increase its users productivity by reducing the time needed to operate it.
- Configurable. Build a system that could be easily configured to feet every customer’s specific needs.
- Modular. Build a system with the core CMS functionality and extend it by using various modules.
- Secure. Build a secure system.
- Performance. Build a system that is fast.
We’ve decided to follow the content – presentation separation principle. That way the content editor doesn’t have to worry about how its content is going to look on the site (at least in most of the cases), the content can be easily reused, the whole site can change by simply changing the appearance (themes, templates) and the content can be used in other types of applications (PDA’s, WPF, Silverlight… 😉 and so on) as well and not just websites.
MetaCMS and MetaCMS built websites use the latest Microsoft technologies. We’ve used LinqToSql as our ORM, .Net Framework 3.5 sp1 for its MVC Routing Feature, ASP.NET Ajax extensions, Silverlight, and Microsoft SQL 2008.
A MetaCMS website doesn’t have any physical pages (aka aspx files) instead a Runtime engine is responsible to built page instances using available templates and controls and apply themes. That way the whole page structure and appearance can change at runtime. Controls. Using a Parameter system that we’ve built each control is associated with specific content and is responsible to present it to the page instance that it’s placed. But other mini applications – modules can also be placed on an instance of a page.
Except from the runtime presentation engine, MetaCMS offers a number of services as well. So in it we’ve built an advance caching mechanism capable of automatic Cache Item invalidation Synchronization between web farm nodes, Logging service that can be configured with different types of logging sinks, Auditing, Messaging service that allows communication with a user using various platforms (email, Newsletters, sms etc.) and many more.
Also during the past five months we’ve developed a number of modules that add more functionality to the MetaCMS core some of which are:
- Business Directory
This Friday, the first site, built using our platform went live. www.progreece.gr is an e-commerce solution built in co-operation with www.in.gr and is dedicated on selling organic food but that’s not the only one we’ve been working on… you’ll just have to wait a bit longer to find out more…