Recently I have been working on a number of client Drupal installations. Although at first I was not particularly interested in learning Drupal I did appreciate that it is a very popular CMS and that learning the ropes would be no bad thing.
However, the more I work with Drupal the more I begin to realise that the one key weakness Drupal has is managing content. It manages user access, roles and privileges very well and affords considerable site configuration with a vast library of plugins, but I still struggle with Drupal's approach to actually managing content.
So what is 'content'? I would consider 'content' to be the raw text, images and other multimedia artifacts aside from any styling, presentation or usage concerns. Personally I would consider the number one priority of any CMS to be the ability to 'isolate' content from how it might be used. How might content be used? Displayed on a webpage, emailed, downloaded, played or sent to external systems).
An inspection of a typical Drupal installation will often reveal that the way content is stored is far from isolated and is often mashed together with both html and css markup - maybe this is the result of inexperienced developers, but maybe it is also the job of a CMS to ensure this can not happen.
Are content management systems new? Actually, isn't a word processor a simple form of CMS? Modern word processors allow us to create and manage content seperately from the presentation and styling - or rather, there exists mechanisms to manage formatting and styling seperately from the content.
...taking the previous point further - aren't html, css, php and apache already the perfect (ish) ingredients for creating and managing isloated, re-usable and re-purposable content? Maybe I've missed the point to Drupal, but (analogy warning) it feels a bit like asking the car building robots to build other car building robots to build cars instead of just building the cars themselves.
In conclusion, I think it would be a really great improvement to Drupal (and other similar CMS's) to store 'content' in one database, 'content presentation' (website configuration and structure) in another database and the core CMS system somewhere else.
Having a seperated storage strategy would make data and system migration, data management and development processes about a thousand times easier.
Comments
nobody has commented on this post yet, but I'm sure they will!
(sign in to comment)