Question

Suppose there is a new CMS coming out and you can choose and rate features to have there. Choose 5 of them. 1st place is for the most important ones, last place is for not so much important ones.

  • In-place edit (no admin panel)
  • Global content version control (articles, blog entries, any module content items, etc)
  • Single-page application as an outcome (no reloading pages, pure ajax/web-sockets)
  • Easy extensibility (inversion of control, in-production module compiling and installing)
  • Simple concept for non-IT people to understand easily
  • Import/export of all sites data (including 3rd party modules)
  • Any DB support (MSSql, MySQL, PostgreSQL, SQL CE...)
  • Easy templating system (logicless templates, such as dust.js)
  • System-level web-sockets support (services, data transferring between browser and server, real-time data pushing from the server)
  • Significant amount of prebuilt modules and features
  • Being open source rather than paid (even though quality could be lower)
  • I'd rather pay for it (a reasonable amount of money) but have it bug-free, fully-tested and fully-supported
  • To have the ability to buy CMS as SaaS

  • Anything you have to add :)

Really appreciate your feedback!

Was it helpful?

Solution

A very important, but missing point is that the CMS should not only be a web CMS, but a general-purpose one (ECMS, or enterprise content management system) - in which I have the ability to define my own content types and their relationships.

In my opinion, multiple database engine support is not relevant, as long as it supports a well-known and maintained database engine that makes sense for the technology stack.

For me, the following are very important:

  • High performance - not only the performance, but a well-documented way to benchmark the product against other CMSes is very important.
  • REST API - nowadays you can't afford to build a system without the capability to interact with external components in some way, and a REST API is a very elegant way to solve this problem. It is also useful because you can call it from client-side scripts in the browser.
  • Customizable UI framework (or, in other words, completely replacible) - Developers using the CMS should be able to completely replace the default UI and roll their own, or maybe even combine their own with the built-in options.
  • Well-defined extensibility points - Every layer of the software should be customizable with well-documented ways to extend the default functionality.
  • Decoupled design - The lower layer of the CMS (usually called a Content Repository) should be a usable product on its own, meaning that it should work with other applications and custom user interfaces.

Here is a good article about decoupling content management and why the approach is important: http://bergie.iki.fi/blog/decoupling_content_management/

For further reading I would also recommend the book called Content Management Bible by Bob Boiko.

OTHER TIPS

I would like structure my answer in a different way.

Must have

There are some features that are required without discussion of relevance (IMHO). Like DB-Support, versioning and backup strategy.

Reflected in your

  • Global content version control (articles, blog entries, any module content items, etc)
  • Any DB support (MSSql, MySQL, PostgreSQL, SQL CE...)

Maintenace

You should think about maintaining your system. Which technology stack is used? Are you able to maintain it? Are you familar with the programming language? Can you get professional help for you system in case of trouble or overload?

Easy to use

It should be simple in administration (setup, update, backup) and easy to use for the editors using it to create content.

That summarizes your points:

  • Simple concept for non-IT people to understand easily
  • Easy templating system (logicless templates, such as dust.js)
  • In-place edit (no admin panel)

Easy to extend

It should be simple to add features, to configure it and to customize it.

This summarizes your points:

  • Easy extensibility (inversion of control, in-production module compiling and installing)

And I would add:

  • A powerfull workflow compontent where you can implement your own workflow modules.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top