How to generate a control plugin
Control plugins are generated in the same way as execution plugins, however they do not work out of the box in the same way.
Firstly you will need to use the PluginGenerator.py which can be found in the edna/kernal/bin directory.
[ssg37927@ws016 bin]$ $EDNA_HOME/kernel/bin/PluginGenerator.py --help
This displays the range of code which can be used, however the main useage for control plugins is the following
PluginGenerator.py -n PluginName -b Control -v 2.1 -i XSDataInputMTZDUMPUnitCellSpaceGroup -r XSDataResultMTZDUMPUnitCellSpaceGroup -a 'Mark Basham' -c DLS -s EDPluginExecProcess -x /location/of/datamodel/xsd.xsd
This will generate a plugin with the following propertys
1. it will be called EDPluginControlPluginName 2. it will be a control plugin 3. it will be specified as version 2.1 in the path name of its location 4. it will use the /location/of/datamodel/xsd.xsd datamodel description to get its input and output from 1.1 its input object will be XSDataInputMTZDUMPUnitCellSpaceGroup 2.2 its output object will be XSDataResultMTZDUMPUnitCellSpaceGroup