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