[Evolution-hackers] Developing an EPlugin for Opportunistic Network Message Delivery

2009-01-21 Thread Giacomo Ghidini
Hello everyone!

As part of my research in opportunistic networking I've designed with
fellow students a routing protocol to deliver messages (from now on I
use the terms message and email interchangeably) in absence of any
kind of network access which relies only on direct contacts (through
basic wireless access interfaces) between nodes and on the fact that
nodes are mobile (think of a user carrying his/her laptop/netbook
around) and thus can forward a message from the source to the
destination by a series of direct contact exchanges.

Such a routing protocol is thought to be useful in a community
environment such as a college campus, a hospital or a company
headquarters where there is a rather large group of users who move
around the area and can carry messages on behalf of senders to the
destinations.

Now we'd like to implement our protocol to analyze its overall
performance and instead of recreating a message client application we
think it might be much more interesting developing it as a plugin for an
already existing email client application, thus being able to leverage
on the already available email creation, calendar and address book
subsystems. Then we could focus on the direct contact exchange and
routing protocol implementation.

I've looked into the online information for EPlugin development but I
still have a few doubts as how to get started with my own EPlugin:

  * Where can I find a getting started tutorial that describes how
to develop a simple EPlugin and how to hook up into EVolution's
email creation, calendar and address book subsystems?
  * What are the limitations related to hooking into Evolution
(perhaps, hook ups are missing for certain objects)?
  * What should my EPlugin project directory be organized?
  * Can I use C, C++, C# w/ Mono, any other languages/platform?
  * How do I build my EPlugin?
  * How do I add an EPlugin to an existing Evolution installation?

Once we'll have the EPlugin ready, we plan to make it available to users
on our campus or at other communities to collect performance data for
our analysis.

Of course, if anybody within the Evolution development community is
interested in participating in the development of this EPlugin helping
us novices, that will be very much appreciated and hopefully also a very
interesting experience.

I hope I could make my point clear enough in this email but please, feel
free to get back to me with any question or suggestion.

BTW, I do use Evolution as my email, address book and calendar
application on Ubuntu ;-)

Looking forward to your help I thank you in advance,

Gia

-- 

Giacomo Ghidini, PhD Student  (gia.ghid...@gmail.com)

-
Center for Research in Wireless Mobility and Networking (CReWMaN)
Department of Computer Science and Engineering
University of Texas at Arlington

500 W First St WH 411
Arlington, TX 76010

Tel.: +1 817 272 7409
-

___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Developing an EPlugin for Opportunistic Network Message Delivery

2009-01-22 Thread Giacomo Ghidini
Hi Partha!

Thank you for all your answers and suggestions. I'll check out all the
resources you listed and try to get started.

As for the support for other platforms, in this slide presentation Mono
assembly support is cited along shared library one. However, that's not
really important to me as I can any available solution.

I'll keep you posted on the developments.

All the best and thank you once again,

Gia

On Thu, 2009-01-22 at 09:27 +0530, parthasarathi susarla wrote:
 Hi Gia,
 
 On Wed, Jan 21, 2009 at 11:53 PM, Giacomo Ghidini gia.ghid...@gmail.com 
 wrote:
 
  snip
 
 
   * Where can I find a getting started tutorial that describes how
 to develop a simple EPlugin and how to hook up into EVolution's
 email creation, calendar and address book subsystems?
 IMHO the best place to start off with writing is to look at the source
 itself. All the e-plugins are available in 'plugins' directory in the
 evolution source.
 The necessary documentation is available here:
 http://www.go-evolution.org/EPlugin
 http://wiki.openchange.org/index.php/Evolution_plugin_Installation_and_Configuration
 
   * What are the limitations related to hooking into Evolution
 (perhaps, hook ups are missing for certain objects)?
 Ideally we should have hookups at every possible object in Evo, but
 well its not an ideal world and there are certain limitations.
 Ofcourse, you are more than welcome to actually contribute to
 enhancing the e-plugin architecture. :). Heres a list of all the
 plugins that are available in Evolution currently:
 
 http://projects.gnome.org/evolution/eplugins.shtml
 There are wide variety of plugins listed, should give you an idea as
 to what can be done. (At the least you will know what *has* and could
 be done)
 
   * What should my EPlugin project directory be organized?
 it should go to evolution/plugins directory (
 http://svn.gnome.org/viewvc/evolution/trunk/plugins/ )
 
   * Can I use C, C++, C# w/ Mono, any other languages/platform?
 You surely can use C (Evo, is almost entirely written in C). Am not
 sure about other language bindings.
 
   * How do I build my EPlugin?
 Check 
 http://wiki.openchange.org/index.php/Evolution_plugin_Installation_and_Configuration
 
   * How do I add an EPlugin to an existing Evolution installation?
 Developer Docs for EPlugin -
 http://projects.gnome.org/evolution/developer-doc/eplugin/
 
 
 Cheers,
 Partha
 

___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers