Share This:

We upgrade to MS Exchange 2007 before Linux get MAPI/RPCs for MS Exchange. Back to the drawing board.

I have, for years, with varying degrees of stability, been able to access my Exchange based Calendar and email from Linux via Novell (really, Ximian's) Evolution product. I have written about all that at length here.


No more. Welcome MS Exchange 2007. Goodbye WebDAV. Microsoft's grand experiment in email open standards is over, and where Exchange 2000 and Exchange 2003 were accessible via the WebDAV protocol, Exchange 2007 drops this.


I do not know why. It was not because it did not work.


WebDAV was part of how MS created Web access to the MS Exchange inbox, Contacts, and Calendars. E2007 replaces that with a heavy and light client. The heavy client only works with IE, and is all ActiveX stuff as near as I can tell. The 'light' client appears to be mostly an HTML effort, and works with Safari and Firefox, among others. The light client is noticeably faster than the old light client was, and is cleaner and brighter to look at. It reminds me more than anything else of the Yahoo webmail interface.


It is serviceable, and will have to do for now, because with WebDAV removed, all I can access from Evolution is the Inbox via IMAP. That is not insignificant either: IMAP is faster than the old MS Exchange connector was: Clearly a lighter protocol. I also have Win7 and Outlook 2007 if I need it.


It Could be Worse: MAPI / RPC *is* coming to Linux. Slowly.


MS kept their access protocols carefully undocumented, non-Open-Standard, and in fact kind of catch as catch can. Need a new feature? MAPI protocol was not envisioned for that? No big deal: Add a Remote Procedure call. In addition to the MAPI protocol itself, when Outlook and MS Exchange talk, there are apparently 150 or so RPCs involved.


There is nothing about any of this that would keep any host platform that can talk TCP/IP from talking to MS Exchange. Neither MAPI nor RPC's are the exclusive realm of MS Windows. What has kept it exclusive has been lack of documentation. If you wanted to implement an email client with Calendaring, Contacts, and Tasks that talked to MS Exchange the same way Outlook does you had to grab the wire conversations and figure out how they worked. What they were doing.


This can be done. It is tedious and time consuming, but the Samba project figured out SMB this way. It can be done. What WebDAV did for projects like KDE's Kontact and Gnomes Evolution is make it far easier to figure out things. The wire protocol was WebDAV. They could see the mailstore, the Contacts, and other objects on the Exchange server via WebDAV. They still had to figure out the interactions, but by being readable, it was far easier than trying to start at zero like one would have with MAPI and undocumented RPCs (And we are talking about the undocumented MAPI here, not the documented SMAPI from years ago)


Even as relatively easy as it might have been, Evolution was never all that stable (At least when using the Exchange Connector, and some point releases were better than others and depended also on the Distro in odd ways that I have documented here in the past), and KDE never called their MS Exchange / WebDAV effort anything but experimental, and my experience of it was that while you could read your calendar, you could never add events to it with Kontact.


The EU has changed all this. MS has been told that if they want to do business there they have to document things like MAPI and the RPC's they have kept so under wraps for all this time. They have. In fact, MS also worked with Novell to get Silverlight going on Linux (the so-called 'Moonlight' project) so people could watch the Obama Inauguration on the Internet with Linux.


Now both KDE and Gnome are working with OpenChange to get support for MS Exchange into their projects. The first MAPI / RPC support is set for Evolution 2.26, due in March with the rest of Gnome 2.26. It will apparently implement a subset of the RPC's required to get started at a basic level with MS Exchange server access. Some 80 or so of the 150 RPC's MS has documented. In support of this, OpenChange just release a new library of fixes and new feature function on January 20th, 2009.


I have an OpenSUSE 11.1 / Gnome 2.24 based system set up and ready to test the new libraries as soon as I get a spare moment from my regular day job. That link also has repos for Fedora 9, 10, and OpenSUSE 11.0. I am also tracking Ubuntu 9.04 since it should ship with Gnome 2.26.

KDE is farther behind on this that Gnome, but they never really had WebDAV working as well either. This article documents the KDE's current status. In related news, after the setback that was the KDE 4.0 release, it looks like KDE is starting to get their Mojo back in general. KDE 4.2 is supposed to be much better, and by the time the MAPI / RPC support is added they should be well on their way to being a fully viable desktop again. Not that they stopped being one, as long as you stayed in the 3.x tree. But 4.x should be back to having all the feature/function of the 3.x tree, with the new underlying architectural improvements in place. It was painful, but it looks like the environment is nearly back. Just in time for Gnome to have a spasm of architecture changes no doubt.


Aside: I have no problem really with what KDE did when they moved to the new 4.x series. I get that they had to make some underlying changes to position themselves for the future. I just think that 4.0 and 4.1 were still Beta's. I have not yet tried 4.2 to see what it looks like: I will as soon as I have a chance. If nothing else, I will be tracking how KDE adds in the MAPI / RPC functionality. I like having options. It is probably telling that KDE centric distros like PCLinuxOS have chosen to stay with the 3.x tree so far. The exact quote, in reference to their upcoming PCLinux 2009 release:


"We decided to use kde3-5-10 as our default desktop as the we could not achieve a similar functionality from kde4. We will however offer KDE4 as an alternative desktop environment available from the repo once we stabilize it."


Waiting Is....


Geek points! I got in a "Stranger in a Strange Land" reference! In this case, it is not martian patience, it is just that there is not choice. MAPI support is coming soon, but it is not here yet, and it is getting here far faster than it might otherwise have, since the various projects have access to the actual protocols this time around. It still will take some time. I fully expect that Evolution 2.26.0 will be followed by a series of point releases while all the bugs get worked out on this brand new feature set.


The funny thing about all this is that it probably still is only a short term thing before all the angst about these protocols fades from relevance. Cloud Computing, Google Gears,, SaaS, Linux based Netbooks, and all the current technology has us heading away these paradigms can not help but have an impact here.