[dev] Re: Publishing calendar from Sunbird

Chuck Hagenbuch chuck at horde.org
Mon Mar 14 08:02:22 PST 2005


Quoting Roel Gloudemans <roel at gloudemans.info>:

> We can download the Kronolith calendars from Horde to Sunbird now, but
> publishing is not there yet. I'm willing to to some work on it, but
> need some confirmation that I'm doing the right thing.

Great!

> vCal/iCal has support for the UID attribute. When you subscribe sunbird
> to a kronolith calendar, the UID is exported to Sunbird and sunbird
> actually stores it. It is also sent back when publishing the calendar
> to Horde. Subscribing/publishing can be handled through the existing
> import/export methods.
>
> First step should be to add an 'overwrite' option to the import
> methods. If a UID from an imported event already exists within the
> database; that event will be overwritten (this should be fairly easy to
> implement; the overwrite option should also be offered as a
> choice/preference for manual imports). This would all depend on the
> handling of the UID attribute by the various clients. Does anyone have
> experience with this?

I would say that import should simply overwrite, ALWAYS, if an existing 
UID is found. That would be more consistent with how UIDs are handled 
for syncing, etc.

> If you now manually import you Sunbird calendar, existing items will be
> changed appropriately and new items will be added. However, items
> deleted in Sunbird will not dissappear. The deletion of items is a
> tricky thing to handle. I'm not really sure we should even try to solve
> it with such a loosly coupled connection.

If Sunbird is simply publishing an iCal file, there'll be no 
notification of deletions like there would be in a true sync, so the 
only option here is a "delete before import" option like Turba now has, 
to consider the published iCal file the only valid events and to delete 
all others. Obviously not a default. :)

> So in short
> 1) Is the UID attribute "stable enough" across clients

Should be. If not, clients are broken.

> 2) Is using the existing import/export routines the best way to approach this

Definitely.

> 3) What should be do with item deletion

See above. We could try to come up with some sort of backup scheme 
(storing dated .ics files in VFS before emptying a calendar?) if there 
are concerns here.

> 4) Can we use this scheme also for Nag?

Should be able to, yes.

-chuck

-- 
"But she goes not abroad in search of monsters to destroy." - John 
Quincy Adams


More information about the dev mailing list