WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault...

15
WebDAV – IETF 56 WebDAV – IETF 56

Transcript of WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault...

Page 1: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

WebDAV – IETF 56WebDAV – IETF 56

Page 2: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

AgendaAgenda

Interim WG meeting and Interop Testing - JimInterim WG meeting and Interop Testing - Jim

RFC2518bis: Lisa DusseaultRFC2518bis: Lisa Dusseault– GULP = Grand Unified Lock ProposalGULP = Grand Unified Lock Proposal– Other issuesOther issues

Quota: Brian KorverQuota: Brian Korver

Bindings: Geoff ClemmBindings: Geoff Clemm

Ordered Collections: Geoff ClemmOrdered Collections: Geoff Clemm

ACL: Geoff ClemmACL: Geoff Clemm

DASL: volunteer??DASL: volunteer??

Page 3: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Interop/Interim resultsInterop/Interim results

Held face-to-face interoperability testing event in Held face-to-face interoperability testing event in Sept, 2002Sept, 2002– 37 people attended, tested 13 clients, 16 servers37 people attended, tested 13 clients, 16 servers– much improvement in interoperabilitymuch improvement in interoperability

Progress underway to develop improved Progress underway to develop improved compliance test suitecompliance test suite– Improved version of LitmusImproved version of Litmus– "Harry" a database-driven compliance tester"Harry" a database-driven compliance tester– Both currently held up by Adobe IP release processBoth currently held up by Adobe IP release process– Work underway to address thisWork underway to address this

Continuous online interoperability testingContinuous online interoperability testing

Page 4: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

GULPGULP

Do UNLOCK requests to an indirectly Do UNLOCK requests to an indirectly locked resource work?locked resource work?– Or does the client have to address lockroot?Or does the client have to address lockroot?

Change/clarify what “submitted” means Change/clarify what “submitted” means – W.r.t. lock tokens submitted in the If headerW.r.t. lock tokens submitted in the If header

Keep in mind goals of RFC2518bis and Keep in mind goals of RFC2518bis and GULPGULP– Clarify without changing specClarify without changing spec– Improve interoperabilityImprove interoperability

Page 5: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Agreed text so farAgreed text so far

A lock either directly or indirectly locks a A lock either directly or indirectly locks a resource.resource.

A LOCK request creates a new lock, and the A LOCK request creates a new lock, and the resource identified by the request-URL is directly resource identified by the request-URL is directly locked by that lock. The "lock-root" of the new locked by that lock. The "lock-root" of the new lock is the request-URL. If at the time of the lock is the request-URL. If at the time of the request, the request-URL is not mapped to a request, the request-URL is not mapped to a resource, a new resource with no content MUST resource, a new resource with no content MUST be created by the request.be created by the request.

Page 6: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Agreed text continuedAgreed text continued

If a collection is directly locked by a depth:infinity lock, all If a collection is directly locked by a depth:infinity lock, all members of that collection (other than the collection members of that collection (other than the collection itself) are indirectly locked by that lock. In particular, if a itself) are indirectly locked by that lock. In particular, if a internal member is added to a collection that is locked by internal member is added to a collection that is locked by a depth:infinity lock, and if the resource is not locked by a depth:infinity lock, and if the resource is not locked by that lock, then the resource becomes indirectly locked by that lock, then the resource becomes indirectly locked by that lock. Conversely, if a resource is indirectly locked that lock. Conversely, if a resource is indirectly locked with a depth:infinity lock, and if the result of removing an with a depth:infinity lock, and if the result of removing an internal member URL identifying that resource is that the internal member URL identifying that resource is that the resource is no longer a member of the collection that is resource is no longer a member of the collection that is directly locked by that lock, then the resource is no directly locked by that lock, then the resource is no longer locked by that lock.longer locked by that lock.

Page 7: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

First problemFirst problem

