Calendaring / groupware

Forum: LinuxTotal Replies: 21
Author Content
Sander_Marechal

Nov 04, 2008
10:46 AM EDT
Hi guys,

I am looking (yet again!) into shared calendaring and groupware for Linux. I've been looking at a host of applications but I can't find what I am looking for. I need three things:

* I want to run my e-mail on an IMAP server. Probably Dovecot since it looks really clean and easy to do. And it supports the maildit format which i definitely want (for easy backup purposes).

* I'll need a webinterface for that e-mail. Though I'll be using Thunderbird 99% of the time it is really easy to be able to check your e-mail from a web interface while you out somewhere. Or your internet-enabled mobile phone.

* I want shared calendars (iCal? CalDav? GroupDav?). My girlfriend and I both need to keep track of a lot of stuff. We each need our own calendar and we need a third calendar that we can both write to.

* I need a webinterface for it as well, though mostly I will use the Lightning extension for Thunderbird

* Maybe a shared address book (OpenLDAP?) but LDAP is complicated, no? At the moment we use an ODS spreadsheet in /home on our computer. There has to be a better way. The main function is not even to display e-mail addresses in our e-mail clients (that's a bonus) but simply to track e-mail addresses, home addresses and phone numbers of all our friends.

As I said, I have been looking at a lot of things like phpGroupWare, Kolab, Horde, etcetera but the all seem too... big. Too integrated. Too "enterprisey". I want simple. I want decoupled.

What's even more troubling is that there doesn't seem to be stand alone calendaring applications to use. All of the webbased groupware interfaces (like horde) rely on standard services like IMAP and LDAP for mail and contacts, but they all implement their own CalDAV servers. I don't want my calendar data locked a the front-end application like The Horde or OpenGroupWare. It belongs in a separate, simple backend service. In a stand-alone CalDav server.

Furthermore I could not find *any* stand-alone CalDAV or GroupDAV server (except for Apple's CalendarServer) and I could find no web-based CalDAV/GroupDAV client. With that I mean a simple web frontend that can display/update a calendar hosted on some other standard CalDAV/GroupDAV server. The only thing that comes close is PHP iCalendar but it only does iCal, not CalDAV and hence can only read and not update.

I'm starting to feel that FOSS is dropping the ball on Calendaring.

Can any of you suggest solutions for any or all of the above? PS: This is for my home so no Outlook/Exchaneg compatibility required. Only Thunderbird/Lightning compatibility.
jdixon

Nov 04, 2008
11:46 AM EDT
For groupware, Carla seems to love Citadel, but I don't know how it handles calendars. You can find it here: http://www.citadel.org/doku.php
alc

Nov 04, 2008
3:31 PM EDT
Have you looked at Sunbird or Lightning? http://www.mozilla.org/projects/calendar/sunbird/
Sander_Marechal

Nov 04, 2008
6:06 PM EDT
@alc: That's just a client, not the server part. But it is what I intent to use as a desktop client. Thunderbird isn't perfect but I haven't found any mail program that works as good as TB does. I especially love the feature that I can force all messages to display as text/plain. I have an aversion to HTML mail.

@jdixon: Citadel does it exactly the way I don't want it: Everything massively integrated and hoarded into their own datastore. So, once you're in then you're locked-in and only a big migration can get you out. I prefer something that follows the Unix philosophy: do one thing and do it well. Keep it all small, simple and interchangeable. Push integration to the outermost layers (in this case: The user-interface, like Horde or Thunderbird+plugins).

The setup I am currently contemplating is this:

Server: E-mail: Dovecot IMAP on a maildir store (maildir makes rsync backups easy) Calendar: Some kind of stand-alone CalDAV server. I have trouble finding one. Ideas? Contacts: I can't think of any alternative to LDAP. I heared LDAP is hard. Is it? I've also heared about CardDAV but that seems very experimetal at this point.

Web clients: Horde seems nice, but it doesn't do CalDAV. It can create CalDAV calendars in it's own datastore but it cannot act as an interface to an already running, standard CalDAV server. @Mail also looks nice for e-mail (IIRC the latest version went FOSS) but I'd still need a stand-alone webinterface for contacts and CalDAV. It seems that there aren't any CalDAV webclients. Only servers.

Desktop clients: Thunderbird + lightning. Are there any simple LDAP clients? Something that my girlfriend/mother could understand and use to manage addresses and phone numbers of friends?
rijelkentaurus

Nov 04, 2008
6:22 PM EDT
Citadel will work with any client that supports standard calendaring protocols, so Kontact would be perfect...Thunderbird with Lightning should work too. Citadel seems like the likeliest choice for you, and it's GPLv3.
krisum

Nov 04, 2008
6:59 PM EDT
Maybe Kolab will work for you (http://www.kolab.org), but it uses Cyrus for email and calendaring so not sure if dovecot can be plugged in there. Both kontact and thunderbird (synckolab) can work with it, and there are connectors for outlook. Cyrus does not use maildir, rather has its own maildir like storage which should play well with rsync.
rijelkentaurus

Nov 04, 2008
7:09 PM EDT
http://chandlerproject.org/bin/view/Projects/CosmoHome ??

Funny, "standalone caldav server" brings this thread up as find #3.
jdixon

Nov 04, 2008
8:24 PM EDT
> Citadel does it exactly the way I don't want it:

Understood. Groupware has never made my list of things to look into, so I can't offer any personal advice. I can say that for web based email, squirrelmail seems to be one of the most popular programs.
Sander_Marechal

Nov 04, 2008
9:49 PM EDT
Well, I found a stand-alone CalDAV server, and it's even in Debian Lenny :-) (though it has a severe packaging bug IMHO that I have reported). It's Apple's CalendarServer and reportedly works fine with Lightning.

So, only a few gaps left to fill, mainly contacts. Does any of you have experience with LDAP for contact management? Any apps that make LDAP look user friendly?
herzeleid

Nov 04, 2008
11:35 PM EDT
Let us know how that caldav server works - if it really does the job, there could be a lot of opportunity for installing FOSS mail server/collaboration stack for cash strapped businesses, and others who simply want to maximize their bang for the buck.
pat

Nov 05, 2008
1:40 AM EDT
I like simple group ware. http://www.simple-groupware.de/cms/

The merge features for calendaring are interesting. I've used citadel and while it works well, small and fast, it lacks a large number of features. Giiven how long it has been around I just don't understand why they are still missing.
Sander_Marechal

Nov 05, 2008
3:17 AM EDT
@herzeleid: Will do. The biggest drawback I found so far is that it needs a patched version of Twisted to run. This is not a problem with the upstream version as it downoads and uses it's own private copy of Twisted, but Debian (and derivatives) currently patch the system-wide Twisted. That makes it useless if you have anything else on your system that uses Twisted (I do).

@pat: Simple Groupware looks nice but for me it has the same problem as Citadel: It's way overkill in features and doesn't use standard back-ends like CalDAV but implements its own stack.
Sander_Marechal

Nov 05, 2008
12:04 PM EDT
Good news. As far as Apple's CalendarServer goes it's a success. It's a real pain to install (packaging bugs, conflicts with python-twisted, changes to /etc/fstab) and an even bigger pain to administer (they have a CLI client that you can use, but it is buggy. I had to patch it) but after that it runs rather well and works nicely with Mozilla Lightning/Sunbird.

Setting all the ACL rights on the server correctly with their CLI clients was a real pain, but I'm only talking about two users and one group here, for a grand total of five calendars.
herzeleid

Nov 05, 2008
3:17 PM EDT
Thanks for the info, I'll have to start playing with this now. In my copious spare time, of course.
Sander_Marechal

Nov 05, 2008
6:59 PM EDT
I found another one. DAViCal. Written in PHP and it has an administrative web interface: http://rscds.sourceforge.net/

I haven't tested it (yet).
Sander_Marechal

Nov 06, 2008
6:59 AM EDT
I found one bug with using CalendarServer: If you use Debian's IceOwl instead of the real Lightning then you need to disable Digest authentication in CalendarServer. There's a bug in IceOwl that makes it forget cached credentials so you need to authenticate every time. Mozilla has already fixed this in Lightning 0.9.
kuruki

Mar 07, 2009
6:17 AM EDT
Hi.

@Sander: I have a server running Debian Etch with postfix, courier IMAP, OpenLDAP, OpenVPN, ... Some time ago, I tried to install Apple's Calendarserver, but I did not succeed (it was not in the Etch packages)

Now I am setting up a new server (in test now) with Debian Lenny. Everything is working, but I tried once more to install the Calendarserver. Server seems to start, but when I try to point my browser to it, I get an error message.

In my error.log, there are a lot of messages, will try to solve them. But maybe you know what to do, as it seems that you already managed to get it working.

The first message in my error.log: "DeprecationWarning: mktap and related support modules are deprecated as of Twisted 8.0. Use Twisted Application Plugins with the 'twistd' command, as described in 'Writing a Twisted Application plugin for twistd'.

Hope you can help me.

Greetz

PS. OpenLDAP works fine for me as a contact manager. I even use it as the authentication database for my webdav shares
Sander_Marechal

Mar 07, 2009
10:06 AM EDT
kuruki: That's just a warning. You should be able to ignore it. Instead of pointing your browser at it, what happens when you point your caledar app (e.g. Sunbird or Lightning) at it?

I must say that my setup of CalendarServer is non-standard. CalendarServer depends of a couple of deprecated and out-of-trunk features of an older Twisted version (see also https://trac.calendarserver.org/ticket/306). The trouble is that you cannot use the non-standard botched Twisted that CalendarServer needs with the real Twisted. I have a jukebox server daemon written in Python that needs the real, full Twisted to run so I have been making some changes to the CalendarServer to make it run.
kuruki

Mar 09, 2009
7:17 PM EDT
Sander, you are right; the problem was that I did not add "user_xattr" on all partitions I should have added. The calendarserver is working now. Although I have 2 major remarks: - I am populating the database through the accounts.xml file, and that is not user friendly when you have to create a lot of users (not yet applicable for me so not that important for the moment) - there is no correlation between the username and the name of the ics-file. That ics-file is stored on this location: /var/spool/caldavd/calendars/__uids__/[string01]/calender/[string02].ics

[string01] and [string02] are not the same, and in no way related to the usernames in the accounts.xml file. This will create a head-ache when I need to backup... Any simple solution here?

Sorry, but I am not as advanced in Linux as you are...

Greetz
Sander_Marechal

Mar 09, 2009
8:20 PM EDT
Quoting:[string01] and [string02] are not the same, and in no way related to the usernames in the accounts.xml file. This will create a head-ache when I need to backup... Any simple solution here?


Don't touch! You will love this, even though you don't know it (yet). Those long garbled strings are UUIDs (see http://en.wikipedia.org/wiki/UUID). It's a globally unique ID. Really, global. No two the same exist in the world. When something changes, the UUID changes as well. This is *perfect* for backups, migrations and what-not. You can copy things around and be guaranteed that no two files will collide.

Need to merge two CalendarServers? Simply copy the files. UUID guarantees that no collisions occur. The same goes for making and restoring backups.

If you want to know the UUID of a certain appointment or user, use a client that doesn't hide the IDs from you. There are a coupe of commandline CalDAV clients around that show you these that you can use for this.
kuruki

Mar 12, 2009
2:29 PM EDT
Looking in that way to it, you could be right!

One last question, if you allow me. I like the system very much, for sure now I know that backing up and migrating the system is covered. I use the system with sunbird as client, and is working perfectly. I can acces locally and from outside with my notebook. What i didn't find sofar is how I can use it webbased (eg when I do not have my notebook with me). Email is covered by horde, but I did not manage to connect Kronolith (the calendar in horde) with the DCS. When I try to subscribe to the DCS, Kronolith is not complaining, on the contrary, it says that "You have been subscribed to "server" (http://myhostname.mydomain.org:8008/calendars/groups/server/...). But not any appointment is displayed, and I cannot add an appointment to the calendar.

Any ideas how I can make it available for webaccess?

Sorry for all this questions. Thanks in advance.
Sander_Marechal

Mar 12, 2009
7:44 PM EDT
From the Kronolith website I gather that it doesn't support a generic CalDAV server as a backend. It carries it's own backend (or Kolab). I have been looking at a stand-alone webclient as well but I haven't been able to find one. I'd love to build one some day if I have the time/money to do so.

As an intermediary solution you could install a CLI based calendar app on your server and access it through SSH. Carry putty around you on an USB stick so you can always access it from someone's (Windows) PC.

If you do find a webclient that can use a CalDAV server as a backend, please do let me know!

You cannot post until you login.