/Customscript ODB tree
Links
Purpose
The optional /Customscript ODB tree provides the user with a way to execute a script when a button on a mhttpd Custom Page is clicked, including the capability of passing parameters from the ODB to the user-written script. This tree is similar to the /Script ODB tree.
Creating the /Customscript tree
The /Customscript ODB tree is created by the user. This tree is optional, and apart from the tree name /Customscript, names of any keys in this tree are chosen by the user.
If the user creates a new ODB tree named /Customscript , then any key /Customscript/<button name> created in this tree will appear as a customscript-button named <button name> on a Custom Page that contains suitable code.
Each subtree /Customscript/<button name>/ should contain at least one key which contains the path and name of the script. This key should be the first in the list of keys in the subtree, and will be used to execute the script when the customscript-button is pressed. Any further keys will be passed as arguments to the script. MIDAS symbolic links are permitted.
Example
The example below shows the ODB /Customscript/DAC subtree. The presence of the DAC subtree will cause the system to created a customscript-button labelled DAC on a Custom Page that contains suitable code.
This is identical to the Example /Script tree except for the tree name (/Customscript rather than /Script).
The first key in the DAC subtree is the key cmd which contains the name and path of the script to be executed (in this case, a perl script). This script is located on the local host computer on which the experiment is running. The subsequent keys are parameters input to the script. The key experiment name is a soft-link to the ODB key /experiment/name.
[local:pol:R]/>ls "/customscript/DAC" cmd /home/pol/online/perl/change_mode.pl include path /home/pol/online/perl experiment name -> /experiment/name pol select mode 1h mode file tag none [local:pol:R]/>
When the customscript-button "DAC" is pressed, the script "change_mode.pl" will be executed with the following key contents as parameters, equivalent to the command:
/home/pol/online/perl/change_mode.pl /home/pol/online/perl pol 1h mode