Is it really that hard?
Note: This article was originally published at Planet PHP on 29 May 2011.
Manage my Mails, Calendar, Contacts, Files, Knowledge (Wiki) and ToDos (including IssueTracker). Let me synchronize these informations with mobile devices and for offline work. Allow collaboration and sharing.
I started professional programming in 2006 with the eGroupWare project, which provides the above functionality more or less, but I still can't recommend it. Neither could I recommend any other system I know of (Tine 2.0, OpenGroupWare, OpenExchange, Horde, Kolab, ...?) since they violate one or more of my secondary requirements:
- a maintainable code base (this rules out PHP IMHO)
- free software (there's certainly enough to earn with support/service for such a system!)
- no relational database! they're just not made for this kind of data or why do you think system X allows only for N numbers of mails/addresses/phone numbers per contact?
- reusable components / libraries
- no dependency on antique technology (yes, I mean Kolab depending on Cyrus)
- and as the cream: easy installation at least for test setups
This kind of software is on the top position on my Things-To-Do-When-I-Have-Time. But on the other hand I know that many have already started such projects and either they did not deliver sufficient functionality or there code base is a PITA.
Yes, I'm ranting once again. But please show me a decent GroupWare and I'll praise you on any occassion!
Or should I make this my project for my bachelor thesis: A Contacts+Mail server/web frontend in Scala using CouchDB, Dovecot? What do you think?