Issues: Bindings Last Call

ID

Source

Description

Status

Resolution

1

Eric Sedlar

Weak Bindings:

Add support for weak bindings that are guaranteed not to dangle, but that do not affect reference count.

Closed

Declined.

2

Eric Sedlar

Security and the DAV:bindings property:

State that if the user doesn't have read access to the collection that contains the binding, the binding should not be included in the response to PROPFIND on DAV:bindings. Then 16.4 is not needed.

Closed

Add a note to section 16.4 that a server could implement the policy Eric describes.

3

Eric Sedlar

DAV:resourceid for versioned resources:

Say that if the URL is a versioned resource, and the currently selected revision is changed, the resourceid will not change.

Closed

A statement to this effect has been added to the versioning spec. It won't be added to the binding spec.

4

Yaron Goland

PublishBind:

Don't reference the redirect references spec from the binding spec.

Closed

We will say only that redirect references are specified elsewhere, without cross-referencing the redirect references spec.

5

Yaron Goland

WeScrewedUp:

Attempts to map the terminology of the binding spec to the terminology of WebDAV are difficult and detract from the spec.

Closed

We will move the definition of internal member URIs to an appendix.

Check for other mentions of internal member URIs and remove.

6

Yaron Goland

4Huh?

In section 4, the following sentence is incomprehensible:

"The URI segment associated with a resource by one of a collection's bindings is also the final segment of one or more of the collection's internal member URIs."

(See also WeScrewedUp)

Closed

Section 4:

Delete the first paragraph (which contains the problem sentence).

Move the second paragraph to the introduction.

Rename Section 4 to "Integrity of Bindings" and keep paragraphs 3 and 4 here.

7

Yaron Goland

5.3Huh?

Section 5.3 is incomprehensible. Rewrite it.

Roy agrees that this is obscure.

Closed

Use Geoff’s new language instead of 1st paragraph.

8

Yaron Goland

5.4Huh?

Section 5.4 is incomprehensible. Rewrite it.

Closed

No change. We think the example will be easier to understand in light of the new language in 5.3.

9

Yaron Goland

507:

Whether the binding would be cross-server or not isn't really the issue. It could also be impossible to create a binding that crosses volumes of the same server.

Closed

We'll use 403.

Make sure it's clear that we're not redefining 403, but just describing a case where it will be returned.

10

Yaron Goland

Insulting2616:

Section 6 paragraph 1 makes statements about the intentions of RFC 2616 concerning the semantics of DELETE. Confirm with the authors of RFC 2616 that these statements are correct.

Closed

Replace the last 3 sentences of the paragraph with Roy's proposed language:

"DELETE in HTTP/1.1 now refers to deletion of any binding, including those created by BIND."

11

Yaron Goland

AtomicDelete:

The requirement that delete be atomic is not acceptable.

1. Interoperability problems with existing WebDAV servers.

2. File systems cannot implement atomic delete.

3. The suggestion that delete be implemented as move to get atomicity is not really feasible.

4. Too expensive to implement in a distributed context.

Open

Geoff send mail with new proposal.

11A

Roy Fielding, Reuter/Hunt

Single operations do not imply atomicity. Atomic implies that nothing else can happen during the processing of the request, which is false for any but the most trivial operations. DELETE is never trivial.

Open

 

12

Yaron Goland

AtomicMove:

Same as atomic delete.

In addition, many file systems implement move as copy + delete, which makes it yet more difficult for them to implement atomic move.

Open

 

13

Yaron Goland

NoSlash:

HTTP and WebDAV allow URLs to end in "/", and they allow /a/b/ and /a/b to map to different resources.

Section 5.1 of the binding spec says that the segment in a binding must have its final "/" removed. This conflicts with HTTP and WebDAV.

Open

Geoff sent mail asking whether anyone is depending upon the same URL with and without trailing slash identifying different resources.

IIS, Sharemation ok. Greg Stein and Jim Davis sent mail saying ok.

Jim Whitehead will test other servers before next meeting 3/7.

14

Yaron Goland, Roy Fielding

BindSyntax:

In a BIND, the Request-URI identifies the resource to be bound, and the Destination header identifies the collection / segment.

This will be a problem when weak bindings are added. You can't require the active participation of the target resource in the creation of a weak binding.

Roy objects to the syntax on the general principle that the request URI should identify the point of modification and should determine what server mechanism will handle that namespace – and that this should all be discoverable without interpreting the rest of the request.

Yaron's proposal:

Add a Source header that could be used instead of the Destination header.

Or add language that would leave the door open for a Source header in the future.

Closed

