|OLS 2001 coverage||
Evolution, the Gnome Groupware Suite
The Evolution project was created due to a lack of groupware applications on Unix. The Evolution project has the goal of making an extensible component based architecture that is compatible with many standards.
A few of the goals of the Evolution project are:
Bonobo provides a component structured architecture that is designed to be the foundation for the next generation of Gnome applications. It is based on CORBA and hides details, and is an object oriented transport mechanism for interprocess communication. Applications can talk to each other via Bonobo without the need to know the details about what it is that they are talking to. Protocols are hidden behind the standard API.
OAF, the Object Activation Framework, offers directory services and locking for objects. Evolution is built from Bonobo components. Evolution implements the evolution shell component, libeshell. New components are easy to add. A Text only mode is provided, but it is somewhat immature.
Some of the Evolution structure was discussed. Folders are containers that hold data as well as other folders. The Bonobo control provides various views of the folder contents. Storages are top level nodes in the list of folders and are used to categorize things like imap and nntp servers, for example.
Mail is the internet killer application. Most Unix mail applications are text based with the exception of Netscape. The Mozilla project is moving fairly slowly.
The Evolution Camel mailer is fully buzword compliant. It supports imap and pop mail transfer protocols, and displays embedded html. Gpgp, pgp, and ssl are also supported. S/Mime is not yet supported, but it is being worked on. Camel mailer is based on a Java mail API. gp messaging library. Camel provides a pluggable and thread safe architecture.
Features include support for standard mbox files. There are speedups through mail summary and fast searches via a local database. The HTML mail component was borrowed from KDE, it is a fast, lightweight implementation. Mail imports are provided for compatibility with mbox, pine, elm, and netscape mailers. The import mechanism is extensible.
Camel provides a virtual folder system that allows all mail to be left in one large folder, messages can be grouped into virtual folders. Mail can be organized without splitting up the main folder. Splitting for virtual folders is performed via a rule based system that uses lisp-based regular expressions. A gui tool is provided for working with filter expressions. Camel has an advanced mailing list recognition capability for filing incoming mail. Many standard mailing list formats are recognized.
The Evolution message composer can do both text and html mail generation. It features the ability to dynamically toggle between both modes. HTML messages can have the usual assortment of font sizes, and colors. Table support is also included. A spell checking program is included in the message composer. Future developments include the addition of tags and notes, and a better message archive system.
The address book allows for searching of addresses. It supports Vcards and multiple views of the address information.
Prior to Evolution, there was no Outlook equivalent on Linux and Unix mailers featured no interoperability with Outlook or Lotus Notes, two very common applications in use on the other side. Before Evolution, no integration between mail clients and address book software was to be found on Unix.
The Calendar program supports multiple views. Appointments may be relayed through email. Calendar entries can be automatically entered via incoming email. Security is better than Microsoft products due to the lack of VBI and Java, although Bonobo components like message viewers could be exploited for vulnerabilities. The Calendar program has been used as a test bed for working in the gnome architecture.
The executive summary provides a quick view of the number of new email messages, the day's appointments and tasks, and weather. It can track timezone changes, which is a useful feature for people who travel afar with their laptops.
Wombat Personal Daemon
The Wombat personal daemon provides a storage back end to the calendar and address book. It provides for a separation between the data and the view of the data. An example use is Gpilotd for syncing a PDA. Gpilotd provides conduits for address books and calendars via a CORBA based interface.
It looks like the Evolution suite is evolving into a useful set of tools that will be a much welcomed addition to the Linux desktop.
Eklektix, Inc. all rights
Linux ® is a registered trademark of Linus Torvalds