[Evolution] Major Evolution-Data-Server API breaks about to land



Reposting a blog entry to the mailing list for those interested.

Pardon the HTML, I didn't feel like fixing up all the links and formatting.

Hopefully most of the backup/restore issues that come up so frequently here will soon be a thing of the past.

Matthew Barnes





Major Evolution-Data-Server API breaks about to land


I mentioned in my previous blog post a few months ago that I've been overhauling Evolution-Data-Server's account format and APIs.  I've been doing all this work on a very long-running branch (18 months old now!) which was not ready in time for GNOME 3.4.  But it's ready now, and I'll be merging it this weekend just after the Evolution 3.5.2 tarballs are released.

I'm announcing this to a wide audience because the API breaks are going to affect a number of other projects in the GNOME community and perhaps beyond.  I already have patches prepared for several key GNOME components, and I stand ready to assist any other projects which will need to port their code to the new Evolution-Data-Server APIs.  Please contact me if you maintain one of these projects so I can help make the transition as smooth as possible. (mbarnes redhat com or #evolution on IRC).

In short, Evolution-Data-Server will migrate account data from the XML blobs we've historically stuffed into GConf to plain text files which live under the XDG-compliant $XDG_CONFIG_HOME directory.  Evolution-Data-Server will also introduce a new D-Bus service to serve these account files to client programs and to take over certain account management responsibilities so that Evolution-Data-Server becomes more of an autonomous desktop service that does not rely so heavily on Evolution.

I've written a fair amount of documentation, so just to get the links out of the way...
Immediate benefits to users and to GNOME are:





The new account management system also opens the door to all kinds of cool new enhancements to Evolution and Evolution-Data-Server.  I have lots of ideas and could easily spend another year chasing them all, but the order of the day is to get this branch finally merged so we can shake out the bugs and help other projects adapt in time for GNOME 3.6.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]