I mentioned a few entrys ago that this article would be coming along. Now it as good a time as any to write it. Most folks reading a Linux column probably know at least a little about Evolution, but a quick levelset:
Evolution is an office application sort of like MS Outlook. It has email, calendaring, task lists and so on. Early versions implemented a slavish Outlook look as well, but later versions "got better". Evolution was written originally by a company names Ximian, and while Evolution was open source, they made a proprietary add in called "Exchange Connector" that allowed Evolution to work as a "native" protocol client against MS Exchange 2000 and 2003. I bought a copy of Connector back then, and ran it on my Mandrake desktop, so that I never had to use MS Outlook, not even under Codeweavers Crossover product (although I could, because I bought that too).
Novell bought Ximian, and open-sourced the Connector, which all the major distros picked up, and that is where my trouble started.
The last totally working version I had of Evolution and Connector was the very first open source version I could find: Fedora Core 2, running Evolution 1.4.5 (or may 1.4.6... been a while...). I practically skipped Fedora Core 3 because in my tests, I could never get its version of Connector to work. This was early in the 2.0 days... 2.0.2 or thereabouts. Towards the end FC3 shipped 2.0.4, and this started working, although Connector crashed quite a bit. But it worked enough that I finally upgraded the main laptop I use (the IBM T41) to FC3.
Oddly, SUSE 9.3 was a non-starter: even though Novell owns both SUSE and Ximian, I could never get the Connector to work right there either (although turning off all the Groupwise plugins seemed to make it nearly work.). Fedora Core 4 shipped 2.2.2, later updated to 2.2.3 and that also works, and is slightly more stable but still not great.
Along the way of this testing, I also a couple Debian derived distros to see how that version of Evolution Connector would work. Xandros and Knoppix (locally installed) pulled their .debs from the same repositorys for Evolution Connector though, so I was not really testing a different level of Connector as it turned out. Neither worked.
At this point, the only version of Evolution / Connector that I could get to work at all was the one that shipped late in FC3 and then later the Fedora Core 4 version. To make matters even more confusing, some of the people on my team could not get the Fedora Core 4 version to work: the only one that really worked well was back in the release 1.4.x days of Fedora Core 2!
The would be OK, but Evolution 2.x implemented look and feel changes that I wanted, and it also had Spam filtering that was very nice: one option even allows you to tie it in to Spam Assassin, although that is .... very....slow.... Span Assassin works better when you do not run it in the client, but rather up at the transport layer. But it worked (on Fedora) and was handy for me because I get hundreds of Spam's a day *after* BMC drops over 70% of the incoming email on the floor because it is known spam.
I have of course googled around trying to find out why Evolution has so many problems (for me anyway), and why Fedora's version works when SUSE's 9.3 and Debians versions did not. And I can find nothing. I have to assume that there is something about our environment that is just plain hostile to Evolution.
Connector works by accessing MS Exchange the same way that the Web version of Outlook does. MS used WebDAV to export the files to the client, and layered their HTML based interface over that. Connector uses WebDAV to get at the files, and uses it's own, non-web, regular email "heavy" client interface instead. The same Evolution user interface that also works via IMAP or POP: WebDAV is just an access protocol.
I assume Ximian had to do a fair amount of work to crack the files that WebDAV presents, but given the low noise ratio out in "googlespace", and the high level of Evolution uptake, I have to assume that they did this part pretty well. I also have tested MS Exchange servers that I use for my LinuxWorld lab that I have absolutely no issues with. My lab is a straight install of MS Exchange: no mucking around with the defaults.
One other data point here: Thunderbird and Kmail have no problems accessing MS Exchange via IMAP, but Evolution 2.x won't work that way either. We have POP turned off, so I can't test that.
Here is the good news though: SUSE 10 shipped with 2.4.0... which works but blows up now and again. But it does work. And an update today brought every up to these levels:
But it still has limited runtime before the Connector crashes. And Evolution leaves a great deal of itself still running so that I have to run evolution --force-shutdown, and then poke around with PS and kill to make sure all the bits are gone (or just reboot, but that is way too Windowsey).
I have not tested every single thing in SUSE 10 yet, but everything I have looked at is a real refinement over 9.3. Kontact gets better and better, and SUSE 10 shipped Kontact version 1.1.2. The MS Exchange calendar download feature of Kontact is working great: I have not looked to see if they have upload (which has never worked quite right) going yet. LDAP address books in Kmail also still elude me: I have locked my self out of my MS Exchange account twice today with a bit of experimentation with them. Or maybe it's Evolution doing that lockout thing.... hard to be sure. I have it all up and running, so I guess I'll need to step though it later and see if I can figure it out.
Why bother with all of this?
The easy way out here would of course be to just give up: I only control the client side of this problem, but here is where it gets a little odder. I have crashed MS Exchange itself 3 times over the last few months. And every time I did it I was in MS Outlook 2003, under MS Windows XP. At this point, I live it terror of doing that again (because it takes down hundreds of people when I do), so I pretty much *have* to stay out of MS Outlook. Gotta love the irony of that.
Crashing everyone else on the server is only one reason of course: I live on a Linux Desktop, and while MS Outlook runs fine under Codeweavers Crossover product, I really prefer to stay in Linux native applications when I can. The one and only time I have to be in Evolution for is for calendaring. I can do email just fine with Thunderbird. The new 1.5 beta implemented inline spell checking, which was the big missing feature for me. I'm spell checker dependent. All the Evolution crashes are easier to live with since I only have to be in that application long enough to send and receive meetings. And, if need be, I can always use the Web client to MS Outlook for basic calendaring.
Calendaring is a lot like the big open standards based to-do around OpenDoc right now (referenced in previous weblog entries). If you have implemented a non-standards ready calendaring solution, then you are stuck with the consequences of that. For a long long time. These things are not easy to get pried out of your infrastructure once they take hold, unless they are fully standards compliant and interoperable. That is the beauty of OpenDoc.
We'll be going to MS Exchange 2003 soon, and when that happens, the web interface gets better. Who knows... maybe Evolution will work better there too. I might even risk firing up MS Outlook again then! But not during business hours, just in case.