webdav and deltav: collaborative authoring, versioning, and configuration management for the web

49
1 WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web Jim Whitehead University of California, Santa Cruz [email protected]

Upload: kenyon

Post on 21-Mar-2016

43 views

Category:

Documents


0 download

DESCRIPTION

WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web. Jim Whitehead University of California, Santa Cruz [email protected]. WebDAV and DeltaV. WebDAV and DeltaV are: Application layer network protocols - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

1

WebDAV and DeltaV: Collaborative Authoring, Versioning,

and Configuration Management for the Web

Jim WhiteheadUniversity of California, Santa [email protected]

Page 2: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

2

WebDAV and DeltaV WebDAV and DeltaV are:

Application layer network protocols Extensions to the Hypertext Transfer Protocol (HTTP 1.1) Developed by the Internet Engineering Task Force (IETF)

WebDAV Remote collaborative authoring of Web resources Overwrite prevention, metadata management,

namespace operations DeltaV

Versioning and Configuration Management Extends base WebDAV capabilities Checkout/checkin, version history, logical change

tracking, workspaces, configuration management

Page 3: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

3

Major WebDAV Clients Application Software:

Microsoft: Office 2000/XP (Word, Excel, PowerPoint, Publisher) Adobe: Photoshop 6, Acrobat 5

Web Site Authoring Adobe: Go Live 5 Macromedia: Dreamweaver 4

Remote File Access: Apple: Mac OS X webdavfs

OS X also ships with Apache and mod_dav (have to configure mod_dav to make it work)

Microsoft: Windows Web Folders Wind River Software: WebDrive Goliath (Mac, open source) Nautilus (GNOME project, Eazel) WebDAV Explorer (UC Irvine, Feise/Kanomata, open source)

XML editors Excosoft: Documentor Altova: XML Spy 3.5

Page 4: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

4

Major WebDAV ServersMicrosoft: IIS 5/6, Exchange 2000, SharepointApache: mod_dav (over 10,000 sites)Oracle: Internet File SystemAdobe: InScopeXythos: Web File ServerNovell: Netware 5.1, Net PublisherW3C: JigsawEndeavors: Magi-DAVIBM: DAV4J (DeveloperWorks)DataChannel: DataChannel Server (DCS 4.1)Intraspect: 4iOpenLink: VirtuosoHyperwave: Information Server 5.5

Page 5: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

5

Using WebDAV You have to produce an XML document

Fire up your favorite XML processor & start editing You decide to bring on another author

Using the same XML processor, save to the Web Give your collaborator the URL of the XML document Start collaboration on the document by editing in-

place on the Web A seamless transition from individual to

collaborative work

Page 6: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

6

Application Use of WebDAV

Client ServerFile… Open LOCK Lock resource

PROPFIND

Send properties to client

GET Send resource

contents to clientEditPUTFile… Save

Exit UNLOCK

Save new contents

Unlock resource

Page 7: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

7

Collaborative Document Authoring

Three collaborators, in different cities, use Word 2000 to collaborate on a report they are producing together.

WebDAV server

A

Johnathan

Word 2000

BOSTON LOS ANGELES

shared document

Katrina Word 2000

TOKYO

Kenji

Word 2000

HTTP/DAV HTTP/DAV

HTTP/DAV

Page 8: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

8

Collaborative Web Site Authoring

Two homes each develop their family Web site using WebDAV to interact with their ISP.

WebDAV server

Joe Homeuser Go Live 5

/joe

/html /images

HTTP/DAV

INTERNET SERVICE PROVIDER HOME 1

/jane

/html /images

Jane McPC DreamWeaver

4

HTTP/DAV

Jane’s web site

HOME 2

Joe’s Daughter

Go Live 5

Web site for Joe and his daughter

Page 9: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

9

Remote Authoring, Part of Staged Production

WebDAV server

Frank Excel 2000

CHICAGO SEOUL Yung Kim Go Live

5

FRANKFURT

Hartmut

Photo shop 6

HTTP/DAV HTTP/DAV

HTTP/DAV

/contrib

/seoul /frankfrt project Web site

