Re: [Evolution] Making EDS find external EWS plugin



On Mon, 2016-05-30 at 10:51 +0200, Bjørn Forsman wrote:
Is there a way to make EDS (evolution-data-server) pick up an
exteranl EWS plugin? That is, find the plugin *without* it being
located inside evolution-data-server installation tree?

        Hi,
I do not think it's possible as of now. The modules directory is
"chosen" during the ./configure stage of the evolution-data-server, it
is advertised in the .pc file afterwards, in the moduledir variable
(`pkg-config libebackend-1.2 --variable moduledir`). As the evolution-
data-server builds its own modules too, then the change of the module
directory during the runtime would just avoid load of those "built-in"
modules, which is not what you want. Note that the evolution has its
own "moduledir" too, advertised at evolution-shell-3.0.pc file,
together with the "errordir", where both are used by the evolution-ews
and eventually evolution-mapi and/or any other 3rd-party module for the
evolution (evolution-rss and few/many other). The mail part also uses
the camel_providerdir (`pkg-config camel-1.2 --variable
camel_providerdir`).

Search the sources for the call of an e_dbus_server_load_modules
function. It uses EDBusServerClass::module_directory as the place from
where to load the modules (search also for "->module_directory =").
That's only for the evolution-source-registry, eovlution-addressbook-
factory and evolution-calendar-factory processes. The Camel (Mail)
directories and the configuration bits (for the evolution itself) are
elsewhere.

You might want to patch the evolution-data-server to use some other
paths too (not replace it with the other), which is not generally known
in time of the evolution-data-server build. That means any such change
won't be accepted upstream (I'm only telling my personal opinion here).

By the way, more suitable place to ask developer-related questions is
evolution-hackers, rather than evolution-list.
        Bye,
        Milan


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