Hello Alvaro!
While going through my notes I noticed that we never came to a final
conclusion on one issue previously discussed via private email. Or
perhaps it is resolved and I just don't know about it ;-)
The problem was related to the interpretation of the iCalendar 2.0
CREATED and DTSTAMP properties. Here's what these fields should be used
for (from RFC 2445):
CREATED
Purpose: This property specifies the date and time that the calendar
information was created by the calendar user agent in the calendar
store.
Note: This is analogous to the creation date and time for a file
in the file system.
LAST-MODIFIED
Purpose: The property specifies the date and time that the
information associated with the calendar component was last revised
in the calendar store.
Note: This is analogous to the modification date and time for a
file in the file system.
DTSTAMP
Purpose: The property indicates the date/time that the instance of
the iCalendar object was created.
[...]
This property is also useful to protocols such as [IMIP] that have
inherent latency issues with the delivery of content. This property
will assist in the proper sequencing of messages containing iCalendar
objects.
This property is different than the "CREATED" and "LAST-MODIFIED"
properties. These two properties are used to specify when the
particular calendar data in the calendar store was created and last
modified. This is different than when the iCalendar object
representation of the calendar service information was created or
last modified.
kcal has the following Incidence properties:
Incidence::created()
Returns the incidence creation date/time.
IncidenceBase::lastModified()
Returns the time the incidence was last modified.
For change tracking, SqliteStorage offers insertedIncidences() and
modifiedIncidences(), with added and modified incidences being
guaranteed to be listed only by insertedIncidences().
I think that the following items correspond:
CREATED = Incidence::created() = SqliteStorage::insertedIncidences()
LAST-MODIFIED = IncidenceBase::lastModified() =
SqliteStorage::modifiedIncidences()
Do you agree?
I believe that in the past, mkcal used DTSTAMP instead of CREATED for
IncidenceBase::lastModified() and SqliteStorage::modifiedIncidences(),
but I haven't checked all of our old correspondence on this, so I am not
entirely sure right now.
I don't find anything in the Incidence that corresponds to DTSTAMP.
IMHO it should be added as an Incidence property so that apps have a
chance to preserve it when copying around Incidences.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev