﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
11982	Integrate Reversion as a Django contrib app	Dave Hall	nobody	"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.
 1. 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."		closed	Contrib apps	1.1		wontfix		david@… andy@…	Unreviewed	0	0	0	0	0	0
