LWN.net Logo

Development

Connecting to Microsoft Exchange with OpenChange

October 13, 2008

This article was contributed by Tom Chance.

Working with a Windows network from Linux has never been a smooth ride. While Samba, Wine and OpenOffice.org have made many components workable, connecting to the Microsoft Exchange email server has remained unreliable. Now the OpenChange developers hope to change that, providing the same capabilities as Microsoft Outlook in a range of Linux-native clients like Kontact and Evolution. OpenChange is not yet workable, but partial operation can demonstrate its potential.

If you want to connect to Exchange at the moment, you have a few options. Evolution can connect using a hack with Outlook Web Access, providing email, shared folders, calendars and contacts. But it's far from reliable; I tried to get by with it at the office, warts and all, and managed it for a couple of weeks before resigning myself to Windows. The other options are even worse -- just use the webmail client, or use the IMAP server for email and hacks such as this one to get at other data in a manner similar to Evolution. Working from home on Kubuntu, I find it easier to just use the webmail client.

OpenChange is taking a much more sensible approach. At the heart of the project is a MAPI-compatible API, which allows clients to talk directly to Exchange and access all of its functionality. The code is still being actively developed, but some application developers have started playing around with it; the first code for Evolution came out in January 2008. According to Brad Hards, an OpenChange and Kontact developer, "OpenChange can do most of the Exchange tasks now, though it can't currently do free/busy."

For the curious, OpenChange developer Julien Kerihuel has written a simple command-line client. It's currently available in Ubuntu Intrepid and Debian Experimental, though you're better off compiling it yourself as it is changing quite rapidly. It isn't especially well documented, and the manpage implies some functionality that Kerihuel is still working on, but I did have some success.

First, you need to set-up a new profile:

tom@dell-desktop:~$ mapiprofile --profile=tom.chance -w=dell-desktop \
  -I=192.168.0.11 -D=BIOREG -u=tom.chance -p=mypassword --create

You can check if it has worked by listing your mailboxes:

tom@dell-desktop:~$ openchangeclient --mailbox --profile=tom.chance \
  + Mailbox - Tom Chance
|---+ Calendar :      (Total: 774 / Unread: 0 - Container class: IPF.Appointment) [FID: 0xdadb000000000001]  
|---+ Contacts :      (Total: 59 / Unread: 0 -  Container class: IPF.Contact) [FID: 0xdbdb000000000001]
|---+ Deleted Items : (Total: 0 / Unread: 0 -   Container class: IPF.Note) [FID: 0x3efc000000000001] 
|---+ Drafts :        (Total: 0 / Unread: 0 -   Container class: IPF.Note) [FID: 0xdcdb000000000001]   
|---+ Inbox :         (Total: 474 / Unread: 0 - Container class: IPF.Note) [FID: 0x3bfc000000000001]
|---+ General :       (Total: 10 / Unread: 1 -  Container class: IPF.Note) [FID: 0xe00240000000003]

I managed to send a test email, which I picked up in Outlook without problems. When I opened the same email in KMail, however, it has a "winmail.dat" binary file attached, which you wouldn't normally get in emails from Outlook.

tom@dell-desktop:~$ openchangeclient -p=tom.chance --to="tom.chance@bioregional.com" \
  --subject="OpenChange test" --body="Hmm, did this work?" --sendmail

sendmail MAPI_E_SUCCESS (0x0)

You can also interrogate folders, send emails, create and delete contacts, calendar appointments and access most of the other Exchange functionality. Kerihuel: "Openchangeclient is a test case for libmapi, it's a useful way to test if a problem is in the client application or in libmapi, and there is a plugin for sugarcrm, so it may remain in future." There's a proxy server using Samba too, for those who want yet another way of connecting.

For Kontact users, usable integration is probably a good 6 months away. The akonadi resource can deal with most of OpenChange's functionality, "at least a bit", accord to Hards, though "Kontact can't currently make use of it because it isn't converted to akonadi yet." KDE 4.2 should come out with akonadi integration, but the OpenChange functionality might not yet be stable enough for large quantities of important data. Hards thinks KDE 4.3 is probably "the sweet spot."

Until then, Ballmer's mantra remains relevant; OpenChange and its client implementations could do with developers, developers, developers. Cracking this nut could throw open Exchange to a new range of clients, and as Kontact and its peers become stable on Windows and MacOSX, an entrenched Windows server will pose less of a threat to free software migrations on desktops.

