Building a content management system with ASP.NET MVC
January 23, 2011This is the introductory post in a series documenting my development and implementation of a content management system (CMS) built on the ASP.NET MVC platform.
Background
At my day job I administer and support a content management system that sucks. It’s not all the vendor’s fault. Like any “use this for all of your needs” software package, we’re buried by the weight of countless features we never wanted and will never use. On top of this, we’re stuck following the technology and architectural directions of the platform which limits our flexibility (and in most cases, is counter to our preferences).
What do I want? I just want a system that allows content editors to edit copy on the website without having to call up an expensive developer to edit the typo on the “about us” page. That’s all.
Feature-less, not feature-rich.
Restrictive, but based on our chosen restrictions, not a vendor’s.
Light-weight, clean, simple.
So I’m going to build one
I’m in over my head, I know. CMS platforms are hard. There’s a reason everyone hates them. But over the next several months, I’m going to build one, use it on my own website, and blog about various features and aspects of the system.
It won’t be for you. It will be based entirely on my decisions and direction, and from the requirements provided to me from my fictitious customer - who will also be played by me :).
High-level notes and requirements
I’m planning to support the following features (more to be determined later):
- Multi-lingual support
- Url aliasing
- Can be used with Webforms (websites and web apps) or MVC
As I mentioned, this will be a restrictive system. This isn’t a “build your own website” platform that can be created and administered by an end user alone.
- HTML, design, template creation, layout will all be done by the developer
- Textual copy and light formatting (bold, italics, etc) will be managed by the end user
This means that end users will have the ability to edit textual content of existing CMS-based pages and to create new pages off existing templates. New templates, new content areas, or new page layout/design will still require the involvement of a developer.
Posts
Tags: build your own cms, cms
Categories: Content Management, ASP.NET MVC, Application Development
