2.1.1. 2.2 release notes (IN DEVELOPMENT)

2.1.1.1. What’s new in 2.2

2.1.1.1.1. django-mptt now a proper dependency

django-mptt is now used as a proper dependency and is no longer shipped with the django CMS. This solves the version conflict issues many people had when trying to use the django CMS together with other Django apps that require django-mptt. django CMS 2.2 requires django-mptt 0.4.2 or higher.

Warning

Please remove the old mptt package from your Python site-packages directory before upgrading. The setup.py file will install the django-mptt package as an external dependency!

2.1.1.1.2. Django 1.3 support

The django CMS 2.2 supports both Django 1.2.5 and Django 1.3.

2.1.1.1.3. View permissions

You can now give view permissions for django CMS pages to groups and users.

2.1.1.2. Backwards incompatible changes

2.1.1.2.1. django-sekizai instead of PluginMedia

Due to the sorry state of the old plugin media framework, it has been dropped in favor of the more stable and more flexible django-sekizai, which is a new dependency for the django CMS 2.2.

The following methods and properties of cms.plugins_base.CMSPluginBase are affected:

  • cms.plugins_base.CMSPluginBase.PluginMedia
  • cms.plugins_base.CMSPluginBase.pluginmedia
  • cms.plugins_base.CMSPluginBase.get_plugin_media()

Accessing those attribtues or methods will raise a cms.exceptions.Deprecated error.

The cms.middleware.media.PlaceholderMediaMiddleware middleware was also removed in this process and is therefore no longer required, however you now require to have the 'sekizai.context_processors.sekizai' context processor in your :setting:`django:TEMPLATE_CONTEXT_PROCESSORS` setting.

All templates in :setting:`CMS_TEMPLATES` must contain at least the js and css sekizai namespaces.

Please refer to the documentation on Handling media in custom CMS plugins and the django-sekizai documentation for more information.

2.1.1.2.2. Toolbar must be enabled explicitly in templates

The toolbar no longer hacks itself into responses in the middleware, but rather has to be enabled explictely using the {% cms_toolbar %} template tag from the cms_tags template tag library in your templates. The template tag should be placed somewhere within the body of the HTML (within <body>...</body>).

This solves issues people where having with the toolbar showing up in places it shouldn’t.

2.1.1.2.3. Static files moved to /static/

The static files (css/javascript/images) were moved to from /media/ to /static/ to work with the new django.contrib.staticfiles app in Django 1.3. This means you will have to make sure you serve static files as well as media files on your server.

2.1.1.3. Features deprecated in 2.2

2.1.1.3.1. django-dbgettext support

The django-dbgettext support has been fully dropped in 2.2 in favor of the built-in mechanisms to achieve multilinguality.