[ return to the DeltaV pages ]
NOTE: This FAQ system has been taken offline during a recent machine move. A new FAQ system will be put into place. This is a static capture of all the content from the old FAQ system.
(Category) Delta-V FAQ
This FAQ relates to the history, rationale, protocol, and explanation of the Delta-V Internet Draft.

It exists to capture the questions frequently asked within the working group, and to capture the Delta-V equivalent of the 'Book of Why'.

The FAQ is open for anyone at add new answers -- and everyone is encouraged to contribute.

Categories:
(Category) Terminology and Interpreting the Specification
(Category) Scope and Relationship to WebDAV
(Category) Basic Versioning Features
(Category) Version-Control Feature
(Category) Checkout-in-place Feature
(Category) Version History Feature
(Category) Workspace Feature
(Category) Baseline Feature
(Category) None of the above

Answers in this category:
(Answer) How do I use this FAQ?
(Answer) Why are all not all Delta-V features shown as categories?

Properties Registry:
(Category) Properties Registry
(Answer) New Item

[Add a New Answer in "Delta-V FAQ"]
(Category) (Category) Delta-V FAQ :
Terminology and Interpreting the Specification
Subcategories:

Answers in this category:
(Answer) What is a VCR?
(Answer) Abbreviations
(Answer) Where is the latest version of RFC3253?

[Add a New Answer in "Terminology and Interpreting the Specification"]
(Answer) (Category) Delta-V FAQ : (Category) Terminology and Interpreting the Specification :
What is a VCR?
If you are in a TV shop it is probably a Video Cassette Recorder, but if you are reading the Delta-V mailing list it is most likely referring to a "Version-Controlled Resource".
Tim_Ellison
VCR is resource that is going to be versioned.
saurabhs
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Terminology and Interpreting the Specification :
Abbreviations
VCR: version-controlled resource
VCCn: version-controlled configuration
VCCl: version-controlled collection
VHR: version-history resource
WR: working resource
geoffrey.clemm
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Terminology and Interpreting the Specification :
Where is the latest version of RFC3253?
IETF procedure requires that no changes be made to an RFC once it is published. Therfore, there is only one version of RFC3253.

As errors are detected, and changes made based on further reviews and implementation experience, updates to the document will be made available in an issues list -- currently stored at http://www.webdav.org/deltav/protocol/rfc3253-issues-list.htm
Tim_Ellison

