Content Management Systems
A content management system (CMS) might be simply defined as a system which supports the publishing or sharing, editing or manipulation, searching and indexing, archival or versioning of content, frequently documents, typically using Web technologies. A more extensive definition can be found in the [http://en.wikipedia.org/wiki/Content_management_system Wikipedia topic entry].
In plainer terms, content management systems are the applications used to manage Web sites where the writers, editors and users are able to upload, edit and manage content without needing to know too many of the technical details about how the site actually works.
Python-based products, although in the minority in the larger market of CMSs, possess several inherent advantages. Python's ["Unicode"] capabilities, for example, make its derived products particularly popular in continental Europe and Asia, as compared to those based on PHP, Ruby, and so on.
The most established Python-based content management systems are those derived from ["Zope"], notably [http://www.plone.org Plone], [http://www.cps-project.org Nuxeo CPS] and [http://www.infrae.com/products/silva Silva]. These solutions have been used in large scale and high profile deployments over a number of years, and a range of organisations provide support and services for those solutions.
For those wanting non-Zope CMS solutions, there are a few options which may provide at least some of the features found in the more established solutions mentioned above, and the solutions mentioned below may be targeted more towards developers than individuals or organisations wishing to immediately deploy a complete and working solution.
[http://sourceforge.net/projects/peo/ BAOW] is a lightweight content management system based on SQL database (Firebird/InterBase, MySQL, PostgreSQL, SQLite). v1.1 released: 2005-07-07
[http://www.djangoproject.com/ Django] offers elementary support for content management (and was initially derived from the lower levels of a commercial content management system).
[http://www.ikaaro.org/ikaaro ikaaro] offers content management functionality.
[http://www.vimeo.com/1098656 KPAX] is a complete CMS solution based on [http://www.web2py.com web2py]. It provides wikis, blogs, news, rss feeds, surveys, assignments, web pages, versioning, group based roles, Central Authentication System, upload and downloading media streaming, embedded media player, wysiwyg editor, ajax search, customizable templates. Works with SQLite, MySQL, PostgreSQL, Oracle or MSSQL. Can be downloaded from the web2py [http://mdp.cti.depaul.edu/appliances/default/show/37 appliances repository]
[http://leonardo.pyworks.org/ Leonardo] extensible content management system, architected in a REST-like style. Initially focused on providing for personal websites with a password-protected wiki and blog (including Atom feed). It can be run as CGI and uses the filesystem as a database. v0.7.0 released: 2006-03-09
[http://orangoo.com/skeletonz/ Skeletonz] is simple, powerful, extensible, reliable. Has been in development since October 2005. Ajax based editor with spell checking & UTF-8 support. High performance: best result is around 600 request/sec. Open source, GNU GPL.
[http://cvs.sourceforge.net/viewcvs.py/webware-sandbox/Sandbox/fbar/teeny_tiny_cms/ teeny_tiny_cms] runs on ["Webware"] and uses SQLObject, SQLite and Docutils.
Despite their simple beginnings, many wiki solutions offer many of the capabilities listed above. Numerous wiki projects have been written in Python. The following are the most widely deployed:
MoinMoin is the solution used to publish and manage the information on this page!
[http://trac.edgewall.org/ Trac] provides a wiki within a larger solution for the management of software projects and project information -- bug tracking, source browsing, and so on.
See a more complete list of wiki solutions on the PythonWikiEngines page.
The above lists should be arranged in ascending alphabetical order - please respect this when adding new solutions. When specifying release dates please use the format YYYY-MM-DD.