| Drupal

Do you work with clumsy people? Are you a clumsy person yourself? If so, then Revisions might be the solution for you.

Revisions is a quick and easy way to save a copy of every Drupal content item when you make a change. In reality, Revisions is not only useful for clumsy people but also for organizations that have a lot of content creators and for many government agencies who have record keeping rules to follow.

In this tutorial, we'll give you an introduction to the core Revisions features and then show you some useful extra modules. 

If you want to learn about revisions in WordPress, check out the WordPress revisions guide.

Enabling Revisions

Revisions are enabled per each content type.

  • Go to Structure, then Content types.
  • Click edit next to a content type.
  • Scroll down to Publishing options and check the Create new revision box.
  • Click Save content type.
  • Click Add content and choose the content type you just enabled revisions for.
  • Create a new content item and click Save.
  • Click the Edit tab.
  • Make a change to the content.
  • There will now be a Revision information box at the bottom of the page. The Create new revision box will be checked by default. You can enter a message describing what you changed.
  • Click Save and you'll now see the Revisions tab.
  • Click the Revisions tab.
  • You'll see the previous version of the content, plus your new version.
  • Click revert to go back and use the previous version.


There are some key limitations to the way Drupal handles revisions by default. Perhaps the most important is that you can't easily what was changed in each revision. The solution for that is the Diff module: http://drupal.org/project/diff.

Instal Diff and your Revisions tab will now allow you to select two versions to compare:


Here is how the actual comparison appears on the screen:



Another useful addition feature is the ability to moderate all revisions. Using the Revision module ( http://drupal.org/project/revisioning ) it is possible to put all revisions into "draft" status. By default, this is enabled only for live content on your site, so you can make sure no unwanted changes are published.


Revision All

Revision All is a useful module for site administrators: http://drupal.org/project/revision_all. This allows you to easily force revisions to be used for all current and future content types.

You can also disable the "Create new revision" box so that content creators aren't able to uncheck it and avoid saving a revision.


One Key Limitation

One important limitation with revisions in Drupal 7 is the lack of a way to automatically delete old revisions.

The Revision Deletion module was available for D7 and D6 but hasn't been update for D7: http://drupal.org/project/revision_deletion/.

If you have a large site and end up storing a lot of revisions, you may well need to find a solution for clearing the node_revision table in the database. One possibility, for advanced users, is here: http://drupal.org/sandbox/darthsteven/1468938.

About the author

Steve is the founder of OSTraining. Originally from the UK, he now lives in Sarasota in the USA. Steve's work straddles the line between teaching and web development.