Chapter 11. Versioning

Versioning is the ability to access multiple historic instances of a file, even if an older instance was replaced with a newer instance. Versioning helps users collaborate more smoothly by allowing them to see a historical record, compare versions, and restore material that was removed. Versioning functionality was originally intended to be part of WebDAV, a legacy that survives in the protocol's name (Web-based Distributed Authoring and Versioning). After a couple years of development work on WebDAV, the working group agreed to postpone versioning in order to more quickly standardize the basic protocol on its own.

WebDAV was seen from the first as a protocol for Web site authoring. Web sites often consist of files of different kinds (source code, text, and images), which are modified by several participants (programmers, writers, designers, and artists). Managing such a Web site well requires sophisticated tools. One of the tools in the typical site management toolbox is versioning, which allows past versions of a resource to be viewed or restored if problems arise.

WebDAV is now used in several complex source management systems as the basis for communication between a source control client (which may be integrated with a software development environment) and a source management server. The source files under management may be the software code used to build any kind of software product, from an operating system to an open-source chat client. Alternatively, the source files may not be software code but a set of files from multiple authors and other content producers. These files could combine to produce a print or multimedia presentation, from a book to a movie. All these source management scenarios require versioning support.

In 1999, the DeltaV Working Group was split off from the WebDAV Working Group so that it could collect the right participants to standardize versioning functionality for WebDAV. Its goal was to produce an RFC specifying the WebDAV extension mechanisms to support versioning [RFC3253], which it did in 2002 when RFC3253 was published. Along the way, goals and scenarios documents were also produced. Even though these documents didn't become standards themselves, they helped guide the working group and document working group decisions of the time. The versioning goals draft [Amsden99] was last updated in 1999 and no attempt was made to standardize or finish it in any way, but still it contains some useful explanations of versioning concepts.

DeltaV became a standard in 2002 [RFC3253]. Systems supporting DeltaV are not yet widely available, which is to be expected at this time with such a substantial specification. The systems that do support or are planning support for DeltaV vary widely in functionality and features, even to the level of basic model characteristics, and there is not yet much interoperability. The richness of functionality and flexibility of its feature set are precisely the characteristics that make it difficult to implement a DeltaV client that can interoperate with more than one server. Instead, client/server pairs (often from the same software vendor) interoperate with each other only, not with clients or servers from other pairs.

Despite the current lack of proven interoperability, several software vendors find it important to support DeltaV. The hope is that with time, the vendors' systems will converge more than they already have and make it possible for generic clients to talk to multiple servers. I consider DeltaV to be a stake in the ground at this point, part standard and part experiment. DeltaV defines a number of features and many of the details of how those features work together. Time will tell which features are implemented together, which features clients use most often, and how these features are combined interoperably.

This chapter and the next cover versioning concepts required for DeltaV and provide an overview of how DeltaV implements those concepts. The DeltaV feature set is described in enough detail to explain what you might be able to expect from a system supporting DeltaV, and figures illustrate the relationships between resources. However, due to lack of time and space, this book does not serve as a complete guide to the DeltaV standard.



WebDAV. Next Generation Collaborative Web Authoring
WebDAV. Next Generation Collaborative Web Authoring
ISBN: 130652083
EAN: N/A
Year: 2003
Pages: 146

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net