Some time ago I set up an IMAP server, and managed to get all of my email to happily synchronize between all of my computers. More recently though I've started trying to use KDE's addressbook and calendar application and have been frustrated about having to switch computers to make sure I had the right data file.
I first thought about solving this with some version controled vcard and icalendar files, but then remembered this whole "groupware" thing. So I then went off and read about Kolab, opengroupware.org and egroupware. But while reading the docs for kolab I found an interesting undocumented feature for KDE.
I discovered that the KDE kolab client works by using KMail's ability to store groupware information in an IMAP server. This configuration option can be accessed by going to KControl->KDE Components->KDE Resources.
In that panel there is a drop drown list that lists various resources like "contacts", "calendar", and "notes". By default these are all pointing to files on each of my computers hard disks, but when I select one and press the magic "add" button I'm presented with a large list of other possible ways to get these data. For instance in the more recent builds debian packages of KDE there are interesting things like bugzilla todo lists for the calendar data type.
But back to making this work for the simple case, choose one of contacts, calendar, or notes, and add a "resource type" on IMAP server using kmail. It'll then prompt for a name which doesn't seem that important (unless you want several of them). Once added you'll probably want to make the imap resource the "standard" resource, which seems to make it the default for adding information too. You may also want to uncheck the old resource files so you don't end up with duplicate entries.
Once this has been done for each of the types, you'll need to go to KMail and tell it where to store this information. Go to Configure KMail->Misc and then select the groupware tab. You'll need to turn on "enable IMAP resource functionality" and then pick a folder using "Resource folders are subfolders of" that is located on an IMAP server that all of your copies of KMail are talking to.
The nice thing is that if one is using "disconnected IMAP" for your server you can access this information without being connected to the network, which is why I just didn't use a remote file. Though it doesn't look like it does anything smart about detecting collisions when different clients update the same item. It seems like whoever saves to the server first wins.
Here's to hoping google finds this and it's useful to someone else.