[Kolab-devel] Free busy information
Bo Thorsen
bo at sonofthor.dk
Mon Aug 30 10:39:34 CEST 2004
Hi all,
There has been some discussion about constructing FB lists lately, and we
have identified a problem with them.
In Kolab 1, it was fairly simple - when the user changed the calendar, he
uploaded the FB list to the server. Unfortunately in Kolab 2, this won't
be enough.
Consider this:
Person1 runs Kontact and person2 runs Outlook. They both use Horde
occasionally for web access.
Person1 has one IMAP folder and one local file containing calendar
information.
Person2 just has an IMAP folder.
In addition to this, both are part of a working group that has it's own
calendar IMAP folder, and they both have read-write access to this.
Whenever Person1 changes his calendar, he has full knowledge about all
folders, and can upload the FB list. However, if it's the group folder he
changes, he is actually modifying Person2's calendar also.
Also, when Person2 changes the group folder, he changes Person1's
calendar.
The problem does not exist, if it's not required that freebusy lists show
some reasonable data. Basically this is a tradeoff between easy to
implement (one person still only uploads his own fb lists) and accurate
(with person2 on holiday, the calendar could be wrong for a long time).
For lots of servers, there is no option to do the accurate but tricky way.
But for the Kolab 2 project we need to at least have the option to have
accurate fb lists.
There is actually a third option: If it's required to keep all calendar
stuff in IMAP folders, we would have a possibility to make an FB list
creation daemon on the server that would construct the FB lists from the
IMAP folder info. We have PHP code that can do this (needed for
car/room/... resources anyway), but it's not a good solution. At least
for Kontact, it's possible to connect to a lot of different servers, you
can have calendar info in several local files, and more. And having a
daemon with rights to read all calendar folders sounds like a big
security issue.
Bernhard Reiter (I think) came with the idea of partial free busy lists
(PFB). The idea is that the user has one pfb for each calendar info
place. So in the above scenario, Person1 has three pfbs: the personal
IMAP folder, the local file, and the group pfb. The requirement then is
that if you change something in the calendar, the pfb of it needs to be
uploaded.
When the user requests an FB list, the server will run a script that
collects the pfbs and returns a full FB list (and caches it). This script
is easy enough to write.
The concept sounds easy, but it's technically not simple to do. And it
needs support from at least all Kolab clients.
Now, to just complicate matters even more, it's quite possible that people
will start monitoring shared calendars - for example the secretary will
have a lot of folders visible, so he can know when the different groups
are meeting and so. But he should not get these folders contents added to
his FB lists. For this to work, we need a way for the user to make a
folder (or local file or ...) with a flag that this shouldn't be used for
FB lists.
So, what do you think. Do you agree that pbfs is the only solution that
solves all the involved problems? Is it over engineered? Do you have a
better idea? Stuff like this is what we need to get solved the right way,
for Kolab (with Kontact/Toltec/Horde...) to be a real integrated
solution.
I would like to get some feedback on this before I start working on a way
to implement it, so comments are highly appreciated,
Bo.
--
Bo Thorsen | Praestevejen 4
Senior Software Engineer | 5290 Marslev
Klarälvdalens Datakonsult | Denmark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.kolab.org/pipermail/devel/attachments/20040830/e5ceb464/attachment.sig>
More information about the devel
mailing list