Django CMS Apps Comparison
This page lists a few well-known reusable Content Management System applications for Django and tries to gather a comparison of essential features in those applications.
| Feature | Description |
| demo | If the application has a public demo site, a link and login/password are given. |
| editor | Support for WYSIWYG editor(s) and/or markup formats |
| img | Image uploading integrated to page editing |
| i18n | Support for multi-lingual content (versions of pages in different languages) |
| depth | Maximum depth of page hierarchy |
| i18n-URL | URLs (page slugs) can be translated |
| prefix | URL language prefix support (e.g. /de/page1/) |
| edit-in-place | Support for editing page content in-line (as opposed to only in the Django admin) |
| rearr | Visual rearranging of page hierarchy (as opposed to entering index numbers) |
| slug-dups | Page slugs need not be unique unless pages are under the same parent and in the same language |
| scheduled | Scheduled publishing and hiding of pages |
| extend-navigation | The navigation can be extended by 3rd-party apps |
| plugins | The content of the pages can be easily extended by 3rd-party apps |
| reversion | Django-reversion integration or version control |
| hierarchy-permissions | Users can be restricted to edit only some part of the tree |
| reorderable-blocks | Page content consists of several blocks of (optionally) different types which can be visually reordered. |
| generic-admin | Are the Django admin modifications usable only inside the CMS application itself, or can they be used for other models too? |
| roles | Can users have roles? Admin, Editor, Publisher |
| publisher | Can content be edited without being published to the live site immediately? |
| south | Support for django-south or an other DB migration tool |
| Application | django.contrib.flatpages | django-simplepages | django-page-cms | django-cms | django-cms-2.0 | django-simplecms | feincms | PyLucid v0.9 | Miramar | Ella |
|---|---|---|---|---|---|---|---|---|---|---|
| Maturity | Mature | ? | More that 80% test coverage | ? | 2.0.2 stable 2.1 alpha |
? | ? | v0.8.x stable v0.9 alpha |
Pre-Alpha | Production ready |
| Author(s) | Django authors | James Punteney |
Batiste Bieler Jannis Leidel Antoni Aloy López Benjamin Wohlwend poweredbypenguins Brian Morgan |
Thomas Steinacher |
Patrick Lauber django-page-cms authors (before forking) |
Eric Simorre | Matthias Kestenholz, Daniel Renz, Martin J. Laubach and others | Jens Diemer and others | The Cuba Libre Project / jag | Centrum Holdings Honza Král Jakub Vysoký & others |
| demo | no | no | yes | yes | tour | only view | no | yes (v0.9 alpha) | ? | tutorial only |
| editor | no | YUI | jQuery-based wymeditor markitup-Markdown markitup-HTML TinyMCE EditArea |
TinyMCE, Markdown |
wymeditor / Semantic editor / django-tinymce / anything you want | no | TinyMCE / anything you want | plain html code textarea / TinyMCE / Markup: creole, Textile, Markdown, ReStructuredText | ? | jQuery-based |
| img | no | no? | yes | no? | yes | no | yes | ? | ? | yes |
| i18n | no | no | yes | yes | yes | no | yes | yes | ? | no |
| depth | ∞ | 2 | ∞ | ∞ | ∞ | ∞? | ∞ | ∞ | ? | ∞* |
| i18n URL | no | no | yes* | yes | yes | no | yes | no | ? | yes* |
| prefix | no | no | yes | yes | yes | no | yes | yes | ? | no |
| edit in-place | no | yes? | yes | no | yes | no | yes | yes | ? | no |
| rearr | no | no? | yes | yes | yes | no | yes | no | ? | no |
| slug-dups | yes (URL-based) | yes (URL-based) | yes | yes | yes | ? | yes | yes (but not on the same level) | ? | yes |
| scheduled | no | no | yes | yes | yes | no | yes | no | ? | yes* |
| extend-navigation | no | no | yes | kind of | yes | no | yes | yes | ? | yes |
| plugins | no | no | kind of | kind of | yes | no | everything is | yes | ? | yes |
| reversion | no | no | yes | no | yes | no | no | yes | ? | ? |
| hierarchy-permissions | no | ? | yes | no | yes | ? | yes | yes | ? | yes |
| reorderable-blocks | no | ? | no | no | yes | ? | yes | no | ? | no |
| generic-admin-tools | no / unmodified admin | no | no | no | no | no | yes | no | ? | yes |
| roles | no | no | yes | no | yes | no | no | no | ? | yes |
| publisher | no | no | yes | no | yes | no | yes | no | ? | yes |
| south | no | no | yes | no | yes | no | no | no | ? | yes |
| Column headings and * symbols reveal verbose descriptions when the mouse pointer hovers over them. | ||||||||||
This page was originally created by akaihola.
Most of my conclusions about supported features are based on reading the code, not on actually testing the apps. Please make corrections in case I missed something.
Comments
- a ready-baked CMS might not be the best solution for you -akaihola
To do
Ideas for making this page better:
- add column for supported Django versions/revisions/branches
- add column for drag and drop based rearrange
- django-blocks to be tested
- add proper documentation to the list of evaluated features
Links
- other resources for finding and evaluating re-usable apps
- similar comparison for forum apps
