Subject: RE: File creation date, version creation date, and getlastmodified

From: [email-masked]
Date: Thu, 3 May 2001 11:49:10 +0100

Lisa Dusseault wrote:

> WebDAV people:  RFC2518 leaves it carefully open whether
> 'getlastmodified' changes when properties of the resource
> change.  It seems useful either way -- users might want to
> get the last time the content was changed, or they might
> want to see the last time the file was touched at all.  Is
> there some precedent?

I seem to recall that moddav does not change the last modified timestamp
when properties are updated.

There has been discussion on this topic previously, with a weak consensus
that the properties should not contribute to last modified changes.  I
think this is the right answer.

Peter Raymond <[email-masked]> wrote:

> One example of why we keep the "last modified" date separate
> is that our build system uses this to compare with timestamps
> of files on disk to decide if the file is out of date.  If the
> WebDAV client set the last modification time each time a
> property was changed then the build system would think the file
> on disk was "out of date" compared to the file held in version
> control.

I think that this is a common scenario, also found on caching proxies, that
relies upon property updates not being considered a change to the resource.

Clearly there is some ambiguity here.  On the one hand, properties appear
to be 'part of' a resource.  They appear when a resource is created, and
disappear when a resource is deleted.  Operations on a property are via the
URL of the resource.  However, live properties exhibit behaviour that sets
them apart from the resource.  They can change even when a resource is
versioned or locked, and (at least in a couple of implementations) changes
to the resource's properties do not change the last modified timestamp of
the resource.

Lisa Dusseault wrote:

> DeltaV people: What does it mean to get the time file content
> was last "modified", if the file is versioned?  I don't see
> that the behaviour of getlastmodified is specified for a
> Version-Controlled Resource, can this be a recommendation in
> the spec to promote consistency?  For one thing, should
> 'getlastmodified' on the VCR change when it is checked out,
> or when it is checked in, or both?

When a version-controlled resource is checked-out its contents and dead
properties are updated to be the same as the version identified in the
DAV:checked-in property.  Therefore the DAV:getlastmodified timestamp
clearly should be updated to reflect the changes.  Note that the timestamp
value is the server's notion of the time the version-controlled resource
was modified and not the same as the checked-in version's
DAV:getlastmodified.

When a version-controlled resource is checked-in, its content and dead
properties become those of a new version in the version history.  Some live
properties of the version-controlled resource are updated to reflect its
checked-in status.  In this case I argue that the DAV:getlastmodified
timestamp does not change.

Furthermore, if you use UPDATE to update the content and dead properties of
a version-controlled resource to reflect the state of a version in version
history, the DAV:getlastmodified timestamp will be the time that the UPDATE
method was applied and not that of the version.  It it were otherwise
updating the version-controlled resource to an earlier version would make
the last modified time go 'backwards' which would potentially screw up
caching proxies and clients that rely on If-Unmodified-Since: headers etc.

> - time the file was last touched

What is your definition of touched?  Dead property updates?  Given the
number of live / computed properties I assume you agree that their values
do not contribute to the touched timestamp?

Regards,

Tim Ellison
Java Technology Centre, MP146
IBM UK Laboratory, Hursley Park, Winchester, UK. SO21 2JN
tel: +44 (0)1962 819872  internal: 249872  MOBx: 270452

---

From: "Sridhar Erukulla" <[email-masked]>
Date: Thu, 3 May 2001 13:03:30 -0400

In our document management system we have two concepts, 'Object'
and 'Document'. An 'Object' comprises of a 'Document' and all its
properties. The function GetLastModified for a document retrieves
when the actual document was modified where as for an object when
the object was modified which includes the properties and
document.

We found that this distinction was critical in distinguishing the
physical actions like library maintenance, caching etc. vs. the
business operations like using workflow.

-S

---

From: "Lisa Dusseault" <[email-masked]>
Date: Thu, 3 May 2001 10:38:04 -0700

If this system has been exposed via WebDAV, I'd be quite interested to hear
how you did it.  What does the resource URL point to?  Did you find WebDAV
lacking?  How did you work around it or extend it?

lisa

> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Sridhar Erukulla
> Sent: Thursday, May 03, 2001 10:04 AM
> To: [email-masked]; [email-masked];
> [email-masked]
> Subject: RE: File creation date, version creation date, and
> getlastmodified
>
>

---

From: "Dan Brotsky" <[email-masked]>
Date: Thu, 3 May 2001 11:16:38 -0700

>business operations like using workflow.

Adobe's InScope server does a similar thing distinguishing "Assets" 
from "Versions" (which are the content and dead property snapshots of 
the asset); assets as a resource have content and properties (the 
latest version) but also properties that the version doesn't have. 
Many of these "non-content" properties are about the workflow.

Our approach (prior to delta-V) has been to establish a conventional 
relationship between the asset URLs and the version URLs; in fact 
assets are (non-DAV-compliant) collections of their versions.

With delta-V stabilizing we are hoping, going forward, to use delta-V 
mechanisms to connect assets and their versions.

     dan
-- 
Daniel Brotsky, Adobe Systems
tel 408-536-4150, pager 877-704-4062
2-way pager email: <mailto:[email-masked]>

---

From: "Sridhar Erukulla" <[email-masked]>
Date: Thu, 3 May 2001 14:33:28 -0400

No, Not yet! But in future we want to expose the Document objects
first, eventually the Holder objects.

Sridhar

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]On Behalf Of Lisa Dusseault
Sent: May 3, 2001 1:38 PM
To: Sridhar Erukulla; [email-masked];
[email-masked]
Subject: RE: File creation date, version creation date, and
getlastmodified

If this system has been exposed via WebDAV, I'd be quite
interested to hear
how you did it.  What does the resource URL point to?  Did you
find WebDAV
lacking?  How did you work around it or extend it?

lisa