Re: [Evolution-hackers] PIM server synchronization and Evolution online/offline state

On Fri, 2012-04-13 at 10:54 +0100, David Woodhouse wrote:
> I really wouldn't want to see us reinventing the wheel and trying to
> do full sync and conflict resolution in Evolution — not in a generic
> way for all Evo back ends to use, and *especially* not over and over
> again in the different back ends for their own purposes.

One example can be the receive_objects calendar backend function. It can
be implemented with a use of create/modify/remove functions, and CalDAV
backend has it done this way, but each backend has it defined in its own
way, while this function is not that easy to get right.

I was playing with a similar idea many months ago. I thought of some
kind of meta-backend, which would work as a bridge between evolution's
API and backend specific API. The basic idea was to derive from the
EBackend, thus each descendant would be able to override its parts too,
with the initial implementation providing proper read/write operations,
with hiding the protocol-specific needs into common functions like "give
me known ids", "give me object X", "save object X" and so on. This way
the meta-backend descendant would focus on its own protocol and do not
bother of evolution's API. I made evolution-mapi book and calendar
backends this way, as some kind of prototype, but I never got any
further with the idea.

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