I want to build an app where changes to certain objects would be
undoable and redoable.  The idea is to have those objects managed in a
wiki-like way: any visitor can make a change but there is a permanent
change history and anyone can reverse anyone else's actions.

I am thinking of doing it with a command pattern: instead of making
changes directly, create a instance of an appropriate command class
every time which would support "do", "undo", and "document" methods
(plus store a reference to a user who made the change).   After the
change is applied the command would be stored in the database and the
object itself would be able to return the list of commands applied to
it, so that I could implement a history view with an option of undo
the changes up to a certain command.

Given that Django seems to have a wealth of undocumented features, I
am wondering if there is already something like this, either available
or in the works.  If not, does anyone has suggestion for Django
resources that would be useful for that but might not be obvious to a
newcomer?

  - yuri

--
http://www.freewisdom.org/

Reply via email to