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:
- Polls
- Comments/Opinions
- Publications
- StockMarket
- Events
- EShop
- 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…
I hope to see it in action here in our company. 😉
Ουαου! Φαίνεται ότι τελικά δεν καθόσασταν τον τελευταίο καιρό! Πότε θα το δούμε από κοντά? BTW το http://www.metadata.gr δε μου δουλεύει, ενώ το http://beta.metadata.gr δουλεύει.
This all sounds very interesting. BUT, why would I (or my company) want to use another proprietary CMS system, when I can have an open source solution, backed by hundreds of developers, and a very strong community?
Apart from the actual business model involved in creating and maintaining a custom CMS, how portable will the data be?
There are a ton of questions I can ask, but they all end up in the same bucket… Do I need one more proprietary CMS system?
@Constantinos The answer I guess is the same as with any other piece of software. Take operating systems for example if you”re prepared to spend – invest time in using and maintaining the operating system your self using the developers community then it”s all right to choose the open source solution. If on the other hand you just need someone to do that for you, you go the proprietary way.
To make Data as portable as possible we have implemented an Import/Export service that uses the provider model to allow us to import or export data to a number of external systems.
In any case the purpose of this post wasn”t to argue (or not) the use of open source software but to present something that I personally believe worth mentioning…
@Panos, anytime friend… just name the time and place. Who knows you might even see it in one of the next opencoffee 😉
@KPantos On the contrary. My intention was not to argue either. I really do appreciate all these initiatives, and efforts put in by people… Open source vs Proprietary is a thing someone needs to consider, and I believe both have a strong market to live in.
Keeping data portable is a great start for all CMS”s.
My question, although redundant, still remains… Why would I choose a proprietary system, when there are so many free and open source – yet supported – solutions?
Keep up the good work!
Building your own CMS is a difficult but very rewarding process.
Congrats!
Hey, nice to see other people are building these too. I”ve just release a meta-CMS called *lightning. Right now it is in beta. You can check it out here: http://www.flossaway.com/asd/single_entry.php?id=40