We think our datastore must maintain version information and provide rollback functionality.
One of the major requirements of the first application we’re planning to build on our generic datastore service is that it have wiki-like contribution and revision capabilities. To do this, we’ll need some kind of robust version control in our datastore component. So far we’ve spent a good few hours working through this and came up with a proposed solution which involves implementing a versioning layer which sits on top of Spiral.
Basically we’re talking about a vocabulary for describing the deltas between versions of a resource description and calling it ChangeSet.
What does the interface to ChangeSet look like?
* Add(Statement)
* Remove(Statement)
* Apply
* Undo
I can see how Apply & Undo will operate and I think I can see how a DomainObject Mapper will create a new ChangeSet object to push updates to the underlying TripleStore.
License
This work is published under a Creative Commons Attribution-Share Alike 2.5 License.