Cindy

Acrobat 5

/chicago

contributions server

HTTP server

development server

web site contents

Web site development team incorporates contributions submitted to the contributions server.

HTTP server

web site contents

General Internet Readers

firewall

production server

Page 10: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

10

Visions for WebDAV Participants in WebDAV have many views on what it is:

A protocol for collaborative authoring of all document types XML, HTML, word processing, spreadsheets,

A Web-based network file system, with nice high-latency behavior

Better performance than NFS and Samba over the Internet A data integration technology for accessing a wide range of

repositories Document mgmt. systems, configuration mgmt. systems,

filesystems, etc. Remote software engineering infrastructure A replacement protocol that can handle email, calendaring,

directory lookup and more Could replace: POP, IMAP, CAP, LDAP…

All views are correct!

Page 11: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

11

Filesystem View Exemplars: Web Folders, WebDrive, WebIFS,

TeamDrive, Mac OS X

Page 12: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

12

Document Authoring Exemplars: Office 2000/XP: Word, Excel, PowerPoint, as

well as Photoshop, Documentor, and XML Spy

Office: uses filesystem metaphor for WebDAV location

Page 13: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

13

Photoshop Workflow metaphor for WebDAV location

Page 14: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

14

Web Site Authoring Exemplars: Go Live 5, Macromedia Director Site metaphor for WebDAV location

Page 15: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

15

Remote Collaborative Annotation Acrobat 5 views a WebDAV location as a storage location

for document annotations Annotations are stored in resources separate from the PDF

document One collection per document One annotation resource per user (in collection)

Page 16: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

16

Email Access via WebDAV Outlook Web Access for Exchange 2000 uses WebDAV

plus some non-standard “batch” methods, for efficiency Client is DHTML running in the browser

Page 17: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

17

Facets of WEBDAV

There are many ways to view the DAV work: Collaboration infrastructure Metadata repository infrastructure Namespace management infrastructure Access control infrastructure Searching infrastructure – DASL

Page 18: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

18

Collaboration Infrastructure Whole resource locking supports:

remote collaborative authoring of any media type Web pages, Word processing, Presentations, XML, …

Lock characteristics: Long-duration locks Not associated with network connection

Client receives a lock token identifying the lock Can disconnect from network after receiving lock token

Locks automatically expire after a client specified timeout period

Lock single resources, or hierarchies of resources Infrastructure for asynchronous, widely

distributed, hypertext-aware, collaborative editing tools.

Page 19: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

19

Metadata Recording Infrastructure

Metadata support Properties are (name, value) pairs that

can be created, modified, deleted, and read on Web resources.

Consistency of properties can be maintained by the server or the client

Property values are well-formed Extensible Markup Language (XML) Can store RDF as well

Property name is a URI or URL Extensible, global property namespace

Infrastructure for recording information about Web data A general purpose metadata repository

Page 20: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

20

Namespace Management Infrastructure

Remote name space management: Copy and Move

individual resources hierarchies of resources to/from a locked hierarchy

Create and modify collections of resources Retrieve listings of collection members

Useful for creating Save…As dialog boxes Adds hierarchical navigation to the Web

Augments hypertext navigation and searching

Infrastructure for remotely organizing and viewing collections of Web resources

Page 21: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

24

WebDAV Methods Overwrite Prevention:

LOCK – prevents non-lock holders from writing to the resource

UNLOCK – removes a lock Metadata Management:

PROPFIND – read properties from a resource Allprop – all property names and values Propname – only return property names Prop – just return specified properties

PROPPATCH – write properties on a resource Namespace Management

COPY – duplicate a resource MOVE – move a resource (preserving identity) MKCOL – create a new collection

Page 22: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

25

Scope of WebDAV Methods

Web Resource

Body(primary

state)

Properties(name, value)

pairsLOCKUNLOCKCOPYMOVE†

DELETE†

MKCOL†

(PUT†)

PROPFINDPROPPATCH†

GET

PUT†

† - affected by LOCK

Page 23: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

26

DeltaV: Versioning and Configuration Management

Page 24: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

27