Comments (3 posted)

System Applications

Clusters and Grids

VIFF 0.7.1 released

Version 0.7.1 of VIFF has been announced, it is a bug fix release. "Virtual Ideal Functionality Framework is a framework for creating efficient and secure multiparty computations (SMPC). Players, who do not trust each other, participate in a joint computation based on their private inputs. The computation is done using cryptographic protocols which allows them to obtain a correct answer without revealing their private inputs. Operations supported include addition, multiplication, and comparison, all with Shamir secret shared outputs."

Full Story (comments: none)

Database Software

PostgreSQL Weekly News

The October 12, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

Device Drivers

LIRC 0.8.4 released

Version 0.8.4 of LIRC, the Linux Infrared Remote Controller, has been announced. "Irman support is broken in 0.8.2. Please use 0.8.4 if you have this receiver. "

Comments (none posted)

Filesystem Utilities

Stable NTFS-3G 1.5012 released

Stable version 1.5012 of NTFS-3G has been announced. "The NTFS-3G driver is able now for unlimited file and directory creation and removal as the result of 13 years continuous clean-room reverse engineering, documenting the different versions of NTFS on-disk formats and implementing a safely interoperable file system driver with the over 500,000 source lines Microsoft NTFS driver by the help of hundreds of contributors over these years."

Full Story (comments: none)

Mail Software

managesieve 0.4 released

Version 0.4 of managesieve has been announced, it includes new capabilities and bug fixes. "A ManageSieve client library for remotely managing Sieve scripts, including an user application (the interactive 'sieveshell'). Sieve scripts allow users to filter incoming email on the mail server. The ManageSieve protocol allows managing Sieve scripts on a remote mail server. These servers are commonly sealed so users cannot log into them, yet users must be able to update their scripts on them."

Full Story (comments: none)

Networking Tools

libnetfilter_conntrack 0.0.97 released

Version 0.0.97 of libnetfilter_conntrack has been announced. "libnetfilter_conntrack is a userspace library providing a programming interface (API) to the in-kernel connection tracking state table. This library requires a linux kernel >= 2.6.18. This release includes minor fixes, some enhancements and cleanups."

Full Story (comments: none)

Printing

CUPS 1.3.9 released

Version of CUPS, the Common UNIX Printing System, has been announced. "CUPS 1.3.9 fixes three integer overflow bugs, an incompatibility with Firefox 3, several printing bugs, and several scheduler bugs."

Comments (none posted)

Web Site Development

Plone 3.1.6 released

Version 3.1.6 of the Plone web development platform has been announced. "The 6th maintenance release of Plone 3.1 is now available."

Full Story (comments: none)

Plone 3.2a1 released

Version 3.2a1 of the Plone web development platform has been announced. "I'm proud to announce Plone 3.2a1, the first step towards an all egg-based Plone release."

Full Story (comments: none)

Desktop Applications

Audio Applications

Ardour: Finally, "move Tracks Up/down" (and Other News)

The latest news from the Ardour multi-track audio editor project includes a new move tracks up/down capability. "Ardour has had only one way to change the order of tracks in the editor window since it began - dragging the track names around in the list of tracks attached to one side of the window. In SVN for 2.X, I've just added the new move-selected-tracks-up and move-selected-tracks-down commands, which are bound to Shift-Up and Shift-Down by default. So now you can just select one or more tracks and press a key (or two) to move them up and down."

Comments (none posted)

mp3splt 0.5.2 released (SourceForge)

Version 0.5.2 of mp3splt, an mp3/ogg file splitter and its associated libraries, have been announced: "fixed bug crashing the applications on the silence split when no 'get_silence_level' function defined".

Comments (none posted)

Business Applications

Chandler Desktop 1.0.2 released

Version 1.0.2 of Chandler Desktop has been announced. "The Chandler Project is an open source, standards-based information manager designed for personal use and small group collaboration. Chandler Desktop 1.0.2 is a bug fix update to the previous release, 1.0.1."

Full Story (comments: none)

Openbravo ERP: R2.40 version is available (SourceForge)

