Living With Evolution |
Lindsay Haisley FMP Computer Services Leander, TX, USA |
NOTE: 7/10/2011 - Development and improvement of the Evolution groupware suite has continued since this document was written several years ago, with many changes having been made. Several of the recommendations herein, such as keeping one's email in a backed-up IMAP account on a server, are still relevant, but many of these notes and suggestions are quite out-of-date. Evolution now comes with its own backup and restore utility (evolution-backup) which can be run either from within Evolution or as a standalone program executed as a cron job and which backs up all of a user's settings, both those stored in the user's Evolution configuration directory (now ~/.local/share/evolution, at least in Ubuntu Linux) but also gconf settings stored in the Gnome registry. Additionally, much work seems to have been done on stabilizing (in the sense of not crashing) Evolution's components and the GTK+/Gobject environment in which it runs. This has all been done without compromising the wonderful feature set which Evolution offfers. Way to go, Gnome developers!!
Evolution is one of those programs that you have to love to hate. I've been using it since it came from Ximian, the monkey people. They also came up with Nautilus, which was originally a file manager but was later absorbed by the Gnome Project and morphed into a pretty decent graphical shell. Ximian got absorbed into Novell and morphed into who knows what.
The Ximian developers never seemed to be quite on top of it, and were away from home a lot. I could only seem to communicate sporadically with them about bugs I found and suggestions I had and seldom got good answers to questions I asked. I had the feeling from their website and from what communications I did have with them that, as a one-person operation with a company name that no one has ever heard of, I was kind of transparent to them. If my name had been IBM or the University of California I'm sure they'd have been right there with "yes sir" and "no sir" and all the answers I needed.
The Gnome Project adopted the Evolution groupware suite as their own with the good, the bad and the ugly all wrapped inextricably together. I've had some scary problems with it that I couldn't solve. I've lost addresses, lost email - and managed to do some very convenient and elegant things with mail, addresses, etc. that I can't do with any other mail user agent or groupware.
The Good: |
Evolution has what is arguably the most elegant and intuitive user interface of any mail user agent or groupware suite available for Linux. Thunderbird doesn't even come close, although it's a very respectable mail management suite and getting better all the time. I couldn't begin to list the features and refinements in the UI that make it an absolutely first rate mail manager and groupware suite. There are a few things missing, but compared to other similar packages out there, it's in a class by itself. |
The Bad: |
Evolution apparently has a very convoluted code base. Bugs are many and crashes are all too frequent, indicating that the source code probably exists in a state of controlled chaos. The GObject and GTK+ libraries on which it depends aren't known for issuing particularly obvious warning and error messages. Evolution's internal system for saving state and configuration settings is sprawled across its per-user configuration file heirarchy (~/.evolution/) and the per-user gconf database according to a rather non-obvious division of labor. There are poorly documented (perhaps undocumented) features to the package that are simply part of the lore one just knows, or learns from others with knowledge of it. It's an elegant mess! |
The Ugly: |
If you're not careful, Evolution can lose your email, eat your contact list, and zap your personal calendar faster than Warren Buffet can say "corporate merger"! Evolution can get itself into a state in which it crashes repeatedly and predictably when certain operations are performed, making you fall back on more reliable email clients such as Mutt, and putting your calendar and contact list out of your reach. |
Here are some insights and procedures which will help you live more serenely with Evolution. They're based on my own several years of experience with it - hard-earned knowledge gained from losing important personal data and struggling with crashes frequent enough to make Windows ME look stable.
If you need to restore your Evolution data from these backups, you'll have all the important data and most of the configuration information you'll need to restore Evolution to it's previous functional state. A few things, such as the sort field and direction on various mail folders will be lost, but these are easily restored and probably not mission-critical for you.
Here's what my personal crontab looks like as far as Evolution data backup is concerned:
3 3 * * * cp /home/fmouse/.evolution/calendar/local/system/calendar.ics /home/fmouse/evolution_backup/ 4 3 * * * cp /home/fmouse/.evolution/signatures/* /home/fmouse/evolution_backup/ 5 3 * * * /usr/libexec/evolution/2.8/evolution-addressbook-export > /home/fmouse/evolution_backup/addressbook.vcard > /dev/null 2>&1 6 3 * * * cp /home/fmouse/.evolution/mail/vfolders.xml /home/fmouse/evolution_backup/ 7 3 * * * cp -a /home/fmouse/.evolution/mail/vfolder /home/fmouse/evolution_backup/ |
Restoring your data - Typically, Evolution will decide to start crashing on startup and nothing you do will allow it to stay running, or some critical component such as the Compose Message system will refuse to run, while issuing obscure and unfathomable error messages. It's less likely that your personal data will get corrupted at this point - you just won't be able to get to it, or make decent use of it. If this happens, you can often restore access by letting Evolution recreate your ~/.evolution tree from scratch. Make sure your backups of Evolution data are sound before doing this, and then proceed with the following steps:
Kill all Evolution component processes which may be running as your current user. This includes any running copies of evolution, evolution-alarm-notify and evolution-data-server. Do this first! ps ux | grep evolution is your friend!
If you've made changes to your calendar, contact list, signatures, or virtual folders since your last backup of these items, back them up manually now using the same methods you have in your backup cron job. If you suspect that Evolution may have corrupted your data (or even if you don't), it might be wise to make fresh backup copies and not overwrite your last cron-driven backups.
Rename your ~/.evolution tree to something different, or move it out of your home directory altogether.
Restart Evolution and answer any startup questions it may ask. Stop it normally and repeat step 1 above, killing all evolution components.
From your backups, manually copy your signatures to ~/.evolution/signatures and your virtual folder information to ~/.evolution/mail/vfolders.xml and ~/.evolution/mail/vfolder/. Evolution may not create a new ~/.evolution/signatures directory for you and you may need to mkdir it manually.
Start Evolution and from the File menu run the Evolution Import Assistant. You'll need to do this twice. For both runs, the Importer Type will be "Import a single file". Import the backup copy of your contact list which was saved in vcard format. After this is done, import the backup copy of your personal calendar.