One of the goals for Evolution 2.24 [1] was to remove GtkHTML's
dependency on Bonobo.  This effort has been underway for several months
now and involved extensive changes to Evolution's message composer.

Today we finally committed these changes to Evolution and GtkHTML, which
will be released later this month as Evolution 2.23.1 and GtkHTML

If you're inclined to run our unstable releases, or even build the
latest Evolution code yourself from Subversion, we could really use some
help from the community in regression testing all things related to
sending or composing email in Evolution.  I want to make sure the new
message composer is rock solid in time for Evolution 2.24.

If you do spot any regressions, please file a bug report in Bugzilla or
catch me on the #evolution IRC channel on GimpNet (my nick is mbarnes)
or even email me directly ([EMAIL PROTECTED]).


There is one regression we're aware of already.  Many composer-related
plugins are temporarily broken.  Known broken plugins include Face, and
parts of Exchange Operations and Groupwise Features.

The problem is basically that our plugin framework has not yet learned
the more modern way to extend menus and toolbars (via GtkUIManager).
Most of Evolution still relies on libbonoboui for this.  We plan to have
this fixed before Evolution 2.23.2.


To help clarify what exactly has and has not changed, let me briefly
touch on the architecture of Evolution's message composer.

The composer consists of three layers, two of which reside in the
GtkHTML package.

  - Core rendering engine

    This innermost layer is the widget that renders your email messages
    in Evolution and is also the area where you type the body of your
    message in Evolution's composer window.  It lives in GtkHTML.

    This layer has not changed at all.

  - HTML editor

    This layer wraps the rendering engine in a window and adds the menus
    and toolbars to form a general-purpose HTML editor.  It also handles
    spell checking, pop-up menus, and all of the "properties" dialogs.
    It too lives in GtkHTML.

    This layer has been rewritten from scratch.  Whereas the previous
    editor was written as a Bonobo component (requiring a Bonobo
    activation server to communicate with Evolution), the new editor is
    just a straight-forward widget that can be subclassed and extended
    by other applications.

  - Email composer

    This layer does just that: subclasses and extends the HTML editor
    with features specific to composing and sending email.  This layer
    adds fields like "To", "From", and "Subject" to the editor, deals
    with character encodings, and manages attachments and security
    settings.  Obviously, this piece lives in Evolution.

    While not rewritten from scratch, this layer has been modified
    extensively to adapt to the new HTML editor widget.

Other places around Evolution that deal with composing or sending
messages, such as meeting invitations and the "Send Message to Contact"
feature, have been adapted accordingly.

Matthew Barnes


Evolution-hackers mailing list

Reply via email to