Re: Relationship between scopes and version histories

Julian Reschke wrote:

>A relatively frequent use case for servers that both support versioning and
>DASL seems to have searches that include all versions of the resources in
>scope. In general, the version URIs may not be in the scope of the query.
>
Ahh, I'd not thought of this use case, thanks for recognizing this and 
pointing it out.

>Therefore, I'd like to extend the DAV:scope to specify inclusion of
>versions. This would be an optional extension -- however, a server that does
>not support his feature should reject the request (so that the client would
>know that the request could not be satisfied).
>
>Example:
>
>    <d:from xmlns:d="DAV:">
>      <d:scope>
>        <d:href>/container1/</d:href>
>        <d:depth>infinity</d:depth>
>        <d:include-versions />
>      </d:scope>
>    </d:from>
>
This extension seems reasonable to me. One question I have is whether 
some servers implementation of versioning would result in the version 
URIs being in the scope of the search unintentionally? If so, then it 
may also be reasonable to add <d:exclude-versions/> as well. I'd be a 
little miffed if my seemingly well-formed query returned matches on all 
the version histories of a resource and I was unable to turn it off easily.

Without knowledge of how a given server implements versioning, it will 
be difficult for a client to know how to modify a query such that it 
excludes previous versions of resources. Further, since different 
servers will implement versioning differently, clients may end up using 
special cases for different servers - something to be avoided. An 
alternate approach to defining <d:exclude-versions/> would be to specify 
that in the absence of <d:include-versions/>, the default behavior MUST 
exclude previous versions of resources from the scope of a query.


Elias

Received on Wednesday, 5 February 2003 12:39:56 UTC