webdav and deltav: collaborative authoring, versioning, and configuration management for the web
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 PresentationTRANSCRIPT
![Page 1: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/3.jpg)
3
Major WebDAV Clients Application Software:
Microsoft: Office 2000/XP (Word, Excel, PowerPoint, Publisher)
Adobe: Photoshop 6, Illustrator 10, Acrobat 5, In Design 2 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) WebDAV Explorer (UC Irvine, Feise/Kanomata, open source)
XML editors Excosoft: Documentor Altova: XML Spy SoftQuad: XMetal
![Page 4: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/4.jpg)
4
Major WebDAV ServersMicrosoft: IIS 5/6, Exchange 2000, SharepointApache: mod_dav (over 95,000 sites)Oracle: Internet File SystemAdobe: InScopeXythos: Web File ServerNovell: Netware 5.1, Net PublisherW3C: JigsawEndeavors: Magi-DAVIBM: DAV4J (DeveloperWorks)FileNet: Panagon ECMIntraspect: 4iMerant: PVCS Dimensions, Content ManagerHyperwave: Information Server 5.54D: WebSTAR V
![Page 5: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/5.jpg)
5
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 6: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/6.jpg)
6
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 7: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/7.jpg)
7
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 8: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/8.jpg)
8
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 9: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/9.jpg)
9
Filesystem View
Exemplars: Web Folders, WebDrive, WebIFS, TeamDrive, Mac OS X
![Page 10: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/10.jpg)
10
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 11: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/11.jpg)
11
Photoshop Workflow metaphor for WebDAV location
![Page 12: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/12.jpg)
12
Web Site Authoring Exemplars: Go Live 5/6, Dreamweaver Site metaphor for WebDAV location
![Page 13: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/13.jpg)
13
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 14: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/14.jpg)
14
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 15: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/15.jpg)
15
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 16: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/16.jpg)
16
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 17: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/17.jpg)
18
Access Control Infrastructure
Access Control: The ability to remotely control who can read and write a
resource Key challenges:
Expose the access control capabilities of the repository… …while ensuring the client-side user interface can be simple
(I.e., avoid lots of feature discovery) Provide some notion of principal, without duplicating LDAP Handle large numbers of principals
Access control lists Each entry grants/denies a privilege to a principal (or group)
Infrastructure for remotely creating collaboration groups
![Page 18: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/18.jpg)
19
Searching Infrastructure
Searching a WebDAV repository - DASL: Search for resources with a given property, or
a given property value Search for a substring inside a resource body Search scope can be one resource, a
collection of resources, a hierarchy of resources, or a whole server
Search syntax is extensible Search specification specified as body
submitted with SEARCH command Could accommodate XML Query syntax
Infrastructure for remote searching
![Page 19: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/19.jpg)
20
WebDAV Methods
and Data Model
![Page 20: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/20.jpg)
21
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 21: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/21.jpg)
22
Scope of WebDAV Methods
Web Resource
Body(primary
state)
Properties(name, value)
pairsLOCKUNLOCKCOPYMOVE†
DELETE†
MKCOL†
(PUT†)
PROPFIND
PROPPATCH†
GET
PUT†
† - affected by
LOCK
![Page 22: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/22.jpg)
23
DeltaV: Versioning and Configuration Management
![Page 23: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/23.jpg)
24
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 24: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/24.jpg)
25
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 (RFC 3253) 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 25: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/25.jpg)
26
Version History
Foo.htm
1
2
7
65
43
initial
Beta1
Test1
Beta2
URL path of VersionedControlledResource
Version Name
Label
Successor
Line ofDescent
RevisionHistory
Predecessor
Branch
Merge
![Page 26: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/26.jpg)
27
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 27: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/27.jpg)
28
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 28: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/28.jpg)
29
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 29: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/29.jpg)
30
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 30: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/30.jpg)
31
Server Workspace Example
main.c
2
makefile
3
1
4
2
3
1
defs.h
2
1
/users/chris/projectX/main.c, 4makefile, 3defs.h, 3
/users/geoff/projectX/main.c, 5makefile, 3defs.h, 2
3
5
![Page 31: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/31.jpg)
33
WebDAV Projects at UC Santa Cruz
![Page 32: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/32.jpg)
34
Recontextualizing WebDAV
WebDAV and DeltaV gathered decontextualized requirements for collaboration and version control Abstracted away characteristics of specific application
domains Used Web authoring & software development as driving
problems
Led to a powerful, inexpensive, generic content management capability
Now, goal is to apply the general-purpose capabilities of WebDAV/DeltaV to solve specific problems: Electronic records management Digital libraries … as well as ensuring they satisfy original goals: Document management Software development
![Page 33: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/33.jpg)
35
Advanced Document Collaboration Infrastructure
Goal: Create advanced open-source WebDAV server with following characteristics: Highly scalable
store and search millions of documents Data integration
knit together multiple document and metadata repositories
Access Postdoc, legacy stores via DAV/DeltaV Access Control
support the emerging ACL protocol standard Versioning
document versioning and auto-versioning support
![Page 34: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/34.jpg)
36
Advanced Document Collaboration Infrastructure (2)
Peter
Word
NASA Ames NASA Goddard
Jason PowerPoint
JPL
Julia
Windows Web Fldr
HTTP/DAV HTTP/DAV
HTTP/DAV
Postdoc repository
SQL database
legacy metadata
store
Apache
mod_dav mod_dav_repos
wrapper
wrapper
wrapper
![Page 35: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/35.jpg)
37
Advanced Document Collaboration Infrastructure (3)
Research challenges: Abstract repository interface
Develop API between mod_dav_repos and repository wrappers
Scalability Ensuring the architecture supports large numbers of
documents and storage Supports efficient searching
Cross-repository searching Support for efficient DASL searches Accommodating server-defined and client-defined
properties Allowing searches that span the contents of multiple
repositories Access Control Implementation
Create an open reference implementation of the access control protocol
Develop an access control client that can adapt to multiple access privilege hierarchies
![Page 36: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/36.jpg)
38
Advanced Document Collaboration Infrastructure (4)
Work performed so far: Created mod_dav_dasl prototype
Single database, MySQL Storage and searching of arbitrary dead properties Implemented DASL Some performance characterization Client support for DASL in cadaver client Work is underway to release the code
Work performed by Elias Sinderson (also working at ARC), Sung Kim, Kai Pan
![Page 37: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/37.jpg)
39
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
Work performed by Dorrit Gordon, Leila Naslavsky
![Page 38: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/38.jpg)
40
Electronic Records Management (2)
Work performed so far: Preliminary XML metadata schema for 5015.2
metadata items Modular approach allows work to potentially be used for
ERM in other countries (e.g., VERS standard in Australia) Initial work on identifying items with controlled
vocabularies Containment data modeling of 5015.2 data model
Payoff Wide deployment of interoperable, low-cost
infrastructure for archiving electronic records Infrastructure for personal records management
In the future, how will you manage that 10TB hard drive on your PC?
![Page 39: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/39.jpg)
41
Personal Digital Library
Researchers interact with a number of institutional digital libraries ACM and IEEE are significant for CS researchers
Limited existing support for users interacting with these institutional DLs Either read files online, or Store files in a filesystem
Institutional DLs have poor track record for reliability, QoS Users want to have local copies of relevant documents
Disk sizes are large, and growing It’s reasonable to keep a copy of every document ever
read How do you manage all these documents?
![Page 40: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/40.jpg)
42
Personal Digital Library (2)
Most researchers know other researchers in their area If another researcher in your area finds an interesting
paper, you’ll want a copy This should happen automatically, just by being a
member of a research peer group Our approach:
Use a WebDAV server to store a personal, or small workgroup’s digital library
Augment documents with bibliographic metadata Special-purpose document browsing and searching
client Provides a document UI, not a file UI Emphasizes bibliographic metadata in browsing UI
Integrate P2P capability for document sharing User-selectable policies for IP enforcement
Current status: NSF proposal in-progress
![Page 41: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/41.jpg)
43
Adaptive Configuration Management Client
DeltaV specification defines multiple packages (feature sets) of functionality Core versioning Basic server workspace Basic client workspace Advanced server workspace Advanced client workspace
A server may support one or more of these Research challenge:
Create a DeltaV client that can adapt to any server it encounters
Implies it can adapt to different workspace semantics, and different supported features
Existing CM clients are tailored to a single system Status: looking for a sponsor
![Page 42: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/42.jpg)
44
Software Engineering at UC Santa Cruz
![Page 43: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/43.jpg)
45
Software Engineering @ UCSC
Currently in the process of building up an SE research group Hiring for three SE faculty this year
In-process of developing a Masters degree program in Software Engineering Aimed at working professionals in Silicon Valley Goal is to eventually offer many courses at the UC
Silicon Valley Center (on the Ames campus) Coursework in Software Engineering plus a significant
multi-quarter (perhaps including summer) project
Also developing a Masters program in Web and Internet Engineering Courses in SE, databases, networking, storage
systems Also aimed at SV working professionals
![Page 44: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/44.jpg)
48
WebDAV Resources
![Page 45: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/45.jpg)
49
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 46: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/46.jpg)
50
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.
RFC 3253 – DeltaV Protocol http://www.webdav.org/deltav/protocol/rfc3253.html
Extensions to the WebDAV protocol (RFC 2518) for versioning and configuration management
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 47: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/47.jpg)
51
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.
J. F. Reschke, S. Reddy, J. Davis, A. Babich, “WebDAV Search” http://greenbytes.de/tech/webdav/draft-reschke-
webdav-search-latest.html The most recently edited DASL protocol specification. Significantly increased momentum recently Likely to see specification approved this year.
![Page 48: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/48.jpg)
52
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-07, November, 2001. http://www.webdav.org/acl/protocol/draft-ietf-
webdav-acl-07.htm The most recent revision of the access control protocol
specification.
![Page 49: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/49.jpg)
53
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 50: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/50.jpg)
54
Document Roadmap
Distributed AuthoringLocking, Properties, Copy/MoveRFC 2518 complete
Versioning & CMProtocol just sent to IESGRFC 3253 complete
Advanced CollectionsRequirements and protocol forbindings, redirectors, ordered coll.Finish:June 2003
Access ControlProtocol for remote access controlFinish: Spring 2002
WebDAV Working Group:
DASL:
SearchingRequirements and protocol forsearching a WebDAV repositoryFinish: late 2002
Delta-V Working Group:
![Page 51: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/51.jpg)
55
![Page 52: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/52.jpg)
56
Overwrite Prevention: Locking
![Page 53: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/53.jpg)
57
Write Lock
A write lock prevents a principal without the lock from successfully modifying the state of the resource Specifically, it prevents execution of PUT,
POST, DELETE, MKCOL, PROPPATCH, MOVE, LOCK, UNLOCK
GET, PROPFIND are unaffected by write lock
![Page 54: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/54.jpg)
58
Write Lock Scope The scope of a lock is an entire resource
It is not possible to specify a sub-resource lock. Why? The ability to create a sub-resource lock requires
knowledge about the content type being locked. WebDAV wanted to support all content types
equally, not give preferential support to a few. Due to the large number of content types, support
for sub-resource locks would have added a lot of extra semantics to the protocol. Some content types wouldn’t have been supported.
Content types change rapidly (two revisions of HTML and XML occurred during development of WebDAV protocol). Supporting one revision of a content type would make protocol brittle, quickly obsolete.
New content types would not be supported, yet new content types emerge constantly.
![Page 55: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/55.jpg)
59
Write Lock Scope (3)
Implications of whole-resource locking: Pro:
Supports existing applications which operate on entire files, providing easy migration path to add WebDAV support
Handles all content types
Con: Reduced availability of resources during
collaboration (but, shared locks can help…)
![Page 56: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/56.jpg)
60
Write Lock (cont’d)
Live properties may still change even though a lock is active
Dead properties may only be changed by the lock owner.
A null resource may be locked to reserve its name. This puts the resource into a special state, lock-null, since it now has lock related properties defined on it. In retrospect, a bad idea
Adds a lot of special case code Not a compelling feature for clients Feature may go away in next revision of RFC 2518
![Page 57: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/57.jpg)
61
Lifecycle of a Lock
unlocked lockedLOCK
UNLOCK
LOCK(refresh)
lock timeout
administrator removal of lock
![Page 58: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/58.jpg)
62
Exclusive Lock
Zero or one possible lock holders
lock holder
access permission holders
everyone on the Internet
![Page 59: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/59.jpg)
63
Shared Lock
Zero, one, or many possible lock holders
lock holders
access permission holders
everyone on the Internet
![Page 60: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/60.jpg)
64
Why Exclusive and Shared?
Exclusive locks are too rigid people often forget to release locks requires an administrator to release the lock
Shared locks allow people to use out-of-band communication to negotiate access to the resource if someone forgets to release a lock, it doesn’t
hold up the entire group
Collaborators work opportunistically
![Page 61: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/61.jpg)
65
Lock Compatibility
Current lock state
SharedLock
Exclusive Lock
None
Shared Lock
Exclusive Lock
true
true
true
false
false false*
Legend: True = lock MAY be granted * = owner of lock MAYFalse = lock MUST NOT be granted have lock regranted
Lock request
![Page 62: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/62.jpg)
66
LOCK Required Support
A WEBDAV server is not required to support locking
Why? Systems differ markedly in the type of locking support they provide, and may not be able to support locks at all (i.e., some replicated stores)
… However, most WebDAV servers do support locking
![Page 63: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/63.jpg)
67
LOCK Method
LOCK creates the lock specified by the <lockinfo> XML element (in the request body) on the Request-URI.
Lock owner information is submitted with a lock request
A timeout value may also be requested
LOCK returns a lock token which uniquely identifies the lock to the server
![Page 64: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/64.jpg)
68
Lock Owner Information
The owner XML element (inside <lockinfo>) provides a means to associate lock holder contact information with a lock. If you want the lock holder to release the lock,
perhaps you can contact them and ask them to relinquish it
Authentication information often does not contain contact information (e.g., a key)
![Page 65: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/65.jpg)
69
LOCK, single resource
LOCK /webdav.html HTTP/1.1Host: sandbox.xerox.comTimeout: Second-500, InfiniteContent-Type: text/xmlContent-Length: 151
<?xml version="1.0" ?><d:lockinfo xmlns:d="DAV:"> <d:locktype><d:write/></d:locktype> <d:lockscope><d:exclusive/></d:lockscope> <d:owner>
<d:href>mailto:[email protected]</d:href> </d:owner></d:lockinfo>
![Page 66: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/66.jpg)
70
LOCK, single resource (2)
HTTP/1.1 200 OKDate: Tue, 09 Feb 1999 02:25:21 GMTServer: PyDAV 1.1 filestore 1.1Content-Type: text/xmlContent-Length: 435
<?xml version="1.0"?><A:prop xmlns:A="DAV:"> <A:lockdiscovery> <A:activelock> <A:lockscope> <A:exclusive/> </A:lockscope>
![Page 67: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/67.jpg)
71
LOCK, single resource (3)
<A:locktype> <A:write/> </A:locktype> <A:depth>Infinity</A:depth>
<A:owner><A:href>mailto:[email protected]</A:href> </A:owner> <A:timeout>Second-500</A:timeout> <A:locktoken> <A:href>opaquelocktoken:918527121.406</A:href> </A:locktoken> </A:activelock> </A:lockdiscovery></A:prop>
![Page 68: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/68.jpg)
72
Hierarchy Locks
Using the Depth header set to Infinity, can lock a collection hierarchy A single lock token is returned, identifying the lock on
all resources. An UNLOCK on this token removes the lock from all
associated resources. All or nothing semantics
All resources in hierarchy are locked, or none are Hierarchy locks act to ensure:
All resources in the hierarchy are members of the lock
Resources removed from the hierarchy are removed from the lock
But… If a locked hierarchy is copied/moved, the destination
hierarchy is not locked.
![Page 69: WebDAV and DeltaV: Collaborative Authoring, Versioning, and Configuration Management for the Web](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681388f550346895da03e3d/html5/thumbnails/69.jpg)
73
UNLOCK
UNLOCK removes the lock identified by a lock token from the Request-URI, and all other resources included in the lock If a lock affects an entire collection, UNLOCK
removes the lock from all resources in the collection.