[Evolution-hackers] Evolution calendar backend for Planner tasks



Hi guys!

I have finished before going holidays a first probe for the Planner
calendar backend for Evolution. Advice by rodrigo and with the last
experience in evolution resources import for planner and the OGo
connector, it hasn't been a very hard target.

You can see the integration screenshot in:

http://sinetgy.org/~acs/planner-evolution.png

and the code is attach to this email. You need to apply the patch to the
current evolution-data-server, and also, extract the "tar.gz" file in
the e-d-s sources. In the "tar.gz" is located the new files:

calendar/backends/planner: the real backend
servers/planner: a little program to add the souces lines in GConf so
Evolution can find the new backend data.

Actually, the planner file the backend uses is hard coded and it is
called "/tmp/test.planner". You need this file also in order the backend
can show you planner tasks.

I think it isn't worth the time to spend testing the new backend, but I
want to show it to the world before going out for 2 weeks in holidays.

Some details about how I have done it:

1. Take a current backend as reference: http

2. I have removed all the soup code, and the cache code and added lots
of new code. Maybe the right thing to do is to have a skeleton to be
filled when you want to start a new backend.

3. I have added to the backend the new libraries I need, libplanner, and
add it to the building environment for e-d-s.

4. The backend is very easy in concept: you need to create something to
translate what you have (MrpTask for Planner) to ECalComponent, and
store in memory the relation between this MprTask and the ECalComponent.

5. When a client ask you to open the Calendar, I open a new Planner
project and load all the task for this project, converting them to
ECalComponent and saving the relation in a GHashTable with uid as the
key.

6. I have added to srv/server.c and
srv/GNOME_Evolution_DataServerLDAP.server.in.in (I use LDAP) the entries
so e-d-s server knows about a new protocol called "planner".

7. To create the sources in GConf, I have followed the create-account.c
in server/groupwise/create-account.c and I have created
server/planner/create-planner.source.c

When I return from holidays and be in production state another time I
have to:

- Find where the backend will live: e-d-s CVS or planner CVS
- Solve some bugs when playing in real world with the backend
- Complete the MrpTask to ECalComponent conversor
- Find the way to ask the user for the details for the planner source:
which file or database project she want to use for the backend.
- Test, test and more test :)
- Other things ....

It is so funny to hack in this integrarion ... :) Thanks rodrigo for
your great support in the evolution project.

The "diff" is against the e-d-s as it is right now (16:50 GMT+2
15/08/2004).

Cheers

-- Alvaro 
-- 
Alvaro <acs barrapunto com>
Barrapunto

Attachment: eds-planner-backend.tgz
Description: application/compressed-tar



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