Websites/CMS

= CMS =

This page is for a living discussion of our CMS needs and options.

Requirements
These are mandatory requirements. None of the items on this list should be considered optional.


 * 1) Must be built entirely with FOSS technology
 * 2) Must be packaged in Fedora Extras prior to implementation

Wishlist
These are strongly desired of our chosen solution. They may not be mandatory, but strong preference will be given to the candidates that meet most of these items.


 * 1) Written in Python
 * 2) * Our existing tool set and much of the web applications we are currently using are written in Python. Python seems to provide a security advantage.  Much of our talent pool is capable of working on a Python solution.  A Python-based solution would be easier to maintain and would get more confidence from our admins.
 * 3) Can do XML magic
 * 4) *W e want to use XML as our single-source and build from there. This means the CMS should be able to run XSLT processing operations, and so forth.
 * 5) Can integrate with the Wiki
 * 6) * We expect that the Wiki is going to be an editor of choice for many for some time to come. We need seamless backend and frontend operations for moving content to and from the CMS and the Wiki.

Zope 3
Zope 3 is the successor to Zope 2. As this represents the future of the Zope platform, it would be a more future-proof approach for us to target this newer platform.

Cons

 * Zope 3 is not completely backwards-compatible with Zope 2, and many Zope 2 Products would be unavailable on a Zope 3 solution.

More

 * http://www.zope.org/

Zope 2 + Plone
Zope 2 is a highly-developed content management framework. Plone adds to this an advanced CMS interface. The combination of the two would give us a powerful, extensible, and easy-to-use system for managing the website.

Features

 * Provides a full CMS solution in Python
 * Has both an advanced WYSIWYG editor and a raw HTML editor, which can be mixed even within a session
 * Is capable of storing, managing and presenting other forms of media
 * Each of Zope and Plone support extensions (called 'products') that can add a huge variety of additional features

Pros

 * Covers many of our present needs in a Python solution, and can easily be extended to serve additional needs
 * As a Python solution, we have better chances of integrating with some of our existing technologies
 * Both Zope 2 and Plone are already packaged in Fedora Extras

Cons

 * Zope administration has a bit of a learning curve (Plone is easy for end-users to work with)
 * Zope 2's successor, Zope 3, is already on the horizon

If we commit to using this combination now, we may have to deal with a migration after Zope 3 is complete and Plone for Zope 3 becomes available.

More

 * http://www.zope.org/
 * http://www.plone.org/

Drupal
Drupal is a powerful and feature-packed CMS solution written in PHP. It has been frequently recommended for its extensive feature set.

Pros

 * Provides and extensive feature set, fulfulling many of our needs

Cons

 * Written in PHP, not Python, security is a big concern, as is maintenance

Demos

 * OpenSourceCMS

More

 * http://www.drupal.org/

Cons

 * Very immature
 * Sparse documentation

More

 * http://www.pylucid.org/

Features
An extremely flexible solution due to the complete control of the final product.

Pros

 * Full control

Cons

 * Requires time to build