Remote Collaborative Document Authoring Scenarios

A task force of people from geographically dispersed business units need to develop a report together. Team needs to solicit feedback, so they send out

copies of the report. As a result, the team needs a permanent copy of the

exact report version they are having other people review.

DAV/DeltaV server

A

Johnathan

Word 2000

BOSTON LONDON

shared document

Rebecca

Word 2000

TOKYO

Kenji

Word 2000

DAV/DeltaV DAV/DeltaV

DAV/DeltaV

A A

v1 v2 v3

auto-versioning enabled

Page 25: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

28

What is DeltaV? DeltaV is:

An application layer network protocol Extends the WebDAV protocol WebDAV itself extends HTTP 1.1

Thus DeltaV is also an extension to HTTP 1.1 HTTP is the core network protocol of the Web

An interoperability standard Allows document authoring and software development

applications to interoperate with versioning and configuration management systems using a common interface

A data model DeltaV embodies a data model that is capable of modeling

multiple versioning and configuration management repositories The data model is independent of network protocol

A data integration infrastructure A common place for cross-application data sharing

Page 26: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

29

Version History

Foo.htm1

2

7

65

43

initial

Beta1

Test1

Beta2

URL path of VersionedControlledResource

Version NameLabelSuccessor

Line ofDescent

RevisionHistory

Predecessor

Branch

Merge

Page 27: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

30

Representation of a Version History

v1

v2

v3

Abstract version history of foo.html

Representation of foo.html in DeltaV

v1 v2 v3

version resources

body of version v3

/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

Page 28: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

31

Unique Aspects of Versioning Data Model

DeltaV data model is different from RCS/SCCS model RCS: placing foo.html under version control causes:

foo.html to be made read-only Creation of RCS/foo.html,v archive file

Archive contains version history and version data Differences

Both use the original name as the place where commands are directed

But, version-controlled resource has more metadata DeltaV separates version history from version storage DeltaV gives each version a unique identifier (URL)

Note that delta storage can still be used in the underlying repository

Page 29: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

32

Rationale for Versioning Data Model

Each version is given its own URL, thus allowing hypertext linking to a specific version. Hence, each version must be a separate resource

Workspaces are the motivation for separating the version-controlled resource from the history resource. A workspace allows a collaborator to work in isolation,

in their own part of the namespace. For example, Greg and Lisa might have workspaces:

/ws/users/greg/ and /ws/users/lisa/ If both want foo.html to appear in their local

workspace, each needs a version controlled resource.

Thus, one version history can be associated with multiple version controlled resources.

Page 30: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

33

Autoversioning There are many WebDAV-aware applications

They know nothing about versioning! Would like to provide automatic versioning support

Two styles of autoversioning:1. Every modification creates a new version

PUT/PROPPATCH CHECKOUT PUT/PROPPATCH CHECKIN

Works best for authoring clients that replicate resources to a local disk, and only write to the server at the end of an editing session.

2. Every LOCK/UNLOCK pair creates a new version LOCK LOCK CHECKOUT UNLOCK CHECKIN UNLOCK Works well for authoring clients that work directly on the

WebDAV server and take out locks, like Office 2000. Style is controlled by DAV:autocheckout and

DAV:autocheckin properties on version controlled resource

Page 31: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

34

Activities Frequently, a logical change spans multiple

versions in multiple version histories For example, fixing a specific software bug can involve

the creation of multiple versions of several files Activities associate a logical change with the set

of versions created while making that change. Versions from a given version history are limited to a

single line of descent Activities are not versioned

Sometimes want to ensure that all work done by team members is on a single line of descent Avoids merging between team members Activities can be used to enforce working on just a

single line of descent

Page 32: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

35

Workspaces A workspace is a location…

… where a person can work in isolation … from ongoing changes made by other collaborators to the same set of resources.

Workspace use scenarios: Two people each modify a common source code file, and

want to test their work before integrating changes The directory structure of a large project is being

changed Don’t want to require everyone to stop working while this

takes place Keep namespace changes invisible to team until complete

A developer is trying a change that might not pan out New files are in their workspace, but not under version

