[horde] Active sync: multiple calendars?

Michael J Rubinsky mrubinsk at horde.org
Wed Jun 22 14:09:34 UTC 2011


Quoting Gunnar Wrobel <wrobel at horde.org>:

> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>
>> Quoting Andreas Ntaflos <daff at pseudoterminal.org>:
>>
>>> Hi,
>>>
>>> is it possible to access and sync multiple Horde calendars (on the same
>>> user account) with the new ActiveSync plugin? Or is this not supported
>>> by design or specification?
>>
>> By specification. The AS protocol does not support multiple  
>> calendars for a single user.
>
> But shouldn't there be ways to aggregate calendars? I'm pretty  
> certain the ActiveSync support on the Kolab server allows selecting  
> several.

Sure, it would be possible to essentially combine all events from  
multiple calendars into a single AS collection. However, there are a  
number of issues that I ran into while trying to do this when I  
originally wrote the library:

There is no way to differentiate the calendars on the client (AS only  
supports a single "calendar" folder) so no calendar names, no  
horde-centric calendar colors (in fact some clients might color the  
events based on the tags) - all events look like they are in the  
user's "main" calendar.

There is no way to mark events as read only, no way to map back an  
event to the calendar it came from in the case that multiple calendars  
may have the same event uid (though this is not specific to AS), and  
no way on the client to select the calendar to add a new event to (all  
events are assumed to be on the user's "main" calendar). This last  
point _might_ also cause issues with both event invitations and  
recurring event exceptions on calendars other than the user's "main"  
calendar (don't have code or protocol docs in front of me at the  
moment to verify this one).

There would also be issues when a user changes which calendars they  
want included after the initial setup (would basically require the  
user or admin to explicitly reset the AS account to force a complete  
replacement sync). For example - a user initially sets up two  
calendars, but then decides to remove one. All the events from the  
second calendar will still be present on the device. Similarly, adding  
a second calendar would not sync the events that were created/modified  
prior to the last successful sync time.

Yes, some of these issues could be at least partially worked around by  
e.g., limiting the calendars allowed to be synched to calendars owned  
by the user, or adding user pref for the calendar to use when creating  
new events on an AS device, but these rather feel like hacks instead  
of implementations.

If in fact kolab does allow this, I'd be interested in both how the  
kolab/activesync connector implements this and how robust this  
actually is. If you have any links to code or similar, I'd love to  
take a look. This is a sore point for me as well though even if we get  
minimal support for this, would likely not help me since it's  
calendars I have read only access to that I need to include (see note  
above about read only issues).

Also, it's worth noting that I'm aware that Google's "activesync"  
support allows this - but this is not true activesync; they have added  
features to the protocol and these only work if using a Google client,  
not a generic activesync client.

-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org



More information about the horde mailing list