Chronicles of a CMS
Have you ever developed from beginning to end a Content management system? This is where I tell my story of the development of a CMS system for BenMeadowcroft.com. These articles will lead you through the steps I took, and you can laugh as I fall into seemingly obvious pitfalls so get ready.
So what is a CMS?
As the Ronseal advert says "It does exactly what it says on the tin", A content management system is basically just that, a system for managing content. A CMS can take a few forms from basic document processing to fully featured multi-media distribution. It would be helpful to define the scope for the CMS which I am developing and also to explain what it will not be doing.
OK, I admit it I'm not a CMS Virgin.
Yes it's true I have done custom CMS solutions before, these included a fairly full featured intranet application for the Art & Design department of a local University.
A few features of my last CMS.
- Multiple users with various privilege levels
- Advanced page editing capabilities
- Easy linking of related information
- Advanced searching of user created pages
So why don't I just copy the code for that site and use it on my page? Well for a start I did that site at work, which means that technically the code is the copyright of the company I work for, Steam & Speed, besides that would be a bit unadventurous.
The Project begins
If you came here looking for a fully featured CMS to download you've come to the wrong place this is the jumping off point for a project that is very much in development.
Project Scope
What am I going to include in this project then? In addition to some of the functionality outlined above a few more features
- Accessible and valid!
- Support the current "channels" of the site.
- RSS feeds of the various channels
- Commenting facility
- Advanced templating features
- Kick Ass CSS integration
- Automated creation of these damned abbreviations and acronyms!
- Holistic Hypertext (hopefully)
- Further cool stuff
Target System
This is not YAPCMS as there are plenty of them around. I am targeting an ASP.net setup with this gear. Here are the system requirements.
- ASP.NET
- Database, I'll be using SQLserver but should be database neutral to a large extent
Why ASP.NET? Well my last CMS was in PHP and I fancied a change! Seriously though It gives me a good excuse to increase my current skill set and learn a new language C#.
What can I expect in the near future?
Well this page, will continue to be added upon and additional pages added to describe the "proper" requirements and detailed design et al. The roadmap I have for the near future is developing the CMS around my blog initially and then rolling it out to include the other channels of content on this site, namely my articles and reports. To this end I've got to design a flexible and extensible framework, I don't want to be bolting bits on as ugly hacks at a later date.