control until the final viability of the change is known

Page 33: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

36

Server Workspace Example Version history of main.c:

1 2 3 4/repo/o522/v1

/repo/o522/v2

/repo/o522/v3

/repo/o522/v4

version history resource

/repo/o522/v1/repo/o522/v2/repo/o522/v3/repo/o522/v4

version resources

/his/o522

/projectX/main.c

/users/chris/ projectX/main.c

/users/geoff/ projectX/main.c

version controlled resources

5/repo/o522/v5

Page 34: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

37

Server Workspace Examplemain.c

2

makefile

3

1

4

2

3

1defs.h

2

1

/users/chris/projectX/main.c, 4makefile, 3defs.h, 3

/users/geoff/projectX/main.c, 5makefile, 3defs.h, 2

3

5

Page 35: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

38

Baselines When a large collection of documents is

released outside the developing organization, there is a need to record exactly which document versions were released. Especially true for software project releases

A baseline can record the exact version of a large set of resources under version control

Baselines can also be used for recording intermediate project states The state of the project as of last Friday

Quality assurance can then have a stable snapshot to work from

Baselines are used to perform configuration management

Page 36: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

39

WebDAV Projects at UC Santa Cruz

Page 37: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

40

DAV Calendaring and Scheduling Problems:

iCal data format is complex and difficult to understand Few network effects with other data formats

Compare with XML-based formats A separate protocol is under development for remote

collaborative calendaring and scheduling Requirements are not significantly different from WebDAV

Approach: Translate iCal data format to Resource Description

Framework (RDF) Develop profile for using WebDAV to remotely author

calendar event resources Prototype ideas using Gnome Calendar application

Work performed by: Michael Arick, UCSC <[email protected]> Libby Miller, ILRT <[email protected]> (RDF work) http://www.cse.ucsc.edu/~marick/

Page 38: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

41

SOAP over DAV SOAP: Simple Object Access Protocol

An XML-based remote procedure call protocol Typically marshalled as an XML body to an HTTP POST

request Problem:

SOAP assumes the response will come back quickly (1-2 minutes at most)

Not suitable for long-duration transactions No versioning of interfaces

Approach: Marshall SOAP messages using PROPPATCH/PROPFIND

Submit request write to a property value Receive response read a property value

Can leverage versioning, access control, metadata, searching facilities of WebDAV

Work performed by Elias Sinderson <[email protected]>

Page 39: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

42

Electronic Records Management US Government agencies are required to support

standard DoD 5015.2 Describes metadata items useful for archiving electronic

records 5015.2 is not an interoperability standard

Approach Develop an XML representation of 5015.2 metadata items Store 5015.2 metadata in WebDAV properties Develop server support for

automatic archiving/disposal of records automatic setting of 5015.2 property values

Develop client support for entry/viewing/searching 5015.2 items

Payoff Wide deployment of interoperable, low-cost infrastructure

for archiving electronic records Work performed by Lan Xue

<[email protected]>

Page 40: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

43

Study Wish List How are people actually using WebDAV

technology? Many stories of people using it for file sharing Less evidence of collaborative authoring use

In particular, Go Live and Director are designed for group use How are people using the collaboration facilities? WebDAV has relatively poor awareness support –does

this affect use? How is the technology used differently in different

organizational settings? We finally have a remote collaboration technology

that is starting to be broadly used We can now test many long-held assumptions about this

technology

Page 41: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

44

Project Wish List DAVCam

A digital camera that takes a picture… Automatically writes the picture to a DAV store Allows voice-to-text annotation of photo with metadata

Open Hypertext integration Export hypertext links as Xlinks in DAV properties Allow authoring of links via these properties Mapping to OHP Storage interface

DAV as storage layer for spatial hypertext Is DAV sufficient by itself? Or are additional

capabilities or optimizations needed? DAV-based Weblog (“blog”) system

Author content via DAV

Page 42: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

45

WebDAV Resources

Page 43: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

46

WebDAV WebDAV Resources

http://www.webdav.org/ A central collection of pages and links to all things WebDAV.

