Difference: DpHipePluginsDesignDocument (6 vs. 7)

Revision 72014-02-13 - AlvarGarcia

Line: 1 to 1
 
META TOPICPARENT name="DpHipePlugins"

Plug-in Framework Design Document

Line: 47 to 47
  All the above elements are optional: It is perfectly ok to omit any one.
Changed:
<
<
When the author has the plug-in ready, it can be sent to the HSC and we will add it to the public plug-ins Wiki DpHipePlugins. Also, in HIPE there is a button "Find plug-ins", which will open a browser window pointing to this Wiki page. This page/web-site can be extended in the future, but for now we will use a manually maintained Wiki. If the maintenance gets out of hand, we can migrate to a more automated system, that allows authors to upload directly (for example).
>
>
When the author has the plug-in ready, it can be sent to the HSC and we will add it to the public plug-ins Wiki DpHipePlugins. Also, inside HIPE's Plug-ins dialogue (Tools -> Plug-ins) there is a button "Find more...", which will open a browser window pointing to the public list Wiki page. This list page/web-site can be extended in the future, but for now we will use a manually maintained Wiki. If the maintenance gets out of hand, we can migrate to a more automated system, that allows authors to upload directly (for example).
 

Installing plug-ins

Line: 76 to 76
  After installation, and on every HIPE start, the highest compatible version of all installed plug-ins is determined, and this version of the plug-in is activated. This is implemented using the PluginProcessor interface.
Changed:
<
<
There are some default actions that need to be done for every plug-ins:
>
>
There are some default actions that need to be done for every plug-in:
 
  • The plugin.py needs to be executed,
  • any JARs need to be added to the classloader,
  • pools need to added to the PoolManager,
Line: 116 to 116
  Aside from the plug-in packages, the plug-in author can publish an XML file, typically by putting it on a web-server, containing a listing of version items for one or more plug-ins. This file we call the plug-in registry and the class representing it is herschel.ia.gui.apps.plugin.update.Manifest. The ManifestParser parses the XML file and creates a Manifest object containing the information. Each version item (an Entry) has a link to the plug-in installable package and compatibility information (see the class Compatibility). For this mechanism to work, the plugin.xml of every plug-in installed in HIPE should contain a link to it. At every start-up, HIPE checks this registry for every plug-in that is installed. If multiple plug-ins use the same registry, this registry is checked only once.
Changed:
<
<
If a plug-in that is installed is found in the registry, its compatibility information is copied to the bundle.xml. The information in the registry is leading when determining the compatibility of a plug-in. If a registry can't be contacted or a plug-in (in the installed version) doesn't occur in the registry, the local information is used. A plug-in is started at HIPE start-up if it is compatible with the HIPE version that is being started. If the compatibility information is modified, several things can happen:
>
>
If a plug-in that is installed is found in the registry, its compatibility information is copied to the bundle.xml. The information in the registry has precedence when determining the compatibility of a plug-in. If a registry can't be contacted or a plug-in (in the installed version) doesn't occur in the registry, the local information is used. A plug-in is started at HIPE start-up if it is compatible with the HIPE version that is being started. If the compatibility information is modified, several things can happen:
 
  • The plug-in was incompatible before the update and is still incompatible. The plug-in was not started and will not be started.
  • The plug-in was compatible before the update and is still compatible. The plug-in was started and will be left running.
  • The plug-in was incompatible before the update, but after the update it becomes compatible (according to the compatibility information). The plug-in was not started, but will be started after the update.
Line: 132 to 132
 

Working with Plug-ins in HIPE

Changed:
<
<
See the relevant section of the Developer Manual.
>
>
See the relevant section of the Developer Manual.
 

Open issues

 
This site is powered by the TWiki collaboration platform Powered by Perl