[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Scope and Relationship to WebDAV
Subcategories:

Answers in this category:
(Answer) Is Workflow Management in Scope?
(Answer) Why doesn't the document state that LOCK or whatever is unchanged?
(Answer) Why does Delta-V not report live properties via PROPFIND DAV:allprop?
(Answer) Can a client retrieve all properties in one go?

[Add a New Answer in "Scope and Relationship to WebDAV"]
(Answer) (Category) Delta-V FAQ : (Category) Scope and Relationship to WebDAV :
Is Workflow Management in Scope?
The versioning protocol has no explicit support for workflow management, but the "activity" object should be used as the basis for simple workflow management. Currently, an activity tracks the versions that are the "products" of that activity, but for workflow management, an activity would need to be extended with standard properties for information such as a state machine and activity dependencies.
geoffrey.clemm
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Scope and Relationship to WebDAV :
Why doesn't the document state that LOCK or whatever is unchanged?
It is not common practise for a new specification to state all the things that it does *not* change, just as it does not state what it has omitted.

With the versioning protocol, everything stated in HTTP/1.1 (RFC2616) and WebDAV (RFC2518) still holds unless it has been explicitly extended or modified by the versioning protocol.
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Scope and Relationship to WebDAV :
Why does Delta-V not report live properties via PROPFIND DAV:allprop?
There are a few reasons why Delta-V specifies that servers should not report all versioning properties to a PROPFIND requaest for DAV:allprop.

Some of the live properties defined in Delta-V are likely to be expensive for the server to compute. In fact, there are properties that will provide substantial queries over the versioning resources and these are very powerful. A server can be seriously impacted by serving such requests for numerous resources, such as in a Depth: infinity request.

It is unlikely that clients will require all the live properteis of a versioned resource if they are versioning unaware. They will neither be able to interpret the values they are given, nor know how they can cuase the values to change. It is much more appropriate for clients to query live properties 'intelligently', i.e. knowing what they are asking and what they intend to do with the information.
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Scope and Relationship to WebDAV :
Can a client retrieve all properties in one go?
No, currently not.

DeltaV introduces quite some new live properties which might
be expensive to compute for a server. Thus, the new DeltaV
live properties where excluded from PROPFIND requests with
allprop.

When a client uses prop (huge list of properties) prop in
a PROPFIND, it of course gets an answer from the server with
information about all those properties. However it will miss
all the properties, it does not know about. That could be new
live properties added by new DAV extensions, or dead properties
set by users/other clients.

propname will return the names of all properties, but a client
has to make a second PROPFIND request with all those names to 
actually get the values, too. Also, note that a client cannot
cache the list of names. There are many cases (e.g. checked-in,
checked-out) where the list of names changes frequently.

Conclusion: no, a client cannot.

How bad is it? Well, a versioning aware client would want to know
what type a resource is. For this, it has to know the set of
supported live properties of a resource, but supported-live-property-set
is not part of a allprop response. That means that a client
has to make 2 PROPFIND requests for every resource it wants to
know about (using Depth 1 will help of course).
 
stefan.eissing
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Basic Versioning Features
Subcategories:

Answers in this category:
(Answer) Are parameters legal in URLs to versions or version histories?
(Answer) Explain the DAV:version-history-is-tree precondition for UNLOCK
(Answer) Why does DAV:comment contain DAV:string elements?
(Answer) Why do we need DAV:precursor-set?
(Answer) Why is there a distinction between predecessors and precursors?

[Add a New Answer in "Basic Versioning Features"]
(Answer) (Category) Delta-V FAQ : (Category) Basic Versioning Features :
Are parameters legal in URLs to versions or version histories?
Apparently, not if the parameters are essential to identifying the version or version history.
DeltaV defines versions as resources, version histories as resources, and version-controlled resources as (duh) resources.
WebDAV (2518) defines resources as having URLs where the parameters don't matter. In other words, two URLs that differ only in their parameter information refer to the same resource.
Therefore, if a URL refers to a version or version history, it cannot have the same base URL as the URL which refers to a VCR. It must have a different base URL. (By base url I mean the part up to and not including the parameters).
lisa
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Basic Versioning Features :
Explain the DAV:version-history-is-tree precondition for UNLOCK
The VERSION-Control method introduces additional UNLOCK semantics, including

"(DAV:version-history-is-tree): If the request-URL identifies a version-controlled resource that was automatically checked out because DAV:auto-version was DAV:when-locked, then the versions identified by the DAV:predecessor-set of the checked-out resource MUST be descendants of the root version of the version history for the DAV:checked-out version."

When a version-controlled resource is left checked-out (which in core can only happen because DAV:auto-version was DAV:when-locked), the DAV:predecessor-set can be updated by the client. It could update the predecessor set to refer to some random resource that is not in the version history. This postcondition prevents that. (from Geoff)
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Basic Versioning Features :
Why does DAV:comment contain DAV:string elements?
DAV:comment is defined as

<!ELEMENT comment (string*)>
<!ELEMENT string (#PCDATA)>

This was specifically requested to support internationalization. You can have the comment string in multiple languages this way.
Tim_Ellison

The DAV:string element was removed in the 12.1 draft. DAV:comment now simply contains a "string" (per Sec 1.5.6).
gstein
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Basic Versioning Features :
Why do we need DAV:precursor-set?
Clemm, Geoff [gclemm@rational.com] wrote in the deltaV mailing list:
A workspace is only allowed to have one VCR for a given version history, to ensure that baselining and merging is unambiguous (baselining and merging in a workspace is based on finding the version history that corresponds to the version being merged), so if you want to create a "variant" of a resource in the same workspace, this requires two different version histories. In order to track the relationship between these two variants (i.e. when the diverged, and from what common version), the DAV:precursor-set property was introduced.
It was then decided by the working group that this "history of a COPY" was something of general utility (using arguments similar to those that Rick posted), and since it provides utility with minimal server implementation cost, it was made part of the base protocol.
stefan.eissing
Note that in the final pass for RFC3253 the DAV:precursor-set was dropped. So I guess it wasn't so important after all :-)
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Basic Versioning Features :
Why is there a distinction between predecessors and precursors?
Predecessors MUST be part of the same version history resource, and precursors MUST NOT be part of the same version history resource.
It makes a big difference to the client whether a version is in the same history as another version, in terms of what you can do (for example, you cannot UPDATE a version-controlled resource to be a precursor of the checked-in version, but you can UPDATE it to a predecessor).
Tim_Ellison
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Version-Control Feature
Subcategories:

Answers in this category:
(Answer) Why is there DAV:supported-method-set when we have OPTIONS?

[Add a New Answer in "Version-Control Feature"]
(Answer) (Category) Delta-V FAQ : (Category) Version-Control Feature :
Why is there DAV:supported-method-set when we have OPTIONS?
There are two good reasons for having a DAV:supported-method-set property: Consistency and speed.
A client can get a picture of the resource properties _and_ the methods that are supported with one PROPFIND request. This allows a consistent view on the state and type of a resource.
 

stefan.eissing
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Checkout-in-place Feature

Tim_Ellison
Subcategories:

Answers in this category:

[Add a New Answer in "Checkout-in-place Feature"]
(Category) (Category) Delta-V FAQ :
Version History Feature
Subcategories:

Answers in this category:
(Answer) Can more than one version history exist for a version-controlled resource?

[Add a New Answer in "Version History Feature"]
(Answer) (Category) Delta-V FAQ : (Category) Version History Feature :
Can more than one version history exist for a version-controlled resource?
Answer from Tim Ellison: No. Only one version history resource exists for any one version-controlled resource.
lisa
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Workspace Feature
FAQs relating to the Delta-V workspace feature.
Tim_Ellison
Subcategories:

Answers in this category:

[Add a New Answer in "Workspace Feature"]
(Category) (Category) Delta-V FAQ :
Baseline Feature
FAQ's about the DeltaV baseline feature.
Tim_Ellison
Subcategories:

Answers in this category:
(Answer) Can a non-version-controlled resource have a DAV:version-controlled-configuration property?

[Add a New Answer in "Baseline Feature"]
(Answer) (Category) Delta-V FAQ : (Category) Baseline Feature :
Can a non-version-controlled resource have a DAV:version-controlled-configuration property?
All members of a baseline-controlled collection (that are not members of another configuration) have a DAV:version-controlled-configuration property that identifies the version-controlled configuration whose root collection is that baseline-controlled collection. The state of a non-version-controlled member will not be captured by versions (baselines) of the VCCn identified by its DAV:version-controlled-configuration property, but this property is still useful because it indicates the VCCn that must be checked out in order to place that non-VCR under version control.
geoffrey.clemm
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
None of the above
Subcategories:

Answers in this category:
(Answer) Implementing Patches with DeltaV

[Add a New Answer in "None of the above"]
(Answer) (Category) Delta-V FAQ : (Category) None of the above :
Implementing Patches with DeltaV
What's the best way to model a patch set in deltaV? (Let's say I want to create a configuration including only the files in a collection, recursively, that have changed since a particular baseline.)
Answer:
You can create a new baseline in the collection, and then use the DAV:compare-baseline report to describe the differences.
Creating a collection that just contains the "changed files" doesn't really capture the change, since it can only capture additions, and not moves or deletions.


eric.sedlar

[Append to This Answer]
(Answer) (Category) Delta-V FAQ :
How do I use this FAQ?
Take a look at the FAQ-O-Matic user pages for instructions on reading and posting answers to the FAQ.
[Append to This Answer]
(Answer) (Category) Delta-V FAQ :
Why are all not all Delta-V features shown as categories?
Well, I figured I could have created a bunch of empty categories, but since _you_ can create them when you have an answer to contribute, I just created enough for you to see the pattern and get going.
Go for it!
Tim_Ellison
[Append to This Answer]
(Category) (Category) Delta-V FAQ :
Properties Registry
An experiment to see if we can capture the names and semantics of WebDAV properties, to promote interoperability.

The subcategories of the registry are URI's corresponding to the XML namespaces of defined properties.
Property descriptions should contain the purpose of the property, any semantics enforced by the server, and the syntax of the value (preferably as a DTD-like description).
Tim_Ellison

Namespace:
(Category) DAV:

(Answer) Where can I find all MS namespaces?

[Add a New Answer in "Properties Registry"]
(Category) (Category) Delta-V FAQ : (Category) Properties Registry :
DAV:
All properties in the DAV: namespace are reserved for WebDAV specifications.

Properties defined outside the IETF WebDAV (and associated) working group MUST NOT use the DAV: namespace URI.
Tim_Ellison

Property Names:
(Answer) creationdate
(Answer) displayname
(Answer) getcontentlanguage
(Answer) getcontentlength
(Answer) getcontenttype
(Answer) getetag
(Answer) getlastmodified
(Answer) lockdiscovery
(Answer) resourcetype
(Answer) source
(Answer) supportedlock

Microsoft Webfolders' extensions in the DAV: namespace:
(Answer) contentclass
(Answer) defaultdocument
(Answer) href
(Answer) iscollection
(Answer) ishidden
(Answer) isreadonly
(Answer) isroot
(Answer) isstructureddocument
(Answer) lastaccessed
(Answer) name
(Answer) parentname

Other DAV: properties:
(Answer) Where can I find the MS DAV: extensions?

[Add a New Answer in "DAV:"]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
creationdate
From RFC2518:
The creationdate property should be defined on all DAV compliant resources. If present, it contains a timestamp of the moment when the resource was created (i.e., the moment it had non- null state).

The value is a date-time (see RFC2518 Appendix 2).

<!ELEMENT creationdate (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
displayname
From RFC2518:
The displayname property should be defined on all DAV compliant resources. If present, the property contains a description of the resource that is suitable for presentation to a user.

<!ELEMENT displayname (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
getcontentlanguage
From RFC2518:
The getcontentlanguage property MUST be defined on any DAV compliant resource that returns the Content-Language header on a GET.

The value is a language-tag ;language-tag is defined in section 14.13 of [RFC2068].

<!ELEMENT getcontentlanguage (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
getcontentlength
From RFC2518:
The getcontentlength property MUST be defined on any DAV compliant resource that returns the Content-Length header in response to a GET.

The value is a content-length ; see section 14.14 of [RFC2068].

<!ELEMENT getcontentlength (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
getcontenttype
From RFC2518:
This getcontenttype property MUST be defined on any DAV compliant resource that returns the Content-Type header in response to a GET.

The value is a media-type ; defined in section 3.7 of [RFC2068].

<!ELEMENT getcontenttype (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
getetag
From RFC2518:
The getetag property MUST be defined on any DAV compliant resource that returns the Etag header.

The value is an entity-tag ; defined in section 3.11 of [RFC2068].

<!ELEMENT getetag (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
getlastmodified
From RFC2518:
Note that the last-modified date on a resource may reflect changes in any part of the state of the resource, not necessarily just a change to the response to the GET method. For example, a change in a property may cause the last-modified date to change. The getlastmodified property MUST be defined on any DAV compliant resource that returns the Last-Modified header in response to a GET.

The value is a HTTP-date ; defined in section 3.3.1 of [RFC2068].

<!ELEMENT getlastmodified (#PCDATA) >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
lockdiscovery
From RFC2518:
The lockdiscovery property returns a listing of who has a lock, what type of lock he has, the timeout type and the time remaining on the timeout, and the associated lock token. The server is free to withhold any or all of this information if the requesting principal does not have sufficient access rights to see the requested data.

<!ELEMENT lockdiscovery (activelock)* >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
resourcetype
From RFC2518:
The resourcetype property MUST be defined on all DAV compliant resources. The default value is empty.

<!ELEMENT resourcetype ANY >
Tim_Ellison

Note that Microsoft Webfolders interprets any non-empty resourcetype value as a colelction type resource (that is, it shows a folder icon). So if you have a resource type of, say, < DAV:version-history/> then it will appear as a collection even if it does not support collection semantics.
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
source
From RFC2518:
The source of the link (src) is typically the URI of the output resource on which the link is defined, and there is typically only one destination (dst) of the link, which is the URI where the unprocessed source of the resource may be accessed. When more than one link destination exists, this specification asserts no policy on ordering.

<!ELEMENT source (link)* >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
supportedlock
From RFC2518:
The supportedlock property of a resource returns a listing of the combinations of scope and access types which may be specified in a lock request on the resource. Note that the actual contents are themselves controlled by access controls so a server is not required to provide information the client is not authorized to see.

<!ELEMENT supportedlock (lockentry)* >
Tim_Ellison

[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
contentclass
Used by Microsoft webfolders -- don't know what this means.
Tim_Ellison
"Every resource in the Exchange store belongs to a content class, or category, which identifies the purpose of the resource. Every content class is associated with at least one Exchange store schema property related to the type of resource the content class describes. For example, the content class urn:content-classes:appointment has properties that are related to appointments." from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/wss_references_contentclasses.asp (follow this link to see the predefined MS Exchange content classes)
See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_cdo_schema_dav.asp
Example: urn:content-classes:message
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
defaultdocument
Microsoft webfolders extension, originally defined in http://alternic.net/drafts/drafts-h-i/draft-hopmann-collection-props-00.txt
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
href
The Microsoft webfolders client requests an href property. Don't know how it is defined.
Tim_Ellison
Read-only. The absolute URL of an item. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_cdo_schema_dav_href.asp
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
iscollection
A Microsoft webfolders property that was first defined in http://alternic.net/drafts/drafts-h-i/draft-hopmann-collection-props-00.txt
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
ishidden
A Microsoft webfolders extension first defined in http://alternic.net/drafts/drafts-h-i/draft-hopmann-collection-props-00.txt
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
isreadonly
Microsoft Webfolders extension.
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
isroot
Microsoft webfolders extension. Requested by the client, but unknown specification.
Tim_Ellison
The isroot field specifies whether an item is a root folder. Presumably read only then? http://msdn.microsoft.com/library/en-us/wss/wss/_cdo_schema_dav_isroot.asp?frame=true
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
isstructureddocument
Microsoft Webfolders extension originally described in http://alternic.net/drafts/drafts-h-i/draft-hopmann-collection-props-00.txt
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
lastaccessed
Microsoft Webfolders extension. Unspecified.
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
name
Microsoft Webfolders extension. Requested by the client by unspecified.
Tim_Ellison
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
parentname
Microsoft Webfolders extension. Unspecified.
Tim_Ellison
The parentname field specifies the name of the folder that contains an item. (Its not clear from the MS spec how this can make sense, since resources can appear under multiple collections in the DAV spec. i.e., this makes no sense in the presence of symbolic links) http://msdn.microsoft.com/library/en-us/wss/wss/_cdo_schema_dav_parentname.asp?frame=true
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry : (Category) DAV: :
Where can I find the MS DAV: extensions?
The various extensions to the DAV: namespace used by MS Explorer are supported by Sharepoint and MS Exchange. So, the documentation for them is in their SDK:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_cdo_schema_dav.asp
Note that this includes ones missing from previous IETF drafts on the subject, such as href, and parentname.
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ : (Category) Properties Registry :
Where can I find all MS namespaces?
Microsoft have documented - to an extent - the namespaces they are using for the Exchange/Sharepoint family of servers. You can find it in the Exchange SDK documentation:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/wss_references_nsproperties.asp
This includes the proprietary extensions to DAV: that MS Explorer uses, plus namespaces and properties for appointments, events, messages, office docs etc. Unfortunately some information is seriously lacking, such as the format used for dates (the examples given appear to use the locale of the server?), liveness of properties, etc.
Brian.Ewins
[Append to This Answer]
(Answer) (Category) Delta-V FAQ :
New Item
[Append to This Answer]
This document is: http://www.webdav.org/deltav/faq/?file=1
[Search] [Appearance] [Show Top Category Only]
This is a Faq-O-Matic 2.711.
This FAQ administered by Greg Stein.