WebDAV Working Group http://www.ics.uci.edu/pub/ietf/webdav/

Contains links to active documents, and a complete list of WebDAV-supporting applications.

RFC 2518 – WebDAV Distributed Authoring Protocol http://www.ics.uci.edu/pub/ietf/webdav/protocol/rfc2518.pdf

This is the WebDAV Distributed Authoring Protocol specification WebDAV: A network protocol for remote

collaborative authoring on the Web Proc. of the Sixth European Conference on Computer-

Supported Cooperative Work, Sept. 12-16, 1999, Copenhagen, Denmark, pp. 291-310.

http://www.ics.uci.edu/~ejw/papers/dav-ecscw.pdf An academic paper giving an overview of the WebDAV Distributed

Authoring Protocol.

Page 44: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

47

DeltaV Delta-V Working Group web page

http://www.webdav.org/deltav/ The home page for the IETF Delta-V Working Group, with links off

to the most recent specifications. G. Clemm, J. Amsden, C. Kaler, J. Whitehead, “Versioning

Extensions to WebDAV”, Internet-Draft, work-in-progress, draft-ietf-deltav-versioning-16, July 3, 2001. http://www.webdav.org/deltav/protocol/draft-ietf-deltav-

versioning-16.htm The most recent revision of the versioning and configuration

management protocol specification. The Future of Distributed Software Development on

the Internet Web Techniques, Vol. 4, No. 10, October, 1999, pages 57-63 http://www.webtechniques.com/archives/1999/10/whitehead/

An introduction to WebDAV and DeltaV that describes the advantages of DeltaV over CVS for remote collaborative software development

Page 45: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

48

DASL: DAV Searching & Locating DAV Searching and Locating page

http://www.webdav.org/dasl/ A web site containing links to the most recent WebDAV

searching protocol specifications. A. Babich, J. Davis, R. Henderson, D. Lowry, Sa.

Reddy, Su. Reddy, “DAV Searching and Locating”, work-in-progress. http://www.webdav.org/dasl/protocol/draft-davis-dasl-

protocol-00.html The most recently edited DASL protocol specification.

This document was never submitted as an Internet-Draft.

Will be submitted for consideration as an Experimental RFC in the near future.

In 1-2 years, will be submitted as a Proposed Standard

Page 46: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

49

Access Control Protocol Access Control page

http://www.webdav.org/acl/ A web site containing links to current access control

protocol specifications. WebDAV Access Control Protocol

draft-ietf-webdav-acl-06, June 21, 2001. http://www.webdav.org/acl/protocol/draft-ietf-

webdav-acl-06.htm The most recent revision of the access control protocol

specification.

Page 47: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

50

Advanced Collections WebDAV Bindings

draft-ietf-webdav-binding-protocol-02, December 17, 1999. http://www.ics.uci.edu/pub/ietf/webdav/collection/draft-ietf-

webdav-binding-protocol-02.txt The most recent revision of the WebDAV Bindings Protocol.

WebDAV Redirect Reference Resources draft-ietf-webdav-redirectref-protocol-02, December 17,

1999. http://www.ics.uci.edu/pub/ietf/webdav/collection/draft-ietf-

webdav-redirectref-protocol-02.txt The most recent revision of the Redirect Resources protocol.

WebDAV Ordered Collections Protocol draft-ietf-webdav-ordering-protocol-02, December 20,

1999. http://www.ics.uci.edu/pub/ietf/webdav/collection/draft-ietf-

webdav-ordering-protocol-02.txt The most recent revision of the Ordered Collections protocol.

Page 48: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

51

Document Roadmap

Distributed AuthoringLocking, Properties, Copy/MoveRFC 2518 complete

Versioning & CMProtocol just sent to IESGFinish: Fall 2001

Advanced CollectionsRequirements and protocol forbindings, redirectors, ordered coll.Finish: December 2001

Access ControlProtocol for remote access controlFinish: Fall 2001

WebDAV Working Group:

DASL:SearchingRequirements and protocol forsearching a WebDAV repositoryFinish: mid 2002

Delta-V Working Group:

Page 49: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management  for the Web

52