[Kolab-devel] event triggered freebusy data generation
Paul Boddie
paul at boddie.org.uk
Mon Mar 3 23:32:22 CET 2014
On Monday 3. March 2014 08.54.56 Thomas Brüderli wrote:
>
> As Jeroen van Meeuwen already pointed out, subscribing to update
> notifications right in Cyrus IMAP and rebuilding freebusy data upon
> change is the preferred way to go. With that in mind already, we decided
> to build the kolab-freebusy daemon which is still needs some
> improvements and polishing. But now as Cyrus 2.5 is available, work can
> continue.
I don't disagree with the above. Since the IMAP store is effectively opaque
with regard to the details of the event objects, there's no efficient way of
querying them for a given time period, although I recall some mention of
Xapian and I can envisage a way of building an index based on extracted
datetime information that could then be queried efficiently. The Xapian index
would need to be updated just like any "rebuilding [of] freebusy data" would,
however.
If Cyrus can offer IMAP querying, say, based on indexed content (such as an
xCalendar element), that would already make some kind of live querying tool
much more efficient. Otherwise, some kind of index builder could be written to
achieve the same thing.
[...]
> And regarding the questions why free-busy data is also stored in IMAP,
> this was meant for offline-capable clients such as Kontact which can
> pull the data using the existing IMAP synchronization and access it
> locally.
Actually, I don't really wonder about this. Kontact is capable of publishing
its own information - this is part of the original iCalendar RFC if I remember
correctly - and I see that it also supports pushing using HTTP, too.
> > I'm tempted to have a go at writing a Python script to dynamically
> > generate free/busy resources from the IMAP store.
>
> We certainly cannot stop you from doing this but I don't see this to be
> a sustainable path.
For me this would just be an exercise in working with IMAP and Kolab: I'm not
advocating this seriously as a replacement for the daemon...
> > P.S. I see that the iRony component generates free/busy information for
> > CalDAV clients, but I guess that it just accesses the files in
> > /var/lib/kolab- freebusy and forwards this data, too.
>
> FWIW: iRony first tries to fetch data from the pre-generated .ifb files
> and has a fall-back implemented to iterate over a user's calendar and
> build freebusy data on-demand.
...but it's clear that a selection of approaches could still be useful to
people, as we're already seeing in this thread. I understand the need for
privilege separation and load control, and the latter may be the most pressing
concern for some of the people on this list, but there's also the issue of
latency to consider as well.
Paul
More information about the devel
mailing list