Versioning of resources

JSR-170 supports versioning of resources, and a number of people have requested that Sakai's ContentHostingService and Resources tool offer support for versioning. This page invites comments and suggestions about what form of versioning would be appropriate in Sakai. Please add comments to the "Use Cases for Version Control" page or to this page outlining the features that should be available. Among the questions we will need to answer are:

  • Should we offer access to all versions of the "content" of a resource (the file body)?
  • If metadata about a resource (or folder) changes, should we save the old "version"?
  • Who should be able to access earlier versions of resources? Are there times when access to earlier versions should be offered to all users and other times when only certain users should have access? Should this be a system-wide setting, a site-by-site setting, a resource-by-resource setting?
  • Is there some standard or some implementation of versioning that would provide a "model" for versioning that would be appropriate for Sakai? (Please summarize features and provide links to useful documentation).

The need for version control is discussed in a few JIRA tickets, especially "Resources tool should have the ability to store multiple versions of files in Sakai", which incorporates two others: "Document Versioning" and "Add Versioning Capabilities to ContentHosting, Resources Tool, and WebDav".

Discussion of version control in general and references to specific examples can be found in wikipedia.

Eventually, we will begin working on an implementation of version control. That will require decisions about a user-interface changes to support Versioning and API changes to support Version Control.