/Experiment ODB tree: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 70: Line 70:
are described in the following sections.
are described in the following sections.


=== <span style="color: purple;">''/Experiment/Name ''</span>  ===
=== <span style="color: purple;">''Name ''</span>  ===
<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">
* '''Type:''' STRING
* '''Type:''' STRING
* '''Default:'''   
* '''Default:'''   
</div>  
</div>  
Contains the name of the experiment. Filled automatically when the ODB is created.
This key in the [[#top|/Experiment tree]]
contains the name of the experiment. Filled automatically when the ODB is created.


<br>
<br>
Line 81: Line 82:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Buffer Sizes ''</span> subtree ===
=== <span style="color: purple;">''Buffer Sizes ''</span> subtree ===
Contains the sizes of the Midas Buffers for the experiment. Created with default values. The sizes can be changed to optimize the memory usage. See '''[[Event Buffer]]''' Size(s) for details.  Other user-defined
* '''Type:''' DIR
 
This key in the [[#top|/Experiment tree]] is a subtree to contain the sizes of the  
Midas Buffers for the experiment. Created with default values. The sizes can be changed to optimize the memory usage. See '''[[Event Buffer]]''' Size(s) for details.  Other user-defined
buffers may be present (e.g. for '''[[event filtering]]''').
buffers may be present (e.g. for '''[[event filtering]]''').
<br>
<br>
Line 88: Line 92:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Buffer Sizes/SYSMSG ''</span>  ===
==== <span style="color: purple;">''SYSMSG ''</span>  ====
<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">
* '''Type:''' DWORD
* '''Type:''' DWORD
* '''Default:'''  100000 Bytes
* '''Default:'''  100000 Bytes
</div>  
</div>  
Contains the size of SYSMSG buffer. This buffer is used for MIDAS messages.
This key in the [[#Buffer Sizes|/Experiment/Buffer Sizes subtree]]
contains the size of SYSMSG buffer. This buffer is used for MIDAS messages.
<br>
<br>
--------
--------
<br>
<br>


=== <span style="color: purple;">''/Experiment/Buffer Sizes/SYSTEM ''</span>  ===
==== <span style="color: purple;">''SYSTEM ''</span>  ====
<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">
* '''Type:''' DWORD
* '''Type:''' DWORD
* '''Default:'''  8MBytes
* '''Default:'''  8MBytes
</div>  
</div>  
Contains the size of SYSTEM buffer. See '''[[Event Buffer]]''' for details.
This key in the [[#Buffer Sizes|/Experiment/Buffer Sizes subtree]]
contains the size of SYSTEM buffer. See '''[[Event Buffer]]''' for details.
<br>
<br>
--------
--------
Line 109: Line 115:




=== <span style="color: purple;">''/Experiment/MAX_EVENT_SIZE ''</span>  ===
=== <span style="color: purple;">''MAX_EVENT_SIZE ''</span>  ===
<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">
* '''Type:''' DWORD
* '''Type:''' DWORD
* '''Default:'''  4MBytes
* '''Default:'''  4MBytes
</div>  
</div>  
 
This key in the [[#top|/Experiment tree]]
The key specifies the maximum event size that can be acquired. The default value is half the  
specifies the maximum event size that can be acquired. The default value is half the  
'''[[#/Experiment/Buffer Sizes/SYSTEM |size of the SYSTEM buffer]]'''. It can be increased if required
'''[[#SYSTEM |size of the SYSTEM buffer]]'''. It can be increased if required
(see '''[[Event Buffer]]''').
(see '''[[Event Buffer]]''').


Line 123: Line 129:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Menu Buttons''</span>  ===
=== <span style="color: purple;">''Menu Buttons''</span>  ===
 
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Type:''' STRING
* '''Default:'''  "Start, Pause, ODB, Messages, ELog, Alarms, Programs, History, Sequencer, Config, Help"
* '''Default:'''  "Start, Pause, ODB, Messages, ELog, Alarms, Programs, History, Sequencer, Config, Help"
   
  </div>
This key is added automatically by '''[[mhttpd]]''' to allow the Menu buttons that appear on the '''[[mhttpd|Main Status Page]]''' to be customized by  
This key in the [[#top|/Experiment tree]]
is added automatically by '''[[mhttpd]]''' to allow the Menu buttons that appear on the '''[[mhttpd|Main Status Page]]''' to be customized by  
removing unnecessary buttons or by changing their order.  
removing unnecessary buttons or by changing their order.  
Without the "Pause" being present in the list of  
Without the "Pause" being present in the list of  
Line 140: Line 147:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Transition debug flag ''</span>  ===
=== <span style="color: purple;">''Transition debug flag ''</span>  ===
<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">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  0
* '''Default:'''  0
</div>  
</div>  
This key in the [[#top|/Experiment tree]] contains a flag that, if set to 1, causes messages reporting transition progress to be output.
If flag is set to 1, messages reporting transition progress will be output.
<br>
<br>
--------
--------
Line 152: Line 158:




=== <span style="color: purple;">''/Experiment/Transition connect timeout''</span>  ===
=== <span style="color: purple;">''Transition connect timeout''</span>  ===
<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">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  10000
* '''Default:'''  10000
</div>  
</div>  
This key in the [[#top|/Experiment tree]] contains the
Value of timeout for remote rpc connect
value of timeout for remote rpc connect
<br>
<br>
--------
--------
Line 164: Line 170:




=== <span style="color: purple;">''/Experiment/Transition timeout''</span>  ===
=== <span style="color: purple;">''Transition timeout''</span>  ===
<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">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  120000
* '''Default:'''  120000
</div>  
</div>  
This key in the [[#top|/Experiment tree]] constains the
Value of timeout for transition  
value of timeout for transition  
<br>
<br>
--------
--------
<br>
<br>


=== <span style="color: purple;">''/Experiment/Prevent start on alarms''</span>  ===
=== <span style="color: purple;">''Prevent start on alarms''</span>  ===
<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">
* '''Type:''' BOOL
* '''Type:''' BOOL
* '''Default:'''  "n"
* '''Default:'''  "n"
</div>   
</div>   
Setting this key true will prevent the run from starting if an '''[[alarm]]''' is true.
This key in the [[#top|/Experiment tree]] if set true will
will prevent the run from starting if an '''[[alarm]]''' is true.


<br>
<br>
Line 187: Line 194:




=== <span style="color: purple;">''/Experiment/Prevent start on required program''</span>  ===
=== <span style="color: purple;">''Prevent start on required program''</span>  ===
<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">
* '''Type:''' BOOL
* '''Type:''' BOOL
* '''Default:'''  "n"
* '''Default:'''  "n"
</div>  
</div>  
 
This key in the [[#top|/Experiment tree]] if set true  
Setting this key true will prevent the run from starting if one of the '''[[required]]''' clients is not running.
will prevent the run from starting if one of the '''[[required]]''' clients is not running.
<br>
<br>
--------
--------
<br>
<br>
=== <span style="color: purple;">''/Experiment/Status items''</span> subtree ===




=== <span style="color: purple;">''Start-Stop Buttons''</span>  ===
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' BOOL
* '''Default:'''  "y"
</div>
By default Start/Stop buttons are shown on the [[mhttpd]] main status page. These buttons can be suppressed by setting
this key in the [[#top|/Experiment tree]] FALSE. 
<br>
<br>
--------
--------
Line 207: Line 218:




=== <span style="color: purple;">''/Experiment/Start-Stop Buttons''</span>  ===
=== <span style="color: purple;">''Pause-Resume Buttons''</span>  ===
<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">
* '''Type:''' BOOL
* '''Type:''' BOOL
* '''Default:'''  "y"
* '''Default:'''  "n"
</div>  
</div>  
 
By default Pause/Resume buttons are shown on the [[mhttpd]] main status page. These buttons can be suppressed by setting
this key in the [[#top|/Experiment tree]] FALSE.
<br>
<br>
--------
--------
<br>
<br>


 
=== <span style="color: purple;">''Edit on Start ''</span> subtree ===
=== <span style="color: purple;">''/Experiment/Pause-Resume Buttons''</span> ===
<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">
* '''Type:''' BOOL
* '''Type:''' DIR
* '''Default:''' "n"
</div>
</div>
This  optional subdirectory  in the [[#top|/Experiment tree]] may
contain user-defined parameters which will be displayed for editing at the beginning of each run. See '''[[Edit-on-start Parameters]]''' for details.


<br>
<br>
Line 228: Line 240:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Edit on Start ''</span> subtree ===
=== <span style="color: purple;">''Parameter Comments ''</span> subtree ===
This  optional subdirectory contains user-defined parameters which will be displayed for editing at the beginning of each run. See '''[[Edit-on-start Parameters]]''' for details.  
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
 
This  optional subdirectory   in the [[#top|/Experiment tree]] may contain user-defined parameter comments that give more information about
the '''[[Edit-on-start Parameters]]'''.  


<br>
<br>
Line 235: Line 252:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Parameter Comments ''</span> subtree ===
This  optional subdirectory  may contain user-defined parameter comments that give more information about
the '''[[Edit-on-start Parameters]]'''.


=== <span style="color: purple;">''Status items''</span> subtree ===
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
This key in the [[#top|/Experiment tree]] is a subtree  which by default contains a link to the [[#Name|experiment name]]. Any links or keys
created by the user in this optional subdirectory will be displayed on the [[mhttpd]] main status page.
<br>
<br>
--------
--------
Line 244: Line 265:




=== <span style="color: purple;">''/Experiment/Lock when running ''</span> subtree ===
=== <span style="color: purple;">''Lock when running ''</span> subtree ===
This  optional subdirectory  contains user-defined links to ODB parameters to prevent them being changed when the run is in progress. See '''[[Lock when running]]''' for details.
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>
 
This  optional subdirectory  in the [[#top|/Experiment tree]] contains user-defined links to ODB parameters to prevent them being changed when the run is in progress. See '''[[Lock when running]]''' for details.


<br>
<br>
Line 251: Line 276:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Security ''</span> subtree ===
=== <span style="color: purple;">''Security''</span> subtree ===
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>


This optional subtree is created when the '''[[odbedit]]''' commands passwd or webpasswd are issued. It enables a user to set up security features. See '''[[Security]]'''
This optional subtree   in the [[#top|/Experiment tree]] is created when the '''[[odbedit]]''' commands passwd or webpasswd are issued. It enables a user to set up security features. See '''[[Security]]'''
<br>
<br>
--------
--------
Line 260: Line 288:




=== <span style="color: purple;">''/Experiment/Security/Password ''</span> ===
==== <span style="color: purple;">''Password ''</span> ====
<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">
* '''Type:''' STRING
* '''Type:''' STRING
* '''Default:'''   
* '''Default:'''   
</div>  
</div>  
Contains the encrypted password. Key is created when '''[[odbedit]]''' command passwd is issued. See '''[[security]]''' for details.
This key in the [[#Security|/Experiment/Security subtree]]
contains the encrypted password. Key is created when '''[[odbedit]]''' command passwd is issued. See '''[[security]]''' for details.


<br>
<br>
Line 271: Line 300:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Security/Allowed hosts ''</span> subtree ===
==== <span style="color: purple;">''Allowed hosts''</span> subtree ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>


This subtree is created when '''[[odbedit]]''' command passwd is issued. When created, this subtree is empty.
This subtree in the  [[#Security|/Experiment/Security subtree]] is created when '''[[odbedit]]''' command passwd is issued. When created, this subtree is empty.
It may contain names of remote hosts allowed to have free access (i.e. without password) to the current experiment. See '''[[Security #Allowed Hosts|allowed hosts]]'''.  
Optionally, it may contain user-defined names of remote hosts allowed to have free access (i.e. without password) to the current experiment. See '''[[Security #Allowed Hosts|allowed hosts]]'''.  


<br>
<br>
Line 280: Line 312:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Security/Allowed programs ''</span> subtree ===
==== <span style="color: purple;">''Allowed programs ''</span> subtree ====
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DIR
</div>


This subtree is created when '''[[odbedit]]''' command passwd is issued. When created, this subtree is empty.
This subtree in the  [[#Security|/Experiment/Security subtree]] is created when '''[[odbedit]]''' command passwd is issued. When created, this subtree is empty.
It may contain names of clients allowed to have free access (i.e. without password) to the current experiment. See '''[[Security #Allowed clients|allowed clients]]'''.
Optionally, it may contain user-defined names of clients allowed to have free access (i.e. without password) to the current experiment. See '''[[Security #Allowed clients|allowed clients]]'''.


<br>
<br>
Line 289: Line 324:
<br>
<br>


=== <span style="color: purple;">''/Experiment/Security/Web Password ''</span> ===
==== <span style="color: purple;">''Web Password''</span> ====
<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">
* '''Type:''' STRING
* '''Type:''' STRING
Line 295: Line 330:
</div>  
</div>  


If '''[[Security #How to Setup Web Access Restrictions |web access restriction]]''' has been set up, this key
If '''[[Security #How to Setup Web Access Restrictions |web access restriction]]''' has been set up, this key in the  [[#Security|/Experiment/Security subtree]]
will contain an encrypted password for Web server access. Key is created when '''[[odbedit ]]''' command webpasswd is issued.
will contain an encrypted password for Web server access. Key is created when '''[[odbedit ]]''' command webpasswd is issued.


If this key is present, the user will be requested to provide the "Web Password" when accessing the requested experiment in "Write Access" mode. The "Read Only Access" mode is still available to all users.
If this key is present, the user will be requested to provide the "Web Password" when accessing the requested experiment in "Write Access" mode. The "Read Only Access" mode is still available to all users.
[[Category:ODB Tree]]

Revision as of 16:13, 6 June 2014


Creating the /Experiment tree

The /Experiment ODB tree is created automatically when the ODB is first created.

Purpose

The /Experiment ODB tree contains information relevent to the experiment. Other optional keys are added by mhttpd or by the user to customize their experiment.


Examples

When initially created, the /Experiment tree contains the following keys:

[local:midas:S]/>ls -lrt /experiment
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
Experiment                      DIR
   Name                        STRING  1     32    14s  0   RWD  midas
   Buffer sizes                DIR
       SYSMSG                  DWORD   1     4     11h  0   RWD  100000


The following example shows the /Experiment tree for the DEAP experiment :

[local:deap:R]/>ls -lrt /experiment
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
Experiment                      DIR
   Name                        STRING  1     32    7s   0   RWD  deap
   Buffer sizes                DIR
       SYSMSG                  DWORD   1     4     23h  0   RWD  100000
       SYSTEM                  DWORD   1     4     23h  0   RWD  640000000
       BUF0                    DWORD   1     4     23h  0   RWD  80000000
       BUF1                    DWORD   1     4     23h  0   RWD  80000000
       .......    other user-defined buffers not shown  
   MAX_EVENT_SIZE              DWORD   1     4     23h  0   RWD  4194304
   Menu Buttons                STRING  1     256   5h   0   RWD  Status, ODB, Messages, Elog, Alarms, Programs, History, MSCB, Sequencer, Config, Help
   Transition debug flag       INT     1     4     23h  0   RWD  0
   Transition connect timeout  INT     1     4     23h  0   RWD  10000
   Transition timeout          INT     1     4     23h  0   RWD  120000
   edit on start               DIR
       Pedestals run           BOOL    1     4     2h   0   RWD  n
       Write Data -> /Logger/Write data
                               BOOL    1     4     2h   0   RWD  n
       Comment -> /Experiment/Run Parameters/Comment
                               STRING  1     80    2h   0   RWD  Sequenced Tests
   Run Parameters              DIR
       Comment                 STRING  1     80    2h   0   RWD  Sequenced Tests
       Run Description         STRING  1     256   7h   0   RWD  Sequenced Tests
   Prevent start on alarms     BOOL    1     4     22h  0   RWD  n
   Prevent start on required prBOOL    1     4     22h  0   RWD  n
   Status items                DIR
       Experiment Name -> /Experiment/Name
                               STRING  1     32    7s   0   RWD  deap
   Start-Stop Buttons          BOOL    1     4     5h   0   RWD  y
   Pause-Resume Buttons        BOOL    1     4     5h   0   RWD  n



Keys in /Experiment tree

The keys in the ODB /Experiment tree are described in the following sections.

Name

  • Type: STRING
  • Default:

This key in the /Experiment tree contains the name of the experiment. Filled automatically when the ODB is created.




Buffer Sizes subtree

  • Type: DIR

This key in the /Experiment tree is a subtree to contain the sizes of the Midas Buffers for the experiment. Created with default values. The sizes can be changed to optimize the memory usage. See Event Buffer Size(s) for details. Other user-defined buffers may be present (e.g. for event filtering).



SYSMSG

  • Type: DWORD
  • Default: 100000 Bytes

This key in the /Experiment/Buffer Sizes subtree contains the size of SYSMSG buffer. This buffer is used for MIDAS messages.



SYSTEM

  • Type: DWORD
  • Default: 8MBytes

This key in the /Experiment/Buffer Sizes subtree contains the size of SYSTEM buffer. See Event Buffer for details.




MAX_EVENT_SIZE

  • Type: DWORD
  • Default: 4MBytes

This key in the /Experiment tree specifies the maximum event size that can be acquired. The default value is half the size of the SYSTEM buffer. It can be increased if required (see Event Buffer).




Menu Buttons

  • Type: STRING
  • Default: "Start, Pause, ODB, Messages, ELog, Alarms, Programs, History, Sequencer, Config, Help"

This key in the /Experiment tree is added automatically by mhttpd to allow the Menu buttons that appear on the Main Status Page to be customized by removing unnecessary buttons or by changing their order. Without the "Pause" being present in the list of menu buttons, the run cannot be paused/resumed, but only started/stopped. This is required by some experiments.

If MSCB support is built into MIDAS, the MSCB Menu button will also be shown.




Transition debug flag

  • Type: INT
  • Default: 0

This key in the /Experiment tree contains a flag that, if set to 1, causes messages reporting transition progress to be output.




Transition connect timeout

  • Type: INT
  • Default: 10000

This key in the /Experiment tree contains the value of timeout for remote rpc connect




Transition timeout

  • Type: INT
  • Default: 120000

This key in the /Experiment tree constains the value of timeout for transition



Prevent start on alarms

  • Type: BOOL
  • Default: "n"

This key in the /Experiment tree if set true will will prevent the run from starting if an alarm is true.





Prevent start on required program

  • Type: BOOL
  • Default: "n"

This key in the /Experiment tree if set true will prevent the run from starting if one of the required clients is not running.




Start-Stop Buttons

  • Type: BOOL
  • Default: "y"

By default Start/Stop buttons are shown on the mhttpd main status page. These buttons can be suppressed by setting this key in the /Experiment tree FALSE.




Pause-Resume Buttons

  • Type: BOOL
  • Default: "n"

By default Pause/Resume buttons are shown on the mhttpd main status page. These buttons can be suppressed by setting this key in the /Experiment tree FALSE.



Edit on Start subtree

  • Type: DIR

This optional subdirectory in the /Experiment tree may contain user-defined parameters which will be displayed for editing at the beginning of each run. See Edit-on-start Parameters for details.




Parameter Comments subtree

  • Type: DIR

This optional subdirectory in the /Experiment tree may contain user-defined parameter comments that give more information about the Edit-on-start Parameters.





Status items subtree

  • Type: DIR

This key in the /Experiment tree is a subtree which by default contains a link to the experiment name. Any links or keys created by the user in this optional subdirectory will be displayed on the mhttpd main status page.




Lock when running subtree

  • Type: DIR

This optional subdirectory in the /Experiment tree contains user-defined links to ODB parameters to prevent them being changed when the run is in progress. See Lock when running for details.




Security subtree

  • Type: DIR

This optional subtree in the /Experiment tree is created when the odbedit commands passwd or webpasswd are issued. It enables a user to set up security features. See Security




Password

  • Type: STRING
  • Default:

This key in the /Experiment/Security subtree contains the encrypted password. Key is created when odbedit command passwd is issued. See security for details.




Allowed hosts subtree

  • Type: DIR

This subtree in the /Experiment/Security subtree is created when odbedit command passwd is issued. When created, this subtree is empty. Optionally, it may contain user-defined names of remote hosts allowed to have free access (i.e. without password) to the current experiment. See allowed hosts.




Allowed programs subtree

  • Type: DIR

This subtree in the /Experiment/Security subtree is created when odbedit command passwd is issued. When created, this subtree is empty. Optionally, it may contain user-defined names of clients allowed to have free access (i.e. without password) to the current experiment. See allowed clients.




Web Password

  • Type: STRING
  • Default:

If web access restriction has been set up, this key in the /Experiment/Security subtree will contain an encrypted password for Web server access. Key is created when odbedit command webpasswd is issued.

If this key is present, the user will be requested to provide the "Web Password" when accessing the requested experiment in "Write Access" mode. The "Read Only Access" mode is still available to all users.