Content: Blog


django CMS 3.0 released!

Patrick Lauber

April 8, 2014


Finally, after a year of development and over 3000 commits since version 2.4.3, we are releasing the best django CMS ever.

Today we are releasing django CMS 3.0 final.

Props go out to all the 390 people that helped bring django CMS this far.

What are the highlights of 3.0?

  • complete overhaul of the frontend editing, making it possible to edit the whole page without recourse to the backend
  • a new, customisable, toolbar that your apps or plugins can access to enable even more functionality
  • undo and redo functionality for all pages
  • publishing is now language independent
  • copying and pasting of plugins or whole placeholders is now available
  • save any page as reusable page type with pre-filled plugins and content
  • speed improvements
  • new editing modes: content mode (editing content of plugins) and structure mode (for managing the plugin tree structure)
  • full support of plugins within plugins with drag & drop
  • use placeholders in any template with static_placeholders
  • customise the page model with page extensions
  • frontend editing of your own models, the same way you edit plugins
  • all plugins have been removed from core; they live now their seperate lives on GitHub
  • switched from wymeditor/tinymce to ckeditor for our default text editor
  • a new django admin theme called djangocms-admin-style
  • an installer to get you up and running in minutes
  • a new tutorial 
  • django 1.6 and custom user models support

Give 3.0 a testdrive:

Quick Upgrade Guide:

Full Upgrade Guide:

Try out the new django CMS Installer (still beta):


$ pip install --upgrade virtualenv
$ virtualenv env
$ source env/bin/activate
(env) $ pip install djangocms-installer
(env) $ djangocms -p . my_demo

Go through the new tutorial:

Check Transifex to make sure your language is fully translated:

Here is the full CHANGELOG:

  • plugins are only editable in frontend
  • PluginEditor has been removed in backend
  • new frontend editing
  • new Toolbar
  • plugin API for creating new plugins and moving has changed
  • render_to_response replaced with TemplateResponse in cms.views
  • CMS_SEO_FIELDS removed and seo fields better integrated
  • meta_keywords field removed as not relevant anymore
  • CMS_MENU_TITLE_OVERWRITE default changed to True
  • Toolbar has language switcher built in
  • user settings module added for saving the user's language; after switching languages the toolbar/interface retain's the user's preferred language
  • language_chooser templatetag now only displays public languages, even when you are logged in as staff
  • undo and redo functionality added in toolbar if django-reversion is installed
  • page admin split in to 3 different for basic, advanced and permissions
  • new show_editable_page_title templatetag to edit page title from the frontend
  • removed CMS_URL_OVERWRITE setting; always enabled
  • removed CMS_MENU_TITLE_OVERWRITE settings; always enabled
  • removed CMS_REDIRECTS; always enabled
  • removed CMS_SOFTROOT; always enabled
  • removed CMS_SHOW_START_DATE; always enabled
  • removed CMS_SHOW_END_DATE; always enabled
  • added (optional) language fallback for placeholders
  • moved apphooks from title to page model so we need to add them only once
  • request.current_app has been removed
  • added a namespace field, reverse_id is not used anymore for apphook namespaces
  • PlaceholderAdmin is deprecated and available as mixin class renamed to PlaceholderAdminMixin
  • PlaceholderAdmin does not have LanguageTabs anymore; it only has a PluginAPI now.
  • PageAdmin uses the same Plugin API as PlaceholderAdmin
  • Toolbar API for your own apps added
  • Twitter plugin removed
  • file plugin removed
  • flash plugin removed
  • googlemap plugin removed
  • inherit plugin removed
  • picture plugin removed
  • teaser plugin removed
  • video plugin removed
  • link plugin removed
  • snippet plugin removed
  • object level permission support for Placeholder
  • configuration for plugin custom modules and labels in the toolbar UI
  • added copy-lang subcommand to copy content between languages
  • added static_placeholder templatetag
  • moved render_placeholder from placeholder_tags to cms_tags
  • django 1.6 support added
  • frontend editor for Django models
  • extended the page & title model API
  • placeholders can be configured to have plugins automatically added
  • publishing is now language independent and the tree-view has been updated to reflect this
  • removed the plugin DB-name magic and added a compatibility layer - urls_need_reloading signal added when an apphook change is detected
  • CMS_PAGE_CACHE, CMS_PLACEHOLDER_CACHE and CMS_PLUGIN_CACHE settings and functionality added; default is True
  • detect admin object creation and changes via toolbar and redirect to them
  • added support for custom user models
  • added PageTypes
  • added option to {% static_placeholder %} to render only on the current site 


New release cycle

For the 3.0.x releases we will try to have a monthly release cycle.
blog comments powered by Disqus

Do you want to test django CMS?

Try django CMS