Upload
carmel-willis
View
217
Download
0
Embed Size (px)
DESCRIPTION
3 Options CVS: Concurrent Versioning System –http://www.cvshome.orghttp://www.cvshome.org –Currently in use by Apache HTTP Server, Netscape Communicator (Mozilla) WebDAV: WWW Document Authoring and Versioning Protocol (RFC 2518) –http://www.webdav.org/http://www.webdav.org/ –Groups who contributed in development (Microsoft, Netscape, Xerox, IBM, Novell, Oracle, W3C, Boston Univ.,UC Irvine,...) –Currently in use by Internet Explorer 5, Office 2000 suite Delta V: Web Versioning and Configuration Management Protocol –http://www.webdav.org/deltav/http://www.webdav.org/deltav/ –Groups who contributed in development (Microsoft, IBM, Novell, Rational, Merant, DataChannel, Object Technology International, Dynamic Diagrams, UC Irvine,...)
Citation preview
1
Shuaib Karim ([email protected])Institute of Software Technology & Interactive Systems (Vienna University of Technology)
http://www.ifs.tuwien.ac.at/
Collaborative Document Authoring & Versioning(An overview from CVS-SVN-WebDAV to DeltaV)
October 2004
Objective: Study for selection of a suitable content versioning system for our project SemanticLIFE
2
Teams of people at distributed physical locations work on same project and at times, on the same document at the same time.
The crucial issues are:– Provide controlled access to the shared document– Keeping track of changes by multiple users– Merging those changes in a user controlled way– Possibility to undo certain changes– Do Software Configuration Management
3
Options• CVS: Concurrent Versioning System
– http://www.cvshome.org– Currently in use by Apache HTTP Server, Netscape
Communicator (Mozilla)
• WebDAV: WWW Document Authoring and Versioning Protocol (RFC 2518)– http://www.webdav.org/– Groups who contributed in development (Microsoft, Netscape,
Xerox, IBM, Novell, Oracle, W3C, Boston Univ.,UC Irvine,...)– Currently in use by Internet Explorer 5, Office 2000 suite
• Delta V: Web Versioning and Configuration Management Protocol– http://www.webdav.org/deltav/– Groups who contributed in development (Microsoft, IBM, Novell,
Rational, Merant, DataChannel, Object Technology International, Dynamic Diagrams, UC Irvine,...)
4
CVS• Pros:
– Open source– Record the historsy of source file– Possibility to save all the versions– Retrieve old versions– Client / Server protocol– Provides local work spaces to different developers– Possibility to merge the work done by different
developers– cvsweb utility : read-only browsing for cvs version
histories, old revisions, and differences b/w revisions
5
• Cons:– can not build a system (like Makefile) by itself– does not dictate how to use disk space– can not do configuration management– cvs does not help figuring out non-textual or
distributed conflicts in program logic– cvs does not have a change control (bug
tracking, track of change status, tracking multiple file changes at once)
– It is not an automated testing program– does not have a built-in process model– maps only to CVS back-end repositories
6
Subversion Project(an improved CVS functionality)
http://subversion.tigris.org/• Directory versioning• Better concurrency control• Atomic commit• Property support• Improved resource renaming functionality• Data import, export like in DBMS• Better bandwidth utilization (possibility to send diffs in two
directions)• Equally efficient on binary and text files (due to binary diffing algo.)• Time for updates is proportional to changes not the whole project• Choice of DB or flat file backend repositories • Versioning of symbolic links (in unix)• Uses WebDAV/DeltaV for SCM
7
WebDAV Delta V
• Asynchronous collaborative authoring over the Web
DAV/DeltaV server
A
Developer1
Word 2000
Vienna Islamabad
shared document
Developer2 Word 2000
Hanoi
Developer3
Word 2000
DAV/DeltaV DAV/DeltaV
DAV/DeltaV
A A
v1 v2 v3
auto-versioning enabled
8
Protocol functionalities• Extends HTTP by providing a set of open standards
(HTTP 1.1), resulting in following enhancements:– Over-write protection– Properties– Name-space management– Version management– Advanced collections– Access control
The protocol suite includes : DeltaV for versioning, DASL for searching, ACL for access control, WebDAV core for authoring.
9
Implemented ‘Methods‘
HyperText Transfer Protocol (HTTP) 1.1 (RFC 2616, RFC 2617)
GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, CONNECT
WebDAV Distributed Authoring Protocol (RFC 2518) LOCK, UNLOCK, PROPFIND, PROPPATCH, COPY, MOVE, MKCOL
DeltaV Web Versioning and Configuration Management Protocol
CHECKIN, CHECKOUT, UNCHECKOUT, VERSION-CONTROL, REPORT, UPDATE, LABEL, MERGE, MKWORKSPACE, BASELINE-CONTROL, MKACTIVITY
10
Request-Reponse b/w WebDAV client-server
11
WebDAV benefits
• Web resources are edited directly on a Web-server
• Provide the ability to create & list collections, copy & move web resources
• Locking of all types of web resources, eliminating lost-update problem (using long duration whole resource locking)
• Support of storing and retrieving metadata in the form of attribute-value pairs called Properties. Property identifiers point to URL.
• Name of a WebDAV property is a URL
12
WebDAV benefits contd...
• Provision of write-lock, and no read-lock (but might be access controlled)
• Reading inconsistent state value is avoided
• Deadlocks are avoided by using protocol request mechanism
• Mapping to multiple back-end repositories (databases, document management systems, file systems,...)
• Does not use valid XML, but only well-formed XML
13
• Examples:– Microsoft IIS 5 server uses Windows 2000 file system
as its repository. When a file is locked by WebDAV server (IIS 5), its also locked in the file system.
– IIS 5 uses Windows ACL for granting access to web users too
– Apache server (mod_dav) also uses a file system repository but maintains a separate ACL for web users. Web users don‘t have local accounts in this case.
– Other WebDAV servers store their Info. in databases like Glyphica PortalWare Server (uses Versant OO DBMS), Xythos Storage Server (uses RDBMS,...)
14
Delta-V• Web-native protocol – can handle different types of web resources
better than a file-oriented system like CVS• Adds versioning support to WebDAV• Provides versioning of Collections• Tight integration with the Web as compared with CVS, e.g., web
resources are edited in-place at a specific URL. Thus no mapping of filenames to URLs
• Isolating team members work by server-side workspaces unlike CVS client-side workspaces
• Over-write conflicts are avoided by a possibility of multiple checkouts in different workspaces
• Adaptable to work like cvs (by creating local replicas)• Possibility to initiate ‘Build‘ with source code, compile, object code at
different remote locations
15
Version History
Foo.htm1
2
7
65
43
initial
Beta1
Test1
Beta2
URL path of VersionedControlledResource
Version NameLabelSuccessor
Line ofDescent
RevisionHistory
Predecessor
Branch
MergeTime
16
v1
v2
v3
Abstract version history of foo.html
Representation of foo.html in DeltaV
v1 v2 v3
version resources
body of version v3 +
changes
/his/73/ver/1 /his/73/ver/2 /his/73/ver/3
version-controlled resource
/foo.html
DAV:checked-out /his/73/ver/3
version history resource
DAV:version-history /his/73/vhr
/his/73/vhr
DAV:version-set /his/73/ver/1 /his/73/ver/2 /his/73/ver/3
DAV:root-version /his/73/ver/1
Representation of a Version History
17
Protocol Feature Comparison(Ref: WebDAV based Open Source Collaborative Development Environment
by Sunghun Kim, Kai Pan, E. James Whitehead, Jr.)
Feature FTP SSH CVS WebDAVRemote web authoring Yes Yes
Remote file upload Yes Yes
Versioning Yes Yes
Concurrency control (versioning)
Yes Yes
Concurrency control (web authoring)
Yes
Secure connection Yes Yes
18
Glossary• Collection: Group of resources (like a directory)
• Document: word processing document, spreadsheet, web page, source code, binary, ...
• Properties: Metadata associated with a document or resource– Live property: Syntax / semantics enforced by the server– Dead property: Syntax /semantics enforced by the client
• SCM: Managing how software is modified and built through techniques including source code control, revision control, object build tracking, and release construction. It involves identifying the configuration of the software at given points in time, systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration throughout the software lifecycle [Paulk1993a].
• Subversion: A WebDAV-based SCM
• Well-formed XML document: that meets the minimum criteria for XML processors and validators to read the document. Well-formed xml < valid xml. Valid xml requires DTD.....