[Evolution-hackers] State of the Bonobo removal effort for Evolution



Hi folks,

One of the goals for Evolution 2.26 is to finally remove the use of
Bonobo and BonoboUI from Evolution [1] in favor of equivalent
functionality now provided by the GTK+ stack.  This is happening in
parallel with Ross Burton's effort to port Evolution-Data-Server from
using Bonobo to D-Bus as the communication medium.  The two efforts are,
at this point, still progressing independently.

I've been working on removing Bonobo from Evolution since late August
and have been publishing my source code changes to a Subversion branch
named "kill-bonobo" [2].  I've also been maintaining a wiki page by the
same name [3] with screen shots and somewhat regular updates, though the
updates tend not to go into much technical detail.

With the U.S. on daylight savings time now, our weekly IRC meetings are
at 05:00 EST and, not being much of a morning person, I've been waking
up in time even less frequently than I did when they were at 06:00 EST.
So I feel like I've been a little incommunicado lately about how things
are progressing.

I hope to correct that with this, the first of a series of postings
about where things stand and also some technical details about the
direction I've taken with the newly-rewritten EShell.

The wiki page [3] already has a brief overview of the new shell design,
along with a link to some incomplete and slightly out-of-date API docs
for it [4].  I'll try to improve the completeness and quality of the
documentation over the next week.


So, for the remainder of this first post I'll cover schedule.

Is this going to make it in time for 2.26?

Short answer is: I still don't know.

Red Hat was gracious enough to allocate two months for me to work on
this full time.  In that time I managed to complete the new EShell, more
or less finish the Contacts, Tasks and Memos modules, and get a good
start on the Calendars and Mail modules.  But with November already here
I'm obligated to focus on other issues of interest to Red Hat during
business hours, which leaves evenings and weekends (when I can find
time) to work on this.  Suffice it to say, progress has slowed.

Unfortunately, no matter how much I test the "kill-bonobo" branch
beforehand, the truth is when we finally do merge it to trunk there
_will_ be regressions.  Lots of 'em.  Hopefully no major show-stoppers
but lots of little things I missed.  The scope of the changes here is
simply too massive for me to catch everything.  Heck, I'm still fixing
little bugs I missed in the composer rewrite from earlier this year and
that was of much smaller scope than this.  We'll need a few months of
heavy testing and bug reporting from developers and interested members
of the community after the merge and before the stable release date.

So, I've drawn a line in the sand: 2.25.3.  If the merge doesn't happen
in time for that release, which is scheduled for mid-December, I'm
inclined to re-target the feature to 2.27.1.

As I said, at this point I don't know if I'm going to make it in time.
There's still a lot of work left.  Finish the Mailer and Calendar for
starters, and then go through and rework most of the plugins (EMenu and
EPopup are going bye-bye).  Plus I have a TODO list a mile long of loose
ends I have to go back and address.  Evolution-Exchange will likely need
some rework, though to what degree I'm not yet sure.  And I also don't
know what impact all this will have on the MAPI work.

It's getting there.  Just not as fast as I would've liked.  In the next
posting I'll talk about the new shell design and touch on some of the
things it now handles for you that the current shell does not.

If you have questions, suggestions or concerns, please don't hesitate to
shoot me or the list an email.  After all, I'm writing this in hopes of
getting some feedback.

Thanks,
Matthew Barnes



[1] http://www.go-evolution.org/Evo2.26

[2] Although Jonathan Blandford pointed out that "bonobo-slay" would
    have been a more clever and ironic name for the branch.  He's right.

[3] http://www.go-evolution.org/KillBonobo

[4] http://mbarnes.fedorapeople.org/docs/eshell/




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