Let the request uri be the collection being operated on, add Binding-Name header, Target header (or Ref-Target) identifies the resource being bound.

Any change to DAV:bindings property doesn't affect etag.

Revise Section 15 on OPTIONS to say that it gets submitted collection, which responds according to whether it allows bindings to be created in it or not.

15

Yaron Goland, Roy Fielding

403:

403 is too vague a response for the case where a BIND is refused because it would create a loop.

Closed

We'll define a new 4xx response code for this case.

16

Yaron Goland, Roy Fielding

ApplePie:

In section 5.1, "After successful processing of a BIND request, it MUST be possible for clients to use the URI in the Destination header to submit requests to the resource identified by the Request-URI."

This doesn't say anything useful. Delete it.

Closed

Remove this sentence.

17

Yaron Goland, Roy Fielding

ApplePieToo:

Don't try to distinguish between static and dynamic resources. There's nothing that can usefully be said in Section 9 beyond the statement that bindings add no new complexity to these methods.

OK to say that when there are multiple bindings to the same resource, requests may be sensitive to which URL is used to access the resource; but don't talk about static/dynamic.

Closed

Use Judy's proposal 1

18

Yaron Goland

ApplePie3:

Section 11 on DAV:bindings appears to be self-contradictory. It says that DAV:bindings must contain a complete list of the bindings, but also that PROPFIND on it returns only the bindings the client is authorized to see.

Closed

Use something like Yaron's proposed language. This means that the property is live and has a different value depending on who is asking.

The property definition in 13.1 also needs revision.

We will not try to make provision for future addition of weak bindings.

Yaron's proposal: something like "A client can rely upon the contents of the DAV:bindings property specifying all bindings for that resource that the client is authorized to know about." Also some qualification that will allow this requirement to be weakened when weak bindings are defined.

19

Yaron Goland

MrIntegrity:

"Integrity" is never defined, so it's impossible to know whether you are complying with the requirement that the integrity of bindings be guaranteed.

Open

Yaron's proposal:

Don't use the word "integrity." Instead, give a series of MUST statements that express the exact requirements we are trying to capture with "integrity."

Won't use "integrity:

Individual constraints on DELETE, MOVE, other operations that overwrite (and so implicitly delete). Say the constraints on what delete, move, etc. are allowed to do (affect only the binding in the request-uri). When create binding, must guarantee these semantics – delete, move, and overwrite.

While a binding in a coll exists, it will always return the same resourceid, won't be affected by delete to another collection

Language about dangling bindings.

Geoff draft new language.

(See his new language for atomic delete – issue 11.)

20

Yaron Goland

BindingsProperty:

It's possible that the DAV:bindings property might be accessible through one URL, but not through another. Say so.

Closed

No changes to spec.

21

Roy Fielding

Integrity:

There should be no requirement that the integrity of bindings be guaranteed.

Open

Discuss further with Roy / mailing list.

See Geoff’s new language for issue 11 atomic delete.

22

Roy Fielding

DELETE on nonempty collection:

Need a status code for use if a request attempts to remove the last binding to a nonempty collection, but the server requires that the collection be emptied before the last binding to it can be removed.

Closed

Will add status code.

23

Roy Fielding

Don't paginate the review draft.

Closed

We will format as required by IETF.

We'll try to produce a nicely formatted draft in addition to the one that meets IETF requirements.

24

Roy Fielding

Don't mention the redirect references spec in the Abstract.

Closed

Will remove cross-reference.

25

Roy Fielding

Move the Notational Conventions section after the Introduction.

Closed

Will move section.

26

Roy Fielding

Don't cross-reference the Redirect References spec from the introduction. Delete the paragraphs that compare bindings with redirect references.

Closed

Get rid of cross-ref.

Won’t explcitly define redirect ref to insure redirect spec is the sole place for that. Use Roy’s language pointing to another unspecified spec.

27

Roy Fielding

The rationale in the Introduction treats resources as storage objects. This is wrong.

It should just try to motivate creation of aliases in one namespace to identifiers in another namespace.

Closed

Do change language so that it doesn’t imply anything about implementation or mention storage.

28

Roy Fielding

The Introduction says that BIND creates new access paths to existing WebDAV resources. It should be to any Web resources, whether they are WebDAV resources or HTTP resources or something else.

Closed

Declined.

We meant just WebDAV resources. RFC 2518 Collection semantics and namespace consistency requirement motivate this.

Check language about PUT etc creating bindings. It does so only if in WebDAv collections.

29

Roy Fielding

Definitions of URI Mapping and Binding are unsatisfactory because:

They depend on a mistaken notion of what a resource is.

They are not sufficiently operational. Focus on what differences a client can see between a URI Mapping and a Binding.

