views:

44

answers:

2

Are there any recommended approaches for implementing version control functionality accessible to end users of a business application?

The goal is to create a robust version control system for an application where users modify business objects (rather than text).

I'm not looking for recommendations on version control software for developers (e.g. SVN, Git, etc.), but rather libraries or best practices for exposing version control to end users.

Ideally, I would like to allow concurrent editing with write locking, an undo-redo system (or local commits and reverts), etc.

Has anyone attempted something like this? Are there any (.NET) libraries that would help with this?

+1  A: 

Have a look at CSLA, it's a business object framework which has N-level Undo-Redo support.

Also I'd look at CQRS which can help you keep all the states that a business object went through.

Giorgi
A: 

Don't know of any ready-made libraries, but having a look at the command pattern might be helpful. Here is a starting point.

Doc Brown