Code

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.

THIS PAGE IS DEPRECATED, please look at djangoprojects CMS grid comparison http://djangopackages.com/grids/g/cms/!


Features currently evaluated
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-simplecms feincms PyLucid v0.9 Miramar Ella LFC Mezzanine Merengue
Maturity Mature ? More that 80% test coverage stable ? v1.1.0 stable stable Pre-Alpha Production ready Beta Production ready Production ready
Author(s) Django authors James Punteney Batiste Bieler
Jannis Leidel
Antoni Aloy López
Benjamin Wohlwend
poweredbypenguins
Brian Morgan
Patrick Lauber
Jonas Obrist
Chris Glass
Stefan Foulis
Øyvind Saltvik
Eric Robitaille
Thomas Steinacher
and 150 others
Eric Simorre Matthias Kestenholz, Martin J. Laubach, Chris Adams and others Jens Diemer and others The Cuba Libre Project / jag Centrum Holdings
Honza Král
Jakub Vysoký
& others
Kai Diefenbach et al. Stephen McDonald
Lex Hider
Several authors
demo no no yes yes only view no yes ? tutorial only yes yes yes
editor no YUI jQuery-based
wymeditor
markitup-Markdown
markitup-HTML
TinyMCE
EditArea
TinyMCE,
WYMEditor
Anything you want
no TinyMCE / anything you want plain html code textarea / jwysiwyg / Markup: creole, Textile, Markdown, ReStructuredText ? jQuery-based tinyMCE TinyMCE TinyMCE
img no no? yes yes no yes no ? yes yes yes yes
i18n no no yes yes no yes yes ? no yes Per site only using Django i18n yes
depth 2 ? ∞*
i18n
URL
no no yes* yes no yes no ? yes* no no yes*
prefix no no yes yes no yes yes ? no yes no no
edit
in-place
no yes? yes yes no yes yes ? no no yes yes
rearr no no? yes yes no yes no ? no no yes yes
slug-dups yes (URL-based) yes (URL-based) yes yes ? yes yes (but not on the same level) ? yes yes (but not on the same level) yes (but not on the same level) yes*
scheduled no no yes yes no yes no ? yes* yes yes yes*
extend-navigation no no yes yes no yes yes ? yes yes yes yes*
plugins no no kind of yes no everything is yes ? yes yes yes yes*
reversion no no yes yes no yes yes ? ? no (planned) no no (planned)
hierarchy-permissions no ? yes yes ? yes yes ? yes yes no yes
reorderable-blocks no ? no yes ? yes no ? no yes yes yes
generic-admin-tools no / unmodified admin no no yes no yes no ? yes no yes yes
roles no no yes yes no no no ? yes yes no yes
publisher no no yes yes no yes no ? yes yes no yes
south no no yes yes no no no ? yes Provides migration command yes yes
Licence BSD BSD BSD BSD BSD BSD GPL v3 GPL v3 BSD BSD BSD LGPL
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

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
  • add tree building method (eg. mptt / parent_id) for performance comparison
  • add column regarding scaling - how easy is to use them on 500+ pages sites (ex: dropdowns)
  • add JS table filtering, something like http://www.picnet.com.au/picnet_table_filter.html (or other)
  • add column for speed (benchmarks?)
Last modified 4 months ago Last modified on 12/11/13 06:10:39