Re: [Evolution-hackers] Patching Evolution to retrieve alist of emails and calendar events through DBUS



On Fri, 2007-02-23 at 17:15 +0100, Jo Vermeulen wrote:
> On Fri, 2007-02-23 at 08:58 -0700, Veerapuram Varadhan wrote:
> > On Fri, 2007-02-23 at 21:06 +0530, Srinivasa Ragavan wrote:
> > > On Fri, 2007-02-23 at 16:12 +0100, Jo Vermeulen wrote:
> > > > On Fri, 2007-02-23 at 18:28 +0530, Srinivasa Ragavan wrote:
> > > > > Hey Jo,
> > > > > 
> > > > > On Fri, 2007-02-23 at 13:41 +0100, Jo Vermeulen wrote:
> > > > > > Hello,
> > > > > > 
> > > > > > I was wondering how hard it would be to patch Evolution (or write a
> > > > > > plugin) to be able to retrieve a list of emails and calendar events
> > > > > > through DBUS?
> > > > > Shouldn't be that hard :). I think calendar has to be interfaced via EDS
> > > > > than Evolution. This way even contacts can also take the advantage.
> > > > 
> > > > I am looking into something that won't take me a week or so to
> > > > implement :-)
> > > > 
> > > > > > Is is possible to give me a few pointers on how I could do this? I have
> > > > > > no experience with Evolution whatsoever.
> > > > > 
> > > > > What sort of pointers you need. Evolution has quite a few hooks where
> > > > > you can plug code. We can add more hooks if required. But do you have a
> > > > > plan of what you are trying to achieve through DBUS interface. 
> > > > 
> > > > What we want to do is create an application that enables you to link
> > > > your emails, contacts, calendar items and the like. For now, we could
> > > > use DBUS to interface with Gaim and Tomboy, but Evolution is a bit more
> > > > troublesome.
> > > > 
> > > > In fact we would like to get a list of emails that have the label
> > > > "Todo", and a set of calendar events for a certain date.
> > > Wow. Sounds interesting :) 
> > Calendar/Contacts can still be queried using Evolution#, which is
> > currently used by Beagle.  However, querying mails is not yet supported
> > in Evolution#.
> 
> Indeed, that would be another possibility. However, Evolution# has no
> documentation. If anyone could help me get started with Evolution# that
> would be great!
> 
If you check-out evolution-sharp, you would see evolution/TestCal.cs and
evolution/TestBook.cs - these files help you to understand how to use
the basic APIs.

Alternatively, you can checkout: 
http://svn.gnome.org/viewcvs/beagle/trunk/beagle/beagled/EvolutionDataServerQueryable/CalContainer.cs?revision=3170&view=markup - for Calendar APIs
and 
http://svn.gnome.org/viewcvs/beagle/trunk/beagle/beagled/EvolutionDataServerQueryable/BookContainer.cs?revision=3223&view=markup - for Contacts APIs

> > > > > I think
> > > > > once you can close on that, we can easily expose hooks for the
> > > > > evolution-dbus-plugin. For some hints to start with, you can looks at
> > > > > the new-mail-notification plugin in Evolution which uses DBUS.
> > > > 
> > > > I had a look at that indeed, but I'm not sure how these plugins can be
> > > > loaded dynamically. Is it possible for me to develop a plugin, load it
> > > > into Evolution and try it out? This would enable rapid prototyping which
> > > > would speed up development ;-)
> > > You can google at tnef plugin which Notzed wrote long back. It was
> > > written/compiled separately and loaded dynamically into Evolution. So it
> > > is possible to load dynamically.
> > > 
> > Even if a plugin is written, you cannot get the notification unless you
> > run Evolution - so, whatever your application is will have a
> > hard-dependency on a running version of evolution.  Just a thought.
> 
> Yes indeed, but isn't this a problem for Evolution# as well? Doesn't it
> also need a running instance of Evolution?
Evolution# doesn't need a running instance of Evolution - since, it is
confined to only Calendar and Contacts.  We had a mail-remote-glue
written in Evolution# that would talk to evolution using
bonobo-interface, but, we pulled it back.

Cheers,

V. Varadhan
-- 
Veerapuram Varadhan <vvaradhan novell com>




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