Opened 15 years ago
Closed 15 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 |
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:
- The Reversion application defines a VersionAdmin class (extending ModelAdmin) that acts as a base class for all models that require admin integration.
- 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 by , 15 years ago
Cc: | added |
---|
comment:2 by , 15 years ago
Summary: | Model version control contrib app → Integrate Reversion as a Django contrib app |
---|
comment:3 by , 15 years ago
comment:4 by , 15 years ago
Cc: | added |
---|
comment:5 by , 15 years ago
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 by , 15 years ago
Resolution: | → wontfix |
---|---|
Status: | new → 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.
The project homepage is here:
http://code.google.com/p/django-reversion/