100 likes | 117 Views
XML in WebDAV or, 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
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