100 likes | 120 Views
Explore the integration of XML in WebDAV, the Distributed Authoring and Versioning protocol, its abstract model, why XML is used in WebDAV, the WebDAV Protocol DTD, and the standards update process. Learn why WebDAV leverages XML for distributed authoring and versioning tasks.
E N D
XML in WebDAVor, a Tale of Two Standards Rohit Khare (with Jim Whitehead) UC Irvine November 15, 1998 • CSCW'98 Originally for XML’98 Dev Day
XML in WebDAV • “Distributed Authoring and Versioning” • WebDAV Abstract Model • Why WebDAV Used XML • The WebDAV Protocol DTD • PROPFIND Example (§ 7.1.1) • Standards Process Update • Call to Arms XML in WebDAV // Khare
Distributed Authoring • Very first Web tools edited, too • ... but didn’t have collaboration support • WebDAV founded to prevent “lost-update” • HTTP extensions to update documents • Metadata to describe sites and pages • Implemented with XML • ... about 1/3 of the spec (by volume) XML in WebDAV // Khare
WebDAV Abstract Model • Resources • Properties • create, remove, and query metadata; links • Collections • Locks • exclusive or shared write access • Namespace Operations • atomic copy and move commands XML in WebDAV // Khare
Why WebDAV Used XML • Used XML in headers and entity-bodies • to add extra XML elements to existing data • to support internationalization • Used whenever arguments: • are unbounded length • are shown to humans • Decentralized Extensibility • e.g. new locktypes beyond write access XML in WebDAV // Khare
The WebDAV Protocol DTD • Protocol elements • activelock, multistatus, link, propfind • Property elements • creationdate, displayname, getcontentlength • The DAV: Namespace • Reference-by-copy of a previous draft (§24.4) • About to be updated by the new one! • “as” about to be replaced by “xmlns” XML in WebDAV // Khare
PROPFIND Example (§ 7.1.1) • HTTP/1.1 207 Multi-Status • Content-Type: text/xml • Content-Length: xxxxx • <?xml version="1.0"?> • <?xml:namespace ns="DAV:" prefix="D"?> • <?xml:namespace ns="http://www.foo.bar/boxschema/" prefix="R"?> • <D:multistatus> <D:response> • <D:href>http://www.foo.bar/files/</D:href> • <D:propstat> <D:prop> • <R:bigbox> <R:BoxType>Box type A</R:BoxType> </R:bigbox> • <R:author> <R:Name>J.J. Johnson</R:Name> • </R:author> </D:prop> • <D:status>HTTP/1.1 200 OK</D:status> • </D:propstat> <D:propstat> • <D:prop><R:DingALing/><R:Random/></D:prop> • <D:status>HTTP/1.1 403 Forbidden</D:status> • <D:responsedescription> The user does not have access to the DingALing property. • </D:responsedescription> • </D:propstat> • </D:response> • <D:responsedescription> An access violation error. </D:responsedescription> • </D:multistatus> • PROPFIND /files/ HTTP/1.1 • Host: www.foo.bar • Depth: 0 • Content-type: text/xml • Content-Length: xyz • <?xml version="1.0"?> • <?xml:namespace ns="DAV:" prefix="D"?> • <?xml:namespace ns="http://www.foo.bar/boxschema/" prefix="R"?> • <D:propfind> • <D:prop> • <R:bigbox/> • <R:author/> • <R:DingALing/> • <R:Random/> • </D:prop> • </D:propfind> XML in WebDAV // Khare
Standards Process Update • Imminent IETF Proposed Standard • Next steps: IESG Approval, Implementations • Launching DAV Searching & Location (DASL) WG ; Access Control Lists (ACL) to come • Support from several vendors • Microsoft, Netscape prototype servers • Workflow vendors • More announcements on the way... XML in WebDAV // Khare
Call to Arms • WebDAV uses XML • ... for its protocol commands • ... for its properties/ metadata • WebDAV can manage XML • ... ideal for versioning • ... manages source and derived editions • Protocols can be built atop XML • ... though it was tough to coordinate maturity XML in WebDAV // Khare
For More Information... • WebDAV Working Group • w3c-dist-auth@w3.org mailing list • Meeting @ LA IETF • Chair: E. James Whitehead • ejw@ics.uci.edu • http://www.ics.uci.edu/~ejw/authoring • (this talk will be available at that url) • Acknowledgments to many, many others XML in WebDAV // Khare