Jérôme WAGNER wrote:

Andreas,

Plugins have to be in /usr/lib/application_name.

Under linux, could we also put Plugins under
/usr/lib/application_name/plugins ?
(like under windows)

Regarding the disambiguation and "planarization" of the directory structure,
I'd rather have only one level of directory that holds all the entry points
like :

pluginPath
|
|- plugin-wenbox
    |- wenboxplugin.so
|- plugin-phapi-audio
    |- phspeexplugin.so
    |- phamrplugin.so
|- plugin-phapi-video
    |- phxxxxxxxxxx.so


Said differently :

pluginPath
|- owapi-wenbox
    |- wenboxplugin.so
|- owapi-phapi-audio
    |- phspeexplugin.so
    |- phamrplugin.so
|- owapi-phapi-video
    |- phxxxxxxxxxx.so
|- owapi-phapi-sip
    |- ph-sfp.so (I don't know the exact name of this one)

If it is the same for you, I prefer by far this "planar", disambiguiated
structure because it will enable easier sharing of plugins across the
wengophone in the mid-term and clearer documentation for everyone.

Also, I think is it better to have a planar names like "owapi-phapi-audio"
for other "presentation" of the wengophone, like the fifefox extension. The
same name would be kept.


Jerome








-----Message d'origine-----
De : Andreas Schneider [mailto:[EMAIL PROTECTED] Envoyé : mercredi 27 septembre 2006 18:03
À : Jérôme WAGNER
Objet : Re: [Wengophone-devel] WengoPhone default plugin directories

Jérôme WAGNER wrote:
Hello,

I think plugins dir architecture should solve 2 problems :

- the separation of extension points
- the easiness of installation across extension points

Let me explain :

1/ A plugin for the wenbox should not lie in a directory where we look for
audio-codecs plugin

2/ a "file transfer" plugin that might be composed of
-  a phapi plugin
-  a presentation plugin
-  a model plugin

should present "cohesion" : all the files should be removable by only one
dir.

A way to solve that in the mid-term is the following :

1/ define sticky directory names for extension points like :
- plugin-wenbox
- plugin-phapi-audio-codec
- plugin-phapi
- ...

2/ have the loader scan recursively a "plugins" directory for all
appearances of the sticky names and reference those directory for
potential
presence of the required plugin

3/ we could potentially accept to scan elsewhere on the machine and I
suggest we put a ow prefix in front of the entry points

Ow is the prefix we use for all disambiguiation so it looks good also here
(it is short and meaningful)

----------

At this stage (because we do not have so many plugins and they all are
limited to 1 file), I suggest we simplify this approach and choose

{Basedir}/
|
|- ow_plugins/
    |-ow_plugin_wenbox
    |-ow_plugin_phapi_audio_codec
    |-ow_plugin_phapi_video_codec

We can probably live with this architecture a few month.

"basedir" is already the "plugin dir". So we should name it like in the
config to pluginPath. On Linux the pluginPath is /usr/lib/wengophone. On
Windows the pluginPath is ./plugins from the view of the executable. I
don't think that that the ow_plugin prefix is needed. On windows it is
in the same dir as the rest on linux you have the application name in
the path. I don't know about MacOSX.

pluginPath
|
|- wenbox
    |- wenboxplugin.so
|- phapi
    |- audio
        |- phspeexplugin.so
        |- phamrplugin.so
    |- video

I think this is the best structure. I'll implement it if you give me the OK.

Are you ok with that ?

Jerome
Ps: there are quite some things to do for packagers if we decide that. It
would be good to list all the impacts of such a directory renaming.


I'm a packager that's why I want to implement it as soon as possible.
Plugins have to be in /usr/lib/application_name.


        -- andreas



-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] De la part de
Andreas
Schneider
Envoyé : mercredi 27 septembre 2006 09:41
À : wengophone-devel@lists.openwengo.com
Objet : [Wengophone-devel] WengoPhone default plugin directories

Hi,

I want clear or lets say better directories for plugins. We could use
one directory for all plugins or use a base directory and subdirectories
for different parts.

The base directory
===================

Linux
------
Hardcoded (cmake option):

        _prefix/_libdir/wengophone (/usr/lib64/wengophone)

Dynamic:

        Path::getApplicationDirPath()

Windows
--------

        Path::getApplicationDirPath() + File::getPathSeparator() +
"plugins"
+ File::getPathSeparator()

MacOSX
-------

        Path::getApplicationPrivateFrameworksDirPath() +
File::getPathSeparator() + "plugins" + File::getPathSeparator()


If we want subdirs:

plugins/phapi
plugins/wenbox


What do you want?

        -- andreas


In phapi, phcfg structure contains a field specifying plugin directory....

I'd suggest to to stuff all phapi plugins in this directory and use absence/precense of
predefined entrypoints to distinguish between different plugin kinds


Vadim
_______________________________________________
Wengophone-devel mailing list
Wengophone-devel@lists.openwengo.com
http://dev.openwengo.com/mailman/listinfo/wengophone-devel

Reply via email to