Use case for Django-reversion

80 views
Skip to first unread message

jvc26

unread,
Jan 6, 2013, 3:07:07 PM1/6/13
to django-r...@googlegroups.com
Firstly to say thanks for the great project, it really looks like a solid piece of code. 

I'm starting work on a project which has need for revision storage of some of the models within in, specifically, a 'Post' model, which then will be edited prior to publication by its authors, with commentary from an editorial team. What I was envisaging was a workflow similar to:

Post [v1]
 - Commentary from authors/editors
Post [v2]
 - Commentary ...
Post [v3]
 - Commentary ...

And so forth until publication. What I'm keen to have is a facility to store the revisions, allow commentary attached to them, and to show the changes through time (which might be achievable through the diff generation facility of Django-Reversion). The bodies of the Posts will be formatted in Markdown, and may have images embedded via an Image model, and appropriate tags within the Markdown (performed elsewhere in the app).

What I'm keen to get a better handle on, is this something django-reversion is suited to, or is it better suited to creating reversion histories of models specifically for reversion of these changes, rather than merely as a historical documentation for searching and scrolling through the history of changes to a model? I wouldn't want to end up fighting against the very purpose of reversion when it might be easier to simply start climbing the slightly longer route of rolling my own solution for the above? I couldn't quite gather from my playing with the Django shell, and reading of the docs whether Reversion is a potential tool for the job!

Thanks!

Dave Hall

unread,
Jan 7, 2013, 4:58:55 AM1/7/13
to django-r...@googlegroups.com
Hi,

Sounds like a complex project! You should be aware that diff generation and comparison is a hard UI task to do well.

You could achieve this using reversion by representing the author commentary as custom version meta models. See the Low Level API documentation here:


Whether this is easier than rolling your own solution is hard to say. My own typical stance is to use an open source project only when it exactly matches my use case, and that use case is unlikely to evolve over the course of the project. Thus, in your case, if I were you, I probably wouldn't use reversion, just to keep my options totally flexible for the future.

But then again, I probably suffer from NIH-ism quite a bit.

You can probably use reversion just fine for your current use case. I'll be happy to answer your questions about it too. Final decision is yours! :P

Best,

Dave.


--
You received this message because you are subscribed to the Google Groups "django-reversion discussion group" group.
To view this discussion on the web, visit https://groups.google.com/d/msg/django-reversion/-/achrdpcU_lwJ.
To post to this group, send an email to django-r...@googlegroups.com.
To unsubscribe from this group, send email to django-reversi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-reversion?hl=en-GB.

jvc26

unread,
Feb 19, 2013, 6:59:20 AM2/19/13
to django-r...@googlegroups.com
Hi Dave, thanks for the input, much appreciated, some food for thought!

J
Reply all
Reply to author
Forward
0 new messages