15 July 2008

Features of DejaVu project

Well, in this post I will briefly enumerate features of DejaVu:
  • Undo/Redo for operations executed
    You can do any manipulations with your data and then rollback them (Undo) and optionaly do again them (Redo). DejaVu will guarantie data consistency and you can be sure that your data model has completely the same state as required.
  • History of commands
    You can get whole history of commands, to show it to user. Thus, user can select how many commands he want undo or redo.
  • Isolated areas
    There are some cases when changes must be accumulated indepentently. E.g. multi-document application allows undo changes in Document #1 without affecting document 2,3...n. So, DejaVu allows assign one area for each document and manage them independently.
  • User actions log
    You can get log of all actions user done in the application. Its especially useful when you want get a report after application crash: what the actions user done before? what did the commands lead to crash?
  • Recovering application state
    If you get an exception inside a command, DejaVu can help you automatically recover the data state. If you follow recomendations your data will return to consistent state and application will proceed its life.


Anonymous said...

Regarding "isolated areas" - I don't see how to do it, given that UndoRedoManager is static.

The library looks great, and I'm hoping to use it, but it won't suffice for my needs if there's no support for isolated areas.

Am I missing something?


Anonymous said...

Never mind - I had downloaded the code from CodeProject, and it's apparently an old version there.

I've now downloaded the latest from Codeplex, and I see the new UndoRedoArea class.

Great! Thanks very much.