[Owncloud] Proposal for new plugin system
Robin
icewind1991 at gmail.com
Wed Jul 28 20:50:48 UTC 2010
On Wednesday, July 28, 2010 21:53:08 you wrote:
> 2010/7/28 Robin <icewind1991 at gmail.com>:
> > Because our current plugin system isn't powerful enough for some cases,
> > I've written a proposal on the wiki for a new system that would be more
> > dynamic and allow for easier installation of plugins.
> > http://owncloud.org/index.php/Plugin_System_Proposal
>
> Interesting :)
>
>
> PLUGIN.XML
> ==========
> 1. I suggest to change <meta> in <info> or <information>
> 2. Add <description> to <meta>
> 3. Add <homepage> to <meta>
> 4. Add <email> to <meta>
> 5. Put all the <include> in something like <runtime>
> 6. Add <uninstall> identical to <install> but for uninstallation
> 7. It's important to have a version attribute into plugin
> (<plugin version="1.0">), this way it's possible to change the
> plugin.xml structure in future.
> 8. Maybe we need a require child in <meta>? Something like
> <require>1.0</require>, some way to know in which versions of
> ownCloud the plugin works.
>
> I will prefer if the filename is fixed so I know every plugin has a
> `plugin.xml`.
>
> See attachment for an example.
Good suggestions, updated the proposal for the plugin.xml structure with these
in mind.
>
>
> INSTALLATION
> ============
> I don't like the idea to use the `plugin.xml` file to guaranty the
> plugin is installed correctly.
>
> IMHO it would be better to insert the plugin in a DB table after the
> (successful) installation, see LOADING.
>
> Of course if the `plugin.xml` version is not complatible the plugin will
> not be installed (see PLUGIN.XML point 7).
>
>
> LOADING
> =======
> IMHO, it would be better has a `oc_plugins` DB table in which there is
> a row for each installed plugins.
> Every row contains information on the plugin: id, enabled, name,
> version, description, author, e-mail, homepage, licence and copyright.
>
> The enabled field can be false or true, if true the plugin is loaded.
> (Of course if the plugin is incompatible with the version of ownCloud
> installed will not be loaded, see PLUGIN.XML point 8).
>
>
> This should be flexible enough (TM), but I'm sure reading this you
> will have new ideas ;).
Not sure about this, saving a list of the plugins in the database seems
unnecessary to me, we need some more discussion on this.
More information about the Owncloud
mailing list