Re: [Evolution] Extending Evolution
- From: Federico Mena Quintero <federico helixcode com>
- To: evolution helixcode com
- Subject: Re: [Evolution] Extending Evolution
- Date: Wed, 17 May 2000 12:14:09 -0500
How much work has gone into enabeling Evolution to be used as a part of
another app? More importantly for me, how easy will it be?
As a new to C programmer, I am about to emabark on a project that has a
lot of overlap with Evolution. Mostly every thing Evolution does I
will need in my app (a client/stock management system for my partners
fledgling Naturopathic clinic)
Obviously Things like a TODO list and Calendar will not need much
customizing from my point of view, but I will need to be able to query
the Contacts and Journal type functions of evolution through my app, and
intergrate this with the Postgres database I am planning to use.
What I would like to do is have my app add a couple of Menu items and
shortcut bar icons to evolution, and have tables in my postgres database
link to Evolutions back end. All windows of my app would idealy open
inside of Evolution as the inbox and calendar do now.
Accessing the backends is pretty easy. Evolution is done using a
model/view separation between the data and the GUI. The calendar and
the addressbook data are handled by the Wombat server; mail handling
may be moved to the server in the future. The GUI parts live in their
own processes and do not do any "smart" handling of the data; they
just present the user with whatever they get from the Wombat server.
You access the Wombat server with its CORBA interface. The Evolution
GUI clients (i.e. the calendar and addressbook parts) communicate with
Wombat via its CORBA interface as well, so there is nothing different
between a stock component and your own code.
We have provided nice GTK+ object wrappers over the CORBA interface in
the form of libraries so that you do not have to worry about CORBA
issues. You can look at <evolution/cal-client/cal-client.h> and
<evolution/ebook/e-book.h> to see what the GTK+ objects look like.
As for the GUI part of your project, you can plug new folder types and
views into the Evolution shell. I'm sure Ettore can give you more
details about this.
We'll have programmer's documentation and complete API references at
some point; contributions are of course gladly accepted :-)
Federico
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]