I have been given the task to asses the feasibility of incorporating an off-the shelf, free content management system (budget constraints!) to essentially replace the static content and perhaps some of the dynamic content too. My manager has shortlisted a selection of CMS packages based what he perceived to be market leaders which includes: Drupal, Joomla! and WordPress. And our final selection of probables includes these three leasers and also eZpublish. My manager cites the source of this information as cmscritic.com.
Neither myself or my manager have a massive amount of experience with free CMS systems, however I have had to use Wordpress in the past; and from my little experience, doubts arise when thinking about having to maintain custom versions of these CMS packages. I'm also concerned about over/undershooting the mark so far as requirements go.
Our main motivations are to reduce the amount of changes in our weekly releases, and also to push content responsibility to the people who actually want the changes (and make the time consuming mistakes that our development team has to rush to fix). The system will have to integrate in to our current legacy PHP scripts, so there will probably need to be a mix of dynamic CMS pages along with our already dynamic "customer account" related pages.
I would like to know if there are any obvious choices we have failed to include in our short-list and if there is any slash-doters here that have fallen in to similar circumstances and can offer any sage advice?
We have already attempted to trim a little fat and our list of essential (must-have) features includes:
* Document Management (aka Versioning): The Cms maintains a version history and audit trail for all content.
* Content Virtualization (aka Sandbox): Content providers can view the final results of their changes without having to publish and without affecting other users who may also be making similar changes.
* Searchable Content Back-end: Content providers and administrators can search the content repository.
* Shopping Cart
* Support for small screen devices
* Meta-tag Support: Setting up page titles, descriptions & keyword tags is a user interface operation, not coding.
* Wysiwyg Content Editor: The integrated editor, if it exists, does not display mark-up tags.
* Rtf/.doc support (aka Word import): Content can be created/edited in Microsoft Word and imported into the Cms.
* Workflow/Event Messaging (aka Content Approval): Before an item of content can be published it must pass through a series of pre-defined steps. At each step the system will notify those responsible for progressing the work.
* Role-based permissioning (aka Granular Privileges): Content providers can be allocated roles (eg. author, reviewer, editor) and the functionality available to them is constrained by the role under which they have logged in.
* Browser-based Content Provider UI
* Browser-based Administration UI
* Expandability (aka plug-ins)
* Integrates with non-Cms applications i.e. a logical separation of Cms controlled files and those of other applications
* Ldap Integration
* Adherence to Web Standards
* Cheap (aka Open Source)
We also are looking specifically at LAMP infrastructure to save too much re-skilling of our development team (but we remain open minded).