Version 2.40 of Openbravo ERP has been announced. The description states: "Web based ERP for SMEs, built on proven MVC & MDD framework that facilitate customization & maintenance of code. Already in production, it encompasses a broad range of functionalities such as finance, supply chain, project mgmt, manufacturing & much more Openbravo ERP 2.40 is ready for general usage, including evaluation and production. We recommend existing production deployments to upgrade to this release."

Comments (none posted)

CAD

Sweet Home 3D: version 1.4 released (SourceForge)

Version 1.4 of Sweet Home 3D, an interior design CAD application, has been announced. "The new features of version 1.4 include bug corrections, texture images import, export to OBJ format, Swedish localization and other enhancements".

Comments (none posted)

Data Visualization

DISLIN 9.4 released

Version 9.4 of the DISLIN Data Plotting Library has been announced. "DISLIN is a high-level and easy to use plotting library for displaying data as curves, bar graphs, pie charts, 3D-colour plots, surfaces, contours and maps. Several output formats are supported such as X11, VGA, PostScript, PDF, CGM, WMF, HPGL, TIFF, GIF, PNG, BMP and SVG. The software is available for the most C, Fortran 77 and Fortran 90/95 compilers. Plotting extensions for the interpreting languages Perl, Python and Java are also supported."

Full Story (comments: none)

Desktop Environments

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Desktop Publishing

GNU PDF Blog

The GNU PDF Blog for October 6, 2008 has been published. Topics include: Fixes in the Stream Module, Super Powered pdf-filter, Crypt Unit Tests Passing(now), nocheck and fork-mode and more.

Comments (none posted)

Electronics

introducing CGRAN: 3rd party GNU Radio application support

The Comprehensive GNU Radio Archive Network site (CGRAN) has been launched. "The Comprehensive GNU Radio Archive Network (CGRAN) is a free open source repository for 3rd party GNU Radio applications that are not officially supported by the GNU Radio project. CGRAN provides a subversion repository for users to develop or submit new applications, and wiki access for full project documentation. Trac (our web interface) provides unique features such as a browser for the subversion repository and a ticket system for users to file issues with projects in CGRAN." GNU Radio is a software controlled multi-purpose radio platform.

Full Story (comments: none)

Encryption Software

M2Crypto 0.19.1 released

Version 0.19.1 of M2Crypto has been announced. "The 0.19.1 release fixes the build when OpenSSL has been configured without EC support, thanks to Miloslav Trmac. M2Crypto is the most complete Python wrapper for OpenSSL.."

Full Story (comments: none)

Games

Humerus 2.0 released

Version 2.0 of Humerus has been announced. "This version of Humerus has been extensively revised from the previous one. Instead of a pile of code to be cut and pasted, it is now a proper library made up of reusable classes, with detailed documentation and some example code included. What is Humerus? Humerus is a companion to the Albow widget library for PyGame. It provides a framework for games made up of a sequence of levels, including user interface and back-end logic for loading levels, saving and restoring game state and sundry other details."

Full Story (comments: none)

Geographical Software

uDig GIS: A First Look (Linux Journal)

Linux Journal takes a look at the uDig GIS application as part of its series on geographic information systems (GIS). The article shows how to find and load GIS data, then display it in various ways in this free software application. "To those who are new to GIS I generally tell them it involves "mapping with a computer". While this description is a bit oversimplistic, it captures the broad purpose of GIS. A more accurate description is, as the folks at Quantum GIS say, that a GIS is a collection of software that allows you to create, query and analyze geospatial data. I would further add that one can integrate any kind of geographic information and then find relationships among that information, and display it how you wish."

Comments (8 posted)

Interoperability

Wine 1.1.6 announced

Version 1.1.6 of Wine has been announced. Changes include: "Beginnings of schannel implementation using GnuTLS. Many fixes from various code analysis tools. Support for X11 desktop work area. Fixes for Richedit tables. More complete JavaScript support. Various bug fixes."

Comments (none posted)

Mail Clients

Claws Mail 3.6.1 is out

Version 3.6.1 of Claws Mail has been announced. "New in this release: Added /View/Fullscreen option. Re-ordering of the filtering/processing condition and actions lists is now possible using drag'n'drop. Updated Brazilian Portuguese and French translations."

Full Story (comments: none)

Medical Applications

MedinTux needs French to English translators to spread worldwide (LinuxMedNews)

