[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