Opened 11 years ago

Closed 11 years ago

#11982 closed (wontfix)

Integrate Reversion as a Django contrib app

Reported by: Dave Hall Owned by: nobody
Component: Contrib apps Version: 1.1
Severity: Keywords:
Cc: david@…, andy@… Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Reversion is a popular application that adds version control to model data. It's project page describes its features as follows:

  • Roll back to any point in a model's history - an unlimited undo facility!
  • Recover deleted models - never lose data again!
  • Admin integration for maximum usability.
  • Group related changes into revisions that can be rolled back in a single transaction.
  • Automatically save a new version whenever your model changes using Django's flexible signalling framework.
  • Automate your revision management with easy-to-use middleware.

The project has been running since September 2008, and has been through a number of release cycles that improve stability and add features.

I believe that this project would make an excellent addition to the Django contrib applications. This would allow a wider range of users to make use of its features, as well as improving the integration with the Django admin application.

There are two possible approaches to integrate Reversion with the existing admin application:

  1. The Reversion application defines a VersionAdmin class (extending ModelAdmin) that acts as a base class for all models that require admin integration.
  2. The ModelAdmin class is extended to provide integration with Reversion, and this functionality is enabled using a versioning = True property of the ModelAdmin class.

I suspect that, in the interests of backwards-compatibility, the former of these approaches would be favored. While this approach could be carried out with no changes to the current ModelAdmin class, the integration could be made cleaner if a couple of extra hooks were added to the ModelAdmin class.

As the owner of the existing Reversion project, I would be happy to create the new contrib application in a branch for integration into the Django 1.2 release.

This feature has a similar remit to the old full-history feature which was abandoned a while ago.

Change History (6)

comment:1 Changed 11 years ago by Dave Hall

Cc: david@… added

comment:2 Changed 11 years ago by Dave Hall

Summary: Model version control contrib appIntegrate Reversion as a Django contrib app

comment:3 Changed 11 years ago by Dave Hall

The project homepage is here:

comment:4 Changed 11 years ago by Andy Baker

Cc: andy@… added

comment:5 Changed 11 years ago by James Bennett

milestone: 1.2

This seems extremely unlikely to happy for Django 1.2. Possibly unlikely to happen ever; there's been some rather convincing discussion lately on whether third-party apps should be landing in contrib at all.

comment:6 Changed 11 years ago by Russell Keith-Magee

Resolution: wontfix
Status: newclosed

I'm going to mark this wontfix. The 1.2 voting indicated this was a very unpopular choice for inclusion in contrib. That doesn't mean it isn't a useful tool - just that if it can live happily as an external app, it should.

Note: See TracTickets for help on using tickets.
Back to Top