[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] .ics export violates RFC2445

From: Carsten Dominik
Subject: Re: [Orgmode] .ics export violates RFC2445
Date: Thu, 15 May 2008 10:33:17 +0200

On Apr 29, 2008, at 7:16 PM, Adam Spiers wrote:

Also, it would be great if a UID field could be generated for each
event, perhaps by checksumming the contents of the event in some way.
The RFC says:

Conformance: The property MUST be specified in the "VEVENT",
"VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.

  -- http://tools.ietf.org/html/rfc2445#section-

The checksum would ensure that the UID field only changes when the
event details check, which would be a first step towards helping
synchronisation systems. I'm vaguely suspicious that the lack of UIDs
currently confuses Google Calendar too.

A UID may be good. However I think changing the UID when changing the entry would be bad, because this would exactly *disable* synchronization. To synchronize, you must know which entries to compare, and this is only
possible with a persistent UID.

Doh - you are right of course.

I guess we could create one, but this UID would then have to be stored in the entry, as a property. Exporting to ical again must then re- use the
old uid each time.

My org-id.el in the contrib directory allows already to create unique
identifiers, and it would be easy enough to include the domain to make
them truely unique, wordwide.

However, right now I am hesitating to force a property drawer onto
every entry that ever is exported to iCalendar. But as an option, this might
really be good and eventually allow true synchronization.

I understand your hesitation - as an option that sounds perfect.

Please get the latest GIT version of Org.  Then set the variable

(setq org-icalendar-force-UID t)

and try to export to iCalendar.

Right now, I am only forcing and using the ID for VEVENT. I am not using it for VTODO, because I am not sure if it is allowed to have the same UID for a VEVENT and a VTODO, if they originate from the same entry in a database? Do you or anyone else know what the rules are for this?

- Carsten

reply via email to

[Prev in Thread] Current Thread [Next in Thread]