DeltaV extends the WebDAV data model to include versioning concepts. DeltaV adds a number of new methods and many new live properties to WebDAV. The core components of any DeltaV system are regular resources together with VCRs and versions. A version-controlled resource or VCR is any resource that is associated with a version history and that may be checked out, edited, and checked in again to create a new version. A version is an unchanging snapshot of a VCR. A new version is created whenever the VCR is checked in. CHECKOUT, CHECKIN, and UNCHECKOUT give the client control over when to create new versions. CHECKOUT puts a resource in the checked-out state. The checked-out property marks the resource that is checked out. A checked-out VCR may be changed as often as desired during the checkout. CHECKIN releases the checkout and makes a single new version, the successor to the previous version. A VCR that is not checked out has the checked-in property. UNCHECKOUT releases the checkout and does not make a new version, discarding changes if necessary. Some features are optional for servers, but a different set of features is optional for clients. Clients must understand version trees, including forks and merges. Clients should also recognize when a resource is checked out or checked in. The UPDATE, version history, and working resource features are optional for both client and server. |