[kforge-dev] plugin packaging
Rufus Pollock
rufus.pollock at okfn.org
Mon Sep 19 12:35:06 UTC 2005
As more plugins get developed we want to start thinking about how
plugins get packaged and the related question of what files/info plugins
are expected to supply and where this is installed.
Example: Plugin Config
======================
Can't start adding all of plugin configuration to kforge.conf (as we
have started to with e.g. trac). as:
* wrong dependency direction: should have plugins -> core not core ->
plugins
* this goes back to a very early discussion about whether plugin
specific config need be available to other parts of the system
* if does not need to be available we can just put config in with
plugin and leave it there
* if it does need to be available then have to install
configuration into central system dictionary when you install the plugin
(an alternative is for plugin to support some kind of querying interface)
So where should plugin config and other stuff go?
Proposal
========
Personally I have a great preference for keeping plugins as
self-contained and self-sufficient as possible. This means, for example,
keeping the config with the plugin. This way plugins and the core system
are as independent as possible.
Suggestion for files:
1. docs:
* README.txt
* INSTALL.txt (optional)
* LICENSE.txt if different from main license
2. code modules supplying at minimum:
kforge.plugin.<plugin-name>.Plugin
3. config.py file so that you have plugin config in module (how does
this work with single module plugins?)
kforge.plugin.<plugin_name>.config
Extra Questions
===============
QU: Should plugins outside of the kforge namespace be allowed?
ANS: Current position is no.
More information about the kforge-dev
mailing list