LinuxMedNews introduces the medical application, MedinTux. The MedinTux interface is written in French and the project is looking for translators. "MedinTux is a powerful medical software, multiuser (using MySQL for data storage), easy-to-use (thanks to Qt development toolkit), complete, working from the GP to the hospital. Its unique design makes it the most customisable software you can dream of."

Comments (1 posted)

Multimedia

Elisa Media Center 0.5.14 released

Version 0.5.14 of Elisa Media Center has been announced. "The Elisa team is happy to announce the release of Elisa Media Center 0.5.14, code-named "El Bosc Vertical". The focus during this release cycle has been put on Windows functionalities and bug fixing (a good dozen closed)."

Full Story (comments: none)

Music Applications

Virtual MIDI Piano Keyboard 0.2.1

Version 0.2.1 of Virtual MIDI Piano Keyboard has been announced. "This is a maintenance release, fixing a crash in Windows when playing certain MIDI files and connecting a player output to VMPK input. The reset all button now also resets the internal controllers states. The number of keys is now constrained to reasonable limits within the MIDI notes range. The "grab keyboard" feature is now an optional runtime setting, as a workaround for some broken X11 window managers and desktops."

Full Story (comments: none)

Office Applications

Task Coach: Release 0.71.1 available (SourceForge)

Version 0.71.1 of Task Coach has been announced. "Task Coach - Your friendly task manager. Task Coach is a simple open source todo manager to manage personal tasks and todo lists. Often, tasks and other things todo consist of several activities. Task Coach is designed to deal with composite tasks. This release fixes a major bug in 0.71.0 (could not open older task files with e-mail attachments)."

Full Story (comments: none)

Office Suites

OpenOffice.org 3.0 released

OpenOffice.org 3.0 has been released. "Right from the opening screen, OpenOffice.org 3 has a fresh new look, with a new start screen, new splash screen, new icons, and a host of usability improvements." Click below for the announcement which contains an overview of the new features in this release.

Full Story (comments: 26)

Meeks: Measuring the true success of OpenOffice.org

Michael Meeks has taken a detailed look at contributions to OpenOffice.org and come away worried. "Crude as they are - the statistics show a picture of slow disengagement by Sun, combined with a spectacular lack of growth in the developer community. In a healthy project we would expect to see a large number of volunteer developers involved, in addition - we would expect to see a large number of peer companies contributing to the common code pool; we do not see this in OpenOffice.org. Indeed, quite the opposite we appear to have the lowest number of active developers on OO.o since records began: 24, this contrasts negatively with Linux's recent low of 160+. Even spun in the most positive way, OO.o is at best stagnating from a development perspective."

Comments (36 posted)

Science

mpmath 0.10 released

Version 0.1.0 of mpmath, a pure-Python library for arbitrary-precision floating-point arithmetic, has been announced. "Additions in 0.10 include plotting support, matrices and linear algebra functions, new root-finding and quadrature algorithms, enhanced interval arithmetic, and some new special functions. Many speed improvements have been committed (a few functions are an order of magnitude faster than in 0.9), and as usual various bugs have been fixed. Importantly, this release fixes mpmath to work with Python 2.6."

Full Story (comments: none)

Video Applications

Gnash 0.8.4 released

Version 0.8.4 beta 3 of Gnash, a free Flash player, has been announced. From the release notes: "Keep Adobe happy with our users and our users happy with us by changing "Flash player" into "SWF player" everywhere. Adobe claims "Flash" as a trademark and had asked a Linux distributor to fix it. The popular SWF Twitter badge now renders correctly. Fix parsing of urls containing multiple question marks Fix support for movies embedding multiple sound streams Support for loading PNG and GIF images added. Improved rendering of SWF movies because of the less visible changes listed below. Support for writing RGB/RGBA PNG images and JPEG images. Works with Potlatch OpenStreetMap editor New 'flvdumper' utility for analyzing FLV video files. XPI packaging support for Mozilla & Firefox."

Full Story (comments: 1)

Web Browsers

Firefox 3.1 beta 1 is now available for download

The first beta of Firefox 3.1 is available for testing. "This milestone is focused on testing the core functionality provided by many new features and changes to the platform scheduled for Firefox 3.1."

Full Story (comments: none)

Geode in Firefox 3.1: Lost in Linux (Linux Magazine)

