[geeklog-devel] Autoinstall plugins and dependencies

Blaine Lang devel at portalparts.com
Fri Oct 2 23:38:58 EDT 2009


Vincent Furia wrote:
> Are there any plugins out there (yet) that require another plugin to 
> be installed? While its certainly something that should take into 
> account going forward, are we borrowing trouble addressing an issue 
> that doesn't exist yet?
>
Yes, several of the nexpro suite plugins have dependencies on other 
plugins. Most of the plugins are dependand on the nexpro core plugin and 
others need the nexlist plugin. The nexflow plugin uses the nexform 
plugin for creating forms and routing them for review and approval. The 
nexproject plugin needs nexfile and nexforum.,

Our new release will be using the core nexpro plugin to manage even more 
common code and config options online for the other plugins. Our plugins 
today, have a pre-install hook that is called on install and checks if 
the dependencies like other plugins, directories, perms etc are tested 
before allowing the install to proceed and we show the site admin the 
status of the pre-requisites.

The autoinstall feature works well but is missing this ability. The 
autoinstall should check if a plugin has 'preinstallcheck' function, and 
allow that plugin to return more then a status or message. It should 
optionally be able to return a formated page - that can display status 
of any requirements. The autoinstall needs to have an fully automatic 
mode that is invoked if a plugin archive is uploaded or when geeklog is 
being installed - as it is now. The autoinstall is also invoked if you 
do a normal individual plugin install and  there should be an option of 
calling a preinstall function to display a splash page or into page 
before proceeding with the manual install. This function can also 
display the results of any preinstall checks.

It also would be nice if there was a way to control the order plugins 
are installed.

So in summary:
 - autopreinstall($mode)
 - if mode ==  'automatic' then just return a status and message.
 - if mode == 'manual' then return a status and formatted page

Blaine



More information about the geeklog-devel mailing list