Proper version control is much needed, and I'm very much looking forward to this. Just a couple of comments/questions:
- Are you supposed to check out a resource before you can edit it, or is checking out only to lock the version from editing by others? Checking out to be able to edit something would in my opinion be an unessecary step.
- I notice that comparing versions is optional in the vision statement. I think this should be mandatory, it's a very important feature. Of course the version service can't know how to make diffs, so this has to be implemented by the objects themselves, but the interface for this needs to be there.
- If a version is locked, it should still be possible to make a new version and edit that version. It may be necessary to make small changes in a published document while some larger revision is taken place. Therefore locking must only be done on versions and not for the whole resource. You probably have this in mind already, but I didn't see it in the documents so I just wanted to mention it.
- In what way (if any) have you thought about integration with workflow? It should be possible to make sure that a resource that are in a particular workflow state (like published or archived) should no be allowed to be edited.
- In most cases new versions should be created automatically when saving changes to a resource where changes are not allowed, like for a locked version or a version that is published, but maybe this shouldn't be default? I guess it is always possible to create a new version and save it programatically when saving isn't allowed...
- dhart (Mar 13, 2003 3:08 am; Comment #1) Editor Remark Requested
- This is a great proposal. Where can I find a more current discussion on the versioning idea?