/Customscript ODB tree: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Pagelinks}}


 
= Links =
==== Links ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* [[Online Database]]
* [[Online Database]]
* [[mhttpd]] custom page
* [[mhttpd]]
* [[Custom Page]]
* [[/Script ODB tree]]
* [[/Script ODB tree]]
* [[ODB]]
* [[ODB]]
</div>
</div>


== Purpose  ==
= Purpose  =
The optional  <span style="color:purple; font-style:italic">/Customscript</span> 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]].
The optional  <span style="color:purple; font-style:italic">/Customscript</span> 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]], except instead of producing [[/Script ODB tree#Script-button|script-buttons]] on the [[Status Page]], it produces [[#Customscript-button|customscript-buttons]] on a user-written [[Custom Page]], provided an HTML <input> tag is provided in the Custom Page code for each custom-script button (see [[Custom Page Features#CustomScript Buttons]]).
 
 
== Creating the /Customscript tree ==
The <span style="color:purple; font-style:italic">/Customscript</span>  ODB tree is created by the user. This tree is optional, and apart from the tree name <span style="color:purple; font-style:italic">/Customscript</span>names of any keys in this tree are chosen by the user.
 
If the user [[ODB#Creating ODB keys|creates a new ODB tree]] named <span style="color:purple; font-style:italic">/Customscript</span> , then any key <span style="color:purple; font-style:italic">/Customscript/<button name></span> created in this tree will appear as a '''''customscript-button''''' named ''<button name>'' on a [[mhttpd]] custom page that contains suitable code - see [[Custom pages]].
 
Each subtree  <span style="color:purple; font-style:italic">/Customscript/<button name>/</span> 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 /Customscript tree ==
 
The example below shows the ODB  <span style="color:purple; font-style:italic">/Customscript/DAC</span> subtree. The presence of the <span style="color:purple; font-style:italic">DAC</span> subtree will cause the system to created a ''customscript-button'' labelled ''DAC'' on a [[mhttpd]] custom page that contains suitable code.


This is identical to the [[/Script ODB tree#Example /Script tree|Example /Script tree]] except for the tree name (<span style="color:purple; font-style:italic">/Customscript</span> rather than <span style="color:purple; font-style:italic">/Script</span>).


The first key in the <span style="color:purple; font-style:italic">DAC</span> subtree is the key <span style="color:purple; font-style:italic">cmd</span> 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 <span style="color:purple; font-style:italic">experiment name</span> is a soft-link to the ODB key  <span style="color:purple; font-style:italic">/experiment/name</span>.
= Creating the /Customscript tree =
The <span style="color:purple; font-style:italic">/Customscript</span> ODB tree is [[ODB#Creating ODB keys|created]] by the user. This tree is optional, and the names of any keys in this tree are chosen by the user.


[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:
=  <span style="color:purple; font-style:italic"><customscript-name></span> key or subtree =
<div id="Customscript-button"></div>
Any key created in the <span style="color:purple; font-style:italic">/Customscript</span> tree will appear as a '''''customscript-button'''''  <span style="color: #444444; background-color: #CCCCCC; font-style:italic; font-size: 90; padding:0.25em;padding-left: 0.5em;padding-right: 0.5em;border:1px solid #808080;border-radius: 5px;margin-bottom:1px;"><customscript-name></span>
(see [[#Purpose|above]]).


  /home/pol/online/perl/change_mode.pl  /home/pol/online/perl pol 1h mode
Otherwise, the syntax of the <span style="color:purple; font-style:italic">/Customscript</span> tree is exactly the same as that of the <span style="color:purple; font-style:italic">/Script</span> tree. See [[/Script ODB tree#<script-name> key or subtree|Script tree]] for details.




[[Category:ODB Tree]]
[[Category:ODB Tree]]

Latest revision as of 13:05, 25 November 2016


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, except instead of producing script-buttons on the Status Page, it produces customscript-buttons on a user-written Custom Page, provided an HTML <input> tag is provided in the Custom Page code for each custom-script button (see Custom Page Features#CustomScript Buttons).


Creating the /Customscript tree

The /Customscript ODB tree is created by the user. This tree is optional, and the names of any keys in this tree are chosen by the user.


<customscript-name> key or subtree

Any key created in the /Customscript tree will appear as a customscript-button <customscript-name> (see above).

Otherwise, the syntax of the /Customscript tree is exactly the same as that of the /Script tree. See Script tree for details.