[maemo-developers] EDS groupware "plugin" development
From: Jörgen Scheibengruber jorgen.scheibengruber at nokia.comDate: Fri Jun 4 17:41:43 EEST 2010
- Previous message: EDS groupware "plugin" development
- Next message: Pushing changes on Gitorius from QtCreator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am Freitag, den 04.06.2010, 11:48 +0200 schrieb ext Nils Faerber: > Hello! > We are currently evaluating the possibilities to attach the N900/Maemo5 > to a groupware server for synchronising PIM data - primarily contacts > and calendar events. > > Maemo5 quite obviously uses EDS in some form to handle some PIM data but > by quick searching I was not yet able to verify how EDS is used in > Maemo5. E.g. it is not fully obvious to me if EDS is used for all PIM > data or just for the address since I only see this > /usr/lib/evolution-data-server/e-addressbook-factory > in my process list. > And since the calendar and addressbook applications seem to be > non-open-source I cannot check in them either. Only the addressbook uses eds. The calendar has it's own backend, but it's open-source as well: http://maemo.gitorious.org/calendar-backend > The intention is to create something, like an EDS plugin, that will > allow the standard Maemo5 applications to transparently use another > groupware server, like e.g. Kolab. > > The documentation that is referred at > http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide > also does not mention calendar services and the calendar backend > documentation referred to by > http://maemo.org/api_refs/5.0/5.0-final/calendar-backend/ > is empty except for the data types. > > > So my basic questions are: > > - For which type of PIM data is EDS actually used in current Maemo5 PR1.2? Only the addressbook. > - For the types used would it be possible to add an EDS connector plugin > to connect to other groupwares and have it automatically picked up by > the built-in Maemo5 PIM apps addressbook and calendar? The list of backends that the addressbook tries to load is hard-coded, so while you can add more backends, the shipped clients will never open those. The only thing that can be done is to point the "system" addressbook to another backend then the "file" (= berkley db) backend via gconf (check libebook source how to do that). That way you basically could write a backend, that syncs automatically with a remote groupware server. As long as you take care to implement all the APIs that the file-backend implemnents, and take care that you use auto-incrementing integers as the contact UIDs, this should in theory work (and i successfully done it by replacing the berkleydb with a sqlite backend). But it never has seen any extensive testing, so I wouldn't be surprised if there are quirks. > - For the other non EDS type(s) what would be the best way to create > alternate source connectors? I'm not aware of any plugin system for the calendar, but it's backend supports different "calendars", that can be created/deleted/enabled/disabled from the UI. You can insert events into them by using the calendar-backend apis. > Many thanks for any information or pointers! Summary: I think for synchronization you definitely want to use the libebook and caledar-backend apis. I'm not sure if there is any actually any good use-case of replacing the eds file backend with another one, it's just a fairly simple database after all. And you should be able to do (almost?) everything that can be done from within the backend, via it's apis. Br, Jörgen
- Previous message: EDS groupware "plugin" development
- Next message: Pushing changes on Gitorius from QtCreator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]