Linux Magazine reports that the Geode geolocation feature of Firefox 3.1 will not be available to Linux users. While privacy advocates may be perfectly happy with that outcome, there may be others who would find the feature useful. It certainly seems to run counter to the whole idea of a free and open browser. "Mozilla Labs presents the following scenario: When you open the Firefox browser, it knows where you are and immediately opens websites for nearby restaurants, stores and other attractions. Mozilla developers have already integrated this feature, as the Geode plug-in, in the current beta version of Firefox 3.1. It is based on proprietary software from a company called Skyhook."

Comments (11 posted)

Languages and Tools

C++

dlib C++ Library: 17.10 Released (SourceForge)

Version 17.10 of dlib has been announced. "The dlib C++ library is a modern general purpose C++ toolkit with a focus on portability and program correctness. It comes with extensive documentation and thorough debugging modes. The library provides a platform abstraction layer for common tasks such as interfacing with network services, handling threads, and creating graphical user interfaces. Additionally, the library implements many useful algorithms such as data compression routines, linked lists, binary search trees, linear algebra and matrix utilities, machine learning algorithms, XML and general text parsing, and many other general utilities. This release was focused on fixing bugs and improving usability."

Comments (none posted)

Caml

Caml Weekly News

The October 7-14, 2008 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Java

IcedTea6 1.3 released

Version 1.3 of IcedTea6 has been announced, it includes new features, bug fixes and security fixes. "The IcedTea6 project provides a harness to build the source code from OpenJDK6 using Free Software build tools and provides replacements libraries for the binary plugs with code from the GNU Classpath project."

Full Story (comments: none)

Whiteoak 2.1 released (SourceForge)

Version 2.1 of Whiteoak has been announced. "The Whiteoak programming language is a backward compatible extension of Java 6, that supports: structural subtyping (AKA: structural conformance), virtual fields and constructors, mixin-like/trait-like composition of objects and more. Whiteoak 2.1 has been officially released. This release includes both a command-line compiler as well as an Eclipse plugin."

Comments (none posted)

Python

Mock 0.4.0 released

Version 0.4.0 of Mock has been announced. "Mock 0.4.0 has just been released, the first release in about ten months (but worth the wait). Mock is a simple library for testing: specifically for mocking, stubbing and patching."

Full Story (comments: none)

posix_ipc 0.1 is available

The initial release of the Python posix_ipc package has been announced. "The package posix_ipc provides a Python interface to POSIX shared memory and named semaphores on platforms that support them (i.e. most Unices)."

Full Story (comments: none)

python-aspects 1.2 released

Version 1.2 of python-aspects has been announced, one new function has been added. "aspects.py is a lightweight and low-level library for intercepting function calls. Functions and methods (also in Python standard library and third party code) can be wrapped so that when they are called, the wrap is invoked first. Depending on the wrap, the execution of the original function can be omitted, or the function can be called arbitrarily many times. Wraps are able to modify the call arguments and the return values of wrapped functions and handle exceptions. There can be many wraps on the same function. The wraps can be enabled, disabled and removed in any order."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The October 14, 2008 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Tcl/Tk

Tcl-URL! - weekly Tcl news and links

The October 15, 2008 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

IDEs

ZK: 3.5.1 released (SourceForge)

Version 3.5.1 of ZK has been announced. "ZK is Ajax framework. 100% Java, no JavaScript. With event-driven, 170+ components, and markup languages, development as simple as programming desktops and authoring HTML/XUL pages. ZK supports JSF, JSP, J2EE, and scripting in Java, Ruby, Groovy... Over 6 new features and 28 bugs fixed. New Tree style, Session fixation protection suppor[]ted."

Comments (none posted)

Libraries

Pantheios: 1.0.1 (beta 165) released (SourceForge)

Version 1.0.1 beta 165 of Pantheios, an Open Source C/C++ Logging API library, has been announced. "Release 1.0.1 beta 165 incorporates: Substantial reworking of contract API, reflected throughout the headers, implementation, example and test files".

Comments (none posted)

Miscellaneous

Bouml: 4.7 released (SourceForge)

Version 4.7 of BOUML has been announced, it includes various improvements. "BOUML is a free UML 2 tool box allowing you to specify and generate code in C++, Java, Idl, Php and Python. BOUML runs under Unix/Linux/Solaris, MacOS X and Windows. It is very fast and doesn't require much memory to manage several thousands of classes."

Comments (none posted)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds