Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Shuaib Karim Institute of Software Technology & Interactive Systems (Vienna University of Technology)

Similar presentations


Presentation on theme: "1 Shuaib Karim Institute of Software Technology & Interactive Systems (Vienna University of Technology)"— Presentation transcript:

1 1 Shuaib Karim (skarim@ifs.tuwien.ac.at) 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 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 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,...)

4 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 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 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 7 WebDAV  Delta V Asynchronous collaborative authoring over the Web

8 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 9 Implemented ‘Methods‘

10 10 Request-Reponse b/w WebDAV client-server

11 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 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 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 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 15 Version History Foo.htm 1 2 7 6 5 4 3 initial Beta1 Test1 Beta2 URL path of Versioned Controlled Resource Version Name Label Successor Line of Descent Revision History Predecessor Branch Merge Time

16 16 Representation of a Version History

17 17 Protocol Feature Comparison (Ref: WebDAV based Open Source Collaborative Development Environment by Sunghun Kim, Kai Pan, E. James Whitehead, Jr.) FeatureFTPSSHCVSWebDAV Remote web authoring Yes Remote file upload Yes Versioning Yes Concurrency control (versioning) Yes Concurrency control (web authoring) Yes Secure connection Yes

18 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.....


Download ppt "1 Shuaib Karim Institute of Software Technology & Interactive Systems (Vienna University of Technology)"

Similar presentations


Ads by Google