Re: [Evolution-hackers] newbie question - structure of Evolution



On Thu, 2003-02-27 at 07:54, Andre Burke wrote:
> Hi all,
> 
> I am trying to get to understand the basic structure of how evolution
> hangs together.
> 
> I so far can see that you start with the Shell that links in several
> CORBA objects as well as a number of Camel providers.

Actually, the Shell doesn't handle the Camel providers at all. this is
all handled by the mail component (or, more specifically, the camel
library manages the camel providers transparently for the mailer - camel
is just a mail library)

> 
> I cant seem to find how they cross link though.
> 
> eg.  Does the shell drive the use of both CORBA and Camel objects?

No. As stated above, the shell knows nothing about the camel providers. 

The Shell loads each of the calendar, addressbook, summary and mailer
components and talks to each of them via Bonobo/CORBA. The "Local
Folders" are all folders that the Shell manages - when it starts up, it
scans the ~/evolution/local directory and uses the xml files in each to
find out what type they are. Each component, when it is "embedded" by
the shell, will tell the shell which folder types they support.

For example, the mailer supports "mail", and "vtrash"

the shell uses this information to decide which component it should
request a gui control from when that folder node in the tree is
selected. The component will get a CORBA call and have a number of
pieces of data sent to it, such as the folder uri and a few other
details. At this point, the component creates the gui control and sends
it back to the shell to display.

> 
> If I added extra functionality to a provider would it ever get used?

it should, yes.

> 
> Is there any documentation anywhere that shows the total structure and
> flow of data?  How do we get from the Shell to my-evolution to lets say
> the Calendar?

hopefully my above explanation answers at least some of your questions.
We used to have a whitepapers section somewhere on our website. I forgt
where it is tho - probably look in the developers section?

I think there may also be some whitepapers in the source tarball, but as
with the website docs - they are a bit out of date.

> 
> Why cant I add a calendar folder to my new email folder set (there is
> one in local).  It says the store doesnt support it.  How do I get it to
> support it.  Is it a limit on the imap side?  Can it be added to the
> imap camel provider?

since the shell manages local folders, it can put folders anyhere pretty
much, but the other toplevel folder trees (such as imap and vfolders)
are managed by the mailer which does not understand calendar types.

so it is mostly a "flaw" in the design of Evolution, I suppose - but
also keep in mind that IMAP doesn't really support the storage of
calendar data. I know some people kludge and store this info on imap
servers, but imap was never meant to support this and probably never
will.

> 
> I know these may all seem stupid but I really am a newbie.

not so much stupid :-)

Jeff

> 
> 
> Regards and thanks in advance.
> 
> Andre' Burke
> 
> 
> _______________________________________________
> evolution-hackers maillist  -  evolution-hackers lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-hackers
-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj ximian com  - www.ximian.com




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