Open

Agreed not to say that a binding is not a resource.

Agreed DAV:resourceid will be replaced by DAV:urn, which will be an optional (SHOULD) property.

Agreed to add a comparison method that determines whether two URIs map to the same resource.

Open till we check whether replacing DAV:resourceid with DAV:urn is acceptable to Roy.

30

Roy Fielding

In Section 4 the discussion of the identity of bindings is not implementable. Definitions should be operational.

Closed

Delete the paragraph on identity of bindings.

31

Roy Fielding

In the absence of the Overwrite header, BIND should fail if the Destination header identifies an existing binding.

Closed

Keep Overwrite header, change default as Roy requests.

32

Roy Fielding

Delete all but the first paragraph of Section 5.2. It's more confusing than helpful. People will figure it out for themselves.

Closed

Declined.

Example is important aid to understanding the first paragraph. We’ll keep it.

33

Roy Fielding

Roy interprets the text after response codes as definitions of the response codes, whereas they are intended as descriptions of circumstances that might cause the server to respond with that code. How to fix this.

Closed

We’ll clarify.

34

Roy Fielding

DELETE and WebDAV:

Don't discuss conflicts with WebDAV in the main body of the spec. Move this to an appendix that discusses how and why bindings differs from WebDAV.

Closed

agreed. We’ll have an appendix devoted to "Reconciliation with the WebDAV Spec."

35

Roy Fielding

DAV:resourceid is not needed for bindings.

If you need a way to determine whether 2 bindings are to the same resource, define a method applied to the collection, not to the individual bindings.

Closed

Declined.

We’ll keep DAV:resourceid.

36

Roy Fielding

There is no need for the resourceid URI scheme. A URI scheme defines a namespace, not a purpose for a namespace. Defining a new URI scheme for each new way that a URI can be used is contrary to the design goals of URI.

Closed

Get rid of section 10.1. We will not propose a new URI Scheme, just reference UUID as one way of generating unique ids that would satisfy the definition of DAV:resourceid.

37

Roy Fielding

Section 16.3 is not describing a denial of service, and is not needed in any case.

Closed

We’ll remove section 16.3.

38

Reuter/Hunt

Don't try to redefine internal member URI. Just state the requirements for what will come back in a PROPFIND request ( a single URI for each resource in its scope).

Closed

Discussion of internal member URI moves to appendix.

We won’t make any requirements about implementation.

We won’t make any statement about whether PROPFIND is allowed to return multiple hrefs for the same resource.

39

Reuter/Hunt

Maybe introduce a header for use with PROPFIND that would ask it to return an href for every URI mapped to each resource in its scope.

Closed

Declined.

40

Reuter/Hunt

Thoroughly specify all server-to-server behavior needed to support cross-server bindings.

Closed

Declined.

WebDAV protocols are client-server, not server-server.

41

Reuter/Hunt

Specify how BIND interacts with a write lock.

Closed

Declined

Locking semantics is in too confused a state currently to be able to make any reliable statements. Don’t want to hold up binding spec till lock settles down.

42

Yaron Goland

NTFS only implements bindings to files, not to collections because of the cost of loop detection. It's likely that if they support WebDAV bindings, they will support them only for files and fail any attempt to create a binding to a collection.

Closed

No changes needed.

43

Geoff Clemm

3/1/2000 teleconf

Rename the DAV:bindings property. We may someday want a property on collections that lists the bindings that are part of their state. Consider names for both properties.

Open

 

44

Tim Ellison

Provide enough information with a 506 Loop Detected in a multistatus to allow the client to reconstruct the graph.

Example in 12.1 shows only propnames returned for the 506 resource. This is not enough.

Open

 

45

Tim Ellison

Loops can still result in denial of service even if require detection.

Open

 

 

Roy Fielding:

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0125.html

Yaron Goland:

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0063.html (Summary)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0064.html (Apple Pie 3)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0065.html (DAV:bindings)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0066.html (Apple Pie Too)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0067.html (Atomic Delete)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0068.html (Atomic Move)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0069.html (No Slash)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0070.html (Bind Syntax)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0071.html (403)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0072.html (Apple Pie)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0073.html (Mr Integrity)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0074.html (Publish Bind)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0075.html (We Screwed Up)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0076.html (4 Huh?)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0077.html (5.3 Huh?)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0078.html (5.4 Huh?)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0079.html (507)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0080.html (Insulting 2616)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0226.html (NTFS)

Juergen Reuter and James Hunt:

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0161.html

Eric Sedlar:

http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0339.html

Tim Ellison:

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0434.html (44)

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0435.html (45)