SOGo: A free groupware solution
It’s kinda depressing what a long way a seemingly trivial matter like “shared address books and calendars” can go.
Originally, our company used Microsoft Exchange and Outlook, but this was apparently (I wasn’t in the company back then) a major disaster and was after a while replaced with Kolab + Horde + Outlook + some glue.
This worked somewhat better, but was still a royal pain in the backside – Outlook 2003 isn’t exactly the best client in the world, and the proprietary third-party Kolab connectors did its best to make things worse (no multi-user support, extremely slow and similar fun). And Horde… was just being Horde. We ended up resetting Outlook profiles pretty regularly, resulting in long downtimes for the victims (since the supplied Horde version was so slow, confusing and awkward to use that nobody ever bothered with it – I don’t blame them). Thunderbird support was mediocre at best, with the SyncKolab addon being limited to just one calendar and no address book sync.
When I started working for the company, I started looking for alternative groupware solutions – both on the client and the server side. There are lots, actually, but most either bring a whole software stack from mail server to desktop client (like Zimbra) or are too Outlook-centric (like Zarafa).
There are also some pure calendaring/address book solutions, however most are (or were) either not stable enough and/or are not exactly what I’d call user friendly (like DAViCal).
SOGo is a refreshing alternative, inserting itself into existing infrastructure and reusing it as much as possible – its server only provides a generic web client (able to plug into any IMAP server), address books (using the open CardDAV standard) and calendars (using the related open CalDAV standard). Mails are handled by your existing SMTP/IMAP servers, it uses CAS/LDAP/AD/SQL for authentication and is mostly client-agnostic (apart from ACLs, which aren’t covered by Cal/CardDAV, and have to be configured with a SOGo client). Unlike most “pure” address book/calendar solutions, its UI is also user friendly enough to allow non-technical users to easily configure their shares and it is quite stable.
For the client, we use Mozilla Thunderbird on Windows. Mind you, this decision was made before Mozilla decided to panic and run around flailing like a headless chicken (fun stuff like “we change to a new release scheme that serves no purpose other than breaking addon compatibility and showing everyone we have the longest… version number. We’ll figure out later how to do implement an update scheme that doesn’t piss off every single user”) – and depressingly, it still works better than Outlook ever did with Kolab.
SOGo provides a complete integration suite with their Thunderbird addons, which gives you a smooth calendar and address book sharing solution in the most cases.
Starting with version 2, SOGo also supports Outlook natively, though I’m not sure whether I’d want to try that. Would be good for incremental migrations, however.
Apple supports Cal- and CardDAV natively in iOS and OSX, thus giving you full desktop integration out of the box (apart from ACLs, which need the web UI).
Speaking of the web UI – it is pretty much the best web mailer I’ve seen so far, with a clean UI (modeled after Thunderbird 2) and a pretty decent performance with large mail boxes. It also has Sieve support for vacation mode – sadly, no support for user-defined filters. If it had that, I’d have completely switched over to it (without filters, 200 automated mails per day and half a dozen mailing lists are a huge pain to deal with). It is fine for light duty mail management, however, and the calendar/address book functionality is so far without any issues.
For Android, there are clients made by DMFS, which integrate Cal- and CardDAV into the native calendar and address book. This is actually the only part of the software stack you have to pay for, and at around 5 bucks per user not a particularly big investment.
(There’s also an experimental ActiveSync and a Funambol interface, which would allow for native Android/Nokia/… support, but both are as of now not terribly well-suited for productive use.)
With that, you have a very flexible Groupware stack that covers about any relevant client architecture, without requiring major changes to your existing server infrastructure. Installation and configuration is pretty easy, too. More on that in a later blog post.