Content: Blog


Back in time with django CMS

Paulo Alvarado

Feb. 3, 2017

Your content has a history, and we’re working on a new application to help you manage it.

Until django CMS 3.4, released in September last year, django CMS included support for Django Reversion, an application to manage the history of database content. Using Reversion’s functionality, it was possible to retrieve the past state of a content item, such as a plugin, to compare it with the current version and if necessary to restore it.

First, a little history

However, it became apparent that some users needed revision management functionality that worked differently. This was counter to a guiding principle of django CMS: not to impose ways of  working on users, and to maintain only key functionality in the core of the package. In addition, we also felt that the way it was integrated was rather poor and certainly didn’t represent our own idea of best practices. As sites grew more complex, more issues with it came to light.

In the release of django CMS 3.4, we removed Reversion support (version 3.4 was our first Long-Term Support version, so the window of opportunity for removing functionality was very tight).

That functionality has been spun off into an independent application, django CMS History.

Rewriting history

The first release of django CMS History provides support for only a subset of the full functionality that we envisage for it. In this version, we maintain only the last set of changes for each content item, managed via an Undo/Redo interface.

We expect django CMS History to continue to be developed, adding more sophisticated version management. As a flexible, pluggable solution, it will be a far more useful and valuable component of the django CMS ecosystem than our previous implementation was.

However, its future development will depend on the community. Many thanks are due to the alpha-testers who provided valuable feedback. Now we invite contributions to the project to extend its functionality, and to help determine the scope and implementation of new features built into it.

How to install django CMS History in your project

  • New django CMS projects on Divio Cloud will include django CMS History by default.
  • For existing projects, you can install it as an Addon using the Control Panel.
  • django CMS History is also available on PyPI (pip install djangocms-history) and GitHub


blog comments powered by Disqus

Do you want to test django CMS?

Try django CMS