A PIM (Personal Information Manager) generally provides these services to an individual user:
available.
I have never had a really satisfactory PIM service and I would like to set one up. My requirements are rather different from those of the corporate executive whose importance is defined by the number of people he can drag into meetings.
We have tried and mostly rejected these PIM services:
Ximian Evolution and similar applications that run on one host and serve one user are not going to fly. We need a client-server model, standard wire formats so a variety of clients can use the server, and sharing so multiple users can use a shared calendar and contact list.
DAVIcal is a nice light-duty calendar server for the CalDAV wire format. It doesn't have the other desired features.
Horde (associated with Kolab) is old and unappealing. I have it installed at work. While the current version has a number of features, like iCal and vCard support, missing in the older ones, I haven't been tempted to install it at home for the service discussed here; in fact, the PIM service at work will follow the lead of the home PIM server.
SOGo is nicely done. It uses the standard wire formats. One of
its advantages is that it is integrated with the Funambol connector
product which serves out the Microsoft Exchange wire format. One of
our desired clients is Windows Phone 8, which prefers this format. I
got version 1.3.8 working fairly well, but it is long past time to
upgrade to 2.0. Unfortunately so far I have failed to get it to run
despite quite a lot of work, even including installing their Zero
Effort Groupware
image in a virtual machine. So SOGo has been
fired, reluctantly.
Microsoft exchange.com cloud service. I needed to use my contacts and calendar on a trip and needed a fast solution, so I broke one of my paranoid rules and used a commercial cloud service. Between Microsoft and Google,, I judged that Microsoft was slightly less devilish. This was a mistake because I could not import saved contacts; I ended up re-entering all my contacts by hand, and I had a lot of trouble extracting the contacts in a useable format when moving on to the next PIM solution. I am glad to have a viable replacement for this service that is under my administrative control and that uses standard wire formats.
SquirrelMail is for webmail and I installed it when I put in my in-house mail service. I have had complaints (unfair) that it looks like a web app from the 1980's. But I've found it completely serviceable, with one exception: no integration with the globaly accessible contact list. That is what motivated me to hunt for a better solution.
I need to have one set of files that I can use and edit on several desktop and mobile devices, specifically the Android netbook that replaced my laptop which ran desktop Linux. One very attractive solution is Dropbox, a commercial cloud service. (Of course this raises a red flag.) You can get I believe 2Gbytes for free and more if you pay. A client, with a large and ominous closed-source driver, runs on your desktop or mobile machine and is mounted over one of your directories. Any files placed there or altered are promptly uploaded to the cloud server, and your other clients are soon aware and will download the new version to their Dropbox directories.
It turns out that ownCloud offers very similar software, except that it runs on your own server Their business model is to offer the software under an open source license (GPL), with paid support for customers who need a service level agreement. The wire protocol is WebDAV. ownCloud's main purpose is off topic, but it has several additional features, related to the WebDAV protocol, which are very much on topic.
CardDAV, which is the standard wire protocol for a contact list or address book.
CalDAV, which is the wire protocol for a calendar.
Mozilla Firefox sync protocol. This is only for this popular web browser, but you can save your bookmarks (etc.) on the cloud server and have them propagate to your other instances of Firefox.
Media gallery. Audio can be sent out using the Ampache protocol; I can't find a good explanation of how it is enhanced over normal HTTP, but metadata about the media is available in a XML doctype that a number of player apps can understand.
ownCloud includes a web interface which can display the contact list and
calendar (and the gallery and generic files). It is not as elaborate as
competitors, e.g. it doesn't help you make a meeting
by finding when
participants are available, but it is functional and satisfactory for the level
of use I need.
Normally you would use your ownCloud PIM server from a desktop or mobile dedicated client. On Android I'm using CalDAV-Sync and CardDAV-Sync by Martin Gajda, and the native Android People and Calendar apps have access to the cloud-served contacts and calendar. As I understand it, these are the native protocols for Apple iDevices. For Windows Phone, someone mentioned php-push-2 which is a Microsoft Exchange Active Sync connector for CalDAV, CardDAV and IMAP backends; I assume it runs on the client.
Since SquirrelMail has limited support for an external contact list, I decided to look for a new webmail program. Horde (IMP) has already been rejected. I tried Citadel a few years ago but it didn't work out for my environment. SOGo has nice integrated webmail but it has been rejected due to installation issues. The remaining candidate is Roundcube. This program has replaced SquirrelMail as the standard webmal in Apple's server configuration, and is currently used by a number of universities and commercial providers for mail service, including Harvard, Michigan (70,000 users) and Iran National Post. Inception 2008. It uses a lot of Javascript, and Ajax callbacks.
Roundcube is available on the SuSE Build Service under the name
roundcubemail
, an advantage for my package management. It was
relatively easy to install. It has database interfaces for MySQL, PostgreSQL,
and SQLite; given the small scale of my operation I chose SQLite. I also
installed (from SBS) the separate contextmenu plugin. My small collection of
plugins includes:
The web_authentication plugin makes Roundcube work with any of Apache's single sign-on modules, such as mod_auth_krb (Kerberos), mod_auth_oid (OpenID), or mod_auth_shib (Shibboleth), as well as X.509 client certificates. This is important for my style of using webmail, and for my paranoia about letting the browser remember passwords.
The CardDAV plugin imports the external contact list into Roundcube's database, much as Android's People app does. Syncing normally is manual. If you want automatic syncing they recommend that you run the provided script as a cron job, as frequently as you consider appropriate.
So between ownCloud and Roundcube, I have put together a PIM solution that actually works, and that didn't turn into a time sink. Success at last!