dtcreated/ dtstamp / last-modified

Christian Mollekopf mollekopf at kolabsys.com
Mon Jun 17 18:30:35 CEST 2013


On Wednesday 12 June 2013 14.10:11 Jeroen van Meeuwen wrote:
> On 2013-06-05 11:13, Christian Mollekopf wrote:
> > On Wednesday 05 June 2013 11.08:43 Thomas Brüderli wrote:
> >> Christian Mollekopf wrote:
> >> > On Wednesday 05 June 2013 08.45:42 you wrote:
> >> >> Christian Mollekopf wrote:
> >> >>> There are three types of relevant timestamps:
> >> >>> * $A: The creation date of the conceptual object
> >> >>> * $B: The last-modified date of the conceptual object
> >> >>> * $C: The timestamp of the serialization
> >> >>> 
> >> >>> Again, In terms of layers, $A and $B belong to a higher layer than $C
> >> >>> 
> >> >>> == KEP:17 ==
> >> >>> 
> >> >>> In KEP:17 I defined the last-modified [1] date to represent $B. There
> >> >>> is
> >> >>> no
> >> >>> representation for $C in KEP:17 as it belongs to a different layer.
> >> >>> $C
> >> >>> is
> >> >>> represented by the Date header in the MIME message [2] for Kolab
> >> >>> Objects.
> >> >>> This is not strictly correct, but was considered a good enough
> >> >>> approximation. After all we don't actually want the time of
> >> >>> serialization
> >> >>> we rather want to know when the file was written to storage.
> >> >> 
> >> >> Did you also consider to save the creator and last-modification user
> >> >> (e.g.
> >> >> the email address)? This might me an interesting piece of information
> >> >> in
> >> >> a
> >> >> groupware environment. Although I suppose that neither iCalendar nor
> >> >> VCard
> >> >> have such properties defined.
> >> > 
> >> > The only possibilty I see in iCalendar is ORGANIZER in conjunction with
> >> > SENT- BY:
> >> > 
> >> > "ORGANIZER;SENT-BY="mailto:sray at example.com":mailto:
> >> > jsmith at example.com"
> >> > 
> >> > The last-modification user is the one from SENT-BY, or the ORGANIZER if
> >> > SENT-BY is not available.
> >> > 
> >> > Other than that I don't think iCalendar contains a suitable property to
> >> > represent this. The creator wouldn't be saved in this case, but I
> >> > suppose
> >> > the organizer plus the person who last modified the event should be
> >> > enough context?
> >> 
> >> Well, that seems to be a feasible hack for iCalendar but I'm more
> >> talking
> >> about a general way to store creation and modification information
> >> (including user) to all Kolab objects. I remember a potential Kolab
> >> user/customer asking for such a feature.
> > 
> > Yes. The feature can only be implemented if we either add our own
> > x-properties
> > to the format or find suitable ones within what is specified in the
> > rfc's.
> > For iCalendar it's imo either SENT-BY or an x-property as the spec
> > doesn't
> > explicitly support this. Either way, the information belongs to the
> > xCal
> > object and not the mime message.
> 
> x-* options are out - they are a form of compromise we should not be
> willing to make.
> 
> What about the From: and Date: headers in the RFC822 mail message?
> 

"From" is currently used for the organizer of an incidence, although it's not 
mandatory. I think the reason was to be able to search for it.... We could IMO 
change this to hold the creator.

"Date" is currently used for the timestamp when the MIME message was 
created/serialized. I'd prefer to keep this that way, otherwise we loose that 
information.

As I said, I'd prefer to have the information in the xCal part, as I think 
that's where it belongs to, and not to the container the xCal is stored in. 
But since the information doesn't seem mission critical to me, I'm fine with 
having it in the MIME message. This has the implication that the information 
is lost should the iCal/vCard object be transported by any other means than a 
Kolab Object (e.g. attached to a word document, iTip message, iCal file, 
CALDAV, ...)

How about:
* Dates as they are:
** created-date of conceptual object: CREATED in iCal, not available in vCard
** last-modified-date of conceptual object: LAST-MODIFIED in iCal, rev in vCard
** timestamp of serialization: Date-Header in MIME message

* Creator: X-CREATED-USER header in MIME message
* Last-modified user: "From"-header (or X-LAST-MODIFIED-USER?) in MIME message

That way we have no x-properties in the xml, but only in the MIME message, 
which is very kolab specific anyways. It however also means that the 
information is lost whenever e.g. an event is transported by something else 
than a kolab object and that the property is invisible to protocols such as 
CALDAV.

The only alternative would be something like a dedicated Metadata part in the 
MIME message, containing such information (maybe not a bad idea if we find 
other metadata we'd like to store with the kolab object).

I don't see any way to store creator and last-modified user without any X-
Headers/Properties or a dedicated part.

Cheers,
Christian


> Kind regards,
> 
> Jeroen van Meeuwen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/format/attachments/20130617/75df19a1/attachment.sig>


More information about the format mailing list