Code

Opened 5 years ago

Closed 4 years ago

#11982 closed (wontfix)

Integrate Reversion as a Django contrib app

Reported by: etianen 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: UI/UX:

Description

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.

Attachments (0)

Change History (6)

comment:1 Changed 5 years ago by etianen

  • Cc david@… added
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

comment:2 Changed 5 years ago by etianen

  • Summary changed from Model version control contrib app to Integrate Reversion as a Django contrib app

comment:3 Changed 5 years ago by etianen

The project homepage is here:

http://code.google.com/p/django-reversion/

comment:4 Changed 5 years ago by andybak

  • Cc andy@… added

comment:5 Changed 5 years ago by ubernostrum

  • milestone 1.2 deleted

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 4 years ago by russellm

  • Resolution set to wontfix
  • Status changed from new to closed

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.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.