““An UNLOCK request deletes the lock with An UNLOCK request deletes the lock with the specified lock token. The request-URL the specified lock token. The request-URL of the request MUST identify a resource of the request MUST identify a resource that is either directly that is either directly or indirectly or indirectly locked by locked by that lock. After a lock is deleted, no that lock. After a lock is deleted, no resource is locked by that lock.”resource is locked by that lock.”

Confirm indirect?Confirm indirect?

Page 8: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Second problem: “submitted”Second problem: “submitted”

““A lock token is "submitted" in a request A lock token is "submitted" in a request when it appears in an If header.“when it appears in an If header.“

Julian asked for this to say that the token Julian asked for this to say that the token must be tagged with the lockroot URLmust be tagged with the lockroot URL– That is inconsistent with RFC2518 untagged That is inconsistent with RFC2518 untagged

syntaxsyntax– Breaks clientsBreaks clients– Harder to get rightHarder to get right

Page 9: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

What is lockedWhat is locked

The following operations must fail unless the The following operations must fail unless the lock-token for the lock is submitted in the lock-token for the lock is submitted in the request: request: 1. modify the content for a locked resource1. modify the content for a locked resource2. modify a dead property of a locked resource, 2. modify a dead property of a locked resource, 3. modify a 3. modify a lockable lockable live property be for a locked live property be for a locked resourceresource4. modify an internal member URL in a locked 4. modify an internal member URL in a locked collection,collection,5. modify any content, properties or URLs of any 5. modify any content, properties or URLs of any descendent of a depth-infinity locked collection.descendent of a depth-infinity locked collection.

Page 10: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Last pieceLast piece

If a request causes a directly locked If a request causes a directly locked resource to no longer be mapped to the resource to no longer be mapped to the lock-root of that lock, then the request lock-root of that lock, then the request MUST fail unless the lock-token for that MUST fail unless the lock-token for that lock is submitted in the request. If the lock is submitted in the request. If the request succeeds, then that lock MUST request succeeds, then that lock MUST have been deleted by that request. If a have been deleted by that request. If a request would cause a resource to be request would cause a resource to be locked by two different exclusive locks, the locked by two different exclusive locks, the request MUST fail.request MUST fail.

Page 11: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Allprop replacement proposalAllprop replacement proposal

<propfind xmlns=“DAV:”><propfind xmlns=“DAV:”>

<prop><prop>

<resourcetype/><resourcetype/>

<getlastmodified/><getlastmodified/>

<quota xmlns=“http://www.xythos.com/ns/”/><quota xmlns=“http://www.xythos.com/ns/”/>

</prop></prop>

<dead-props/><dead-props/>

</propfind></propfind>

Page 12: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

207 Replacement207 Replacement

Proposal AProposal A– Define “partial success” responseDefine “partial success” response– New 400-level error codeNew 400-level error code– Multi-status bodyMulti-status body

Proposal BProposal B– Do nothingDo nothing– Not an interoperability problemNot an interoperability problem

Page 13: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Are ETags requiredAre ETags required

Current consensus Current consensus appearsappears to be to be– Servers SHOULD implementServers SHOULD implement– Standard will explain why this is a really good Standard will explain why this is a really good

ideaidea

Page 14: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Response bodies with extensible Response bodies with extensible error codeserror codes

Some text in latest version of rfc2518bisSome text in latest version of rfc2518bis

To do a complete job, need to define more To do a complete job, need to define more codes and exactly what they meancodes and exactly what they mean

Guidance from WG?Guidance from WG?

Page 15: WebDAV – IETF 56. Agenda Interim WG meeting and Interop Testing - Jim RFC2518bis: Lisa Dusseault –GULP = Grand Unified Lock Proposal –Other issues Quota:

Small changesSmall changes

Changed domains to “example.com” or Changed domains to “example.com” or “example.org”“example.org”

Clarification how live property copy works Clarification how live property copy works differently than live property movedifferently than live property move

More If header parsing/handling clarityMore If header parsing/handling clarity

Require servers supporting ‘bis’ to handle Require servers supporting ‘bis’ to handle commas in If headercommas in If header