ODB Page: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
mNo edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:


= Links =
= Links =
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
{{mhttpdpages}}
* [[Mhttpd|mhttpd MIDAS web server]]
* [[Status Page]]
* [[Message Page]]
* [[ODB Page]]
* [[Programs Page]]
* [[Alarms Page]]
* [[MSCB Page]]
* [[History Page]]
* [[Custom Page]]
* [[Sequencer Page]]
* [[odbedit]]
</div>


= Purpose =
= Purpose =
Line 27: Line 15:


The ODB Page is accessed from the [[Status Page]] (or one of the other Pages) by clicking on the  
The ODB Page is accessed from the [[Status Page]] (or one of the other Pages) by clicking on the  
menu-button{{Button|name=ODB}}.
menu item {{Button|name=ODB}}.


The top level ODB trees will be visible as key-links (i.e.links to a key) ([[#Example ODB Page|Figure 1]]).  
The top level ODB trees will be visible as key-links (i.e.links to a key) ([[#Example ODB Page|Figure 1]]).  
Line 33: Line 21:


;Note
;Note
:If "ODB" button is not present on the Status Page, it may have been [[Status Page#page-switch-buttons|suppressed]].
:If "ODB" button is not present on the Status Page, it may have been [[Status Page#page-switch-buttons|hidden]].




Line 48: Line 36:
<br clear=all>  
<br clear=all>  


By clicking on the key-links on the ODB page ([[#Example ODB Page|Figure 1]]), the user can browse the various subtrees ([[#Figure 2|Figure 2a]]). By clicking on the "+" link adjacent to the "Value" heading ([[#Figure 2|Figure 2b]]) , the type and size of the keys are shown. This is equivalent to the [[odbedit]] commands <span style="color:saddlebrown; ">ls</span> and <span style="color:saddlebrown;">ls -l</span>.  
By clicking on the key-links on the ODB page ([[#Example ODB Page|Figure 1]]), the user can browse the various subtrees ([[#Figure 2|Figure 2a]]). By clicking on the "&rarr;" link adjacent to the "Value" heading ([[#Figure 2|Figure 2b]]), the type and size of the keys are shown. This is equivalent to the [[odbedit]] commands <span style="color:saddlebrown; ">ls</span> and <span style="color:saddlebrown;">ls -l</span>.


= Change the value of an ODB key =
= Change the value of an ODB key =
Line 60: Line 48:
The user can create a new ODB key in a tree or subtree  using the [[ODB Page]] by  
The user can create a new ODB key in a tree or subtree  using the [[ODB Page]] by  
# entering the appropriate directory (see [[#Browse the ODB]])  
# entering the appropriate directory (see [[#Browse the ODB]])  
# clicking the <span style="color: #444444; background-color: #CCCCCC; font-style:italic; font-size: 90; padding:0.25em;
# clicking the [[File:file-plus.svg]] button ([[#Figure 2|Figure 2]]).  
padding-left: 0.5em;padding-right: 0.5em;border:1px solid #808080;border-radius: 5px;margin-bottom:1px;">Create</span> button ([[#Figure 2|Figure 2]]).  


This will result in a "Create ODB Entry box" pop-up (Figure 3).
This will result in a "Create ODB Entry box" pop-up (Figure 3).
Line 67: Line 54:
'''Figure 3: Create an ODB Key  (click a thumbnail to enlarge)'''
'''Figure 3: Create an ODB Key  (click a thumbnail to enlarge)'''
<gallery>
<gallery>
File:odb_page_create.png|Figure 3a:<br> Create Type Integer
File:odb_page_create.png|Figure 3a:<br> Create an integer
File:odb_array_create1.png|Figure 3b:<br> Create Array Type String
File:odb_array_create1.png|Figure 3b:<br> Create an array of string
File:odb_array_create2.png|Figure 3c:<br> Created Keys
File:odb_array_create2.png|Figure 3c:<br> Created keys
</gallery>
</gallery>




The '''Type''' of key to be created is selected from the ''Type'' drop-down list (Figure 3a). The choices are shown in Table 1.
The '''Type''' of key to be created is selected from the ''Type'' drop-down list (Figure 3a). Any of the data types supported by midas can be created (floats, integers, strings etc), including subdirectories and symbolic links.
 
<div id="Table 1"></div>
{|  style="text-align: centre; width: 50%; background-color: rgb(grey); font-size:75%" border="1" cellpadding="1" cellspacing="1"
|+ '''Table 1:  ODB Key Types'''
|-
| colspan="2" rowspan="1" style="vertical-align: top; background-color: lightgrey; font-weight: bold;" | Key Types
|-
| Integer(32-bit)
| Float (4 bytes)
|-
| String
| Multi-line String
|-
| <span style="color:green;font-weight:bold">Subdirectory</span>
| Byte
|-
| Signed byte
| Character (8-bit)
|-
| Word (16-bit)
| Short integer(16-bit)
|-
| Double Word (32-bit)
| Boolean
|-
| Double float(8 Bytes)
| <span style="color:fuchsia; font-weight:bold">Symbolic link</span>
|}
<br clear=all>  
<br clear=all>  


Line 108: Line 67:
[[#Figure 3|Figure 3a]] shows the creation of a key of type '''Integer''' (32-bit). The type "Integer (32-bit)"
[[#Figure 3|Figure 3a]] shows the creation of a key of type '''Integer''' (32-bit). The type "Integer (32-bit)"
has been selected from the ''Type'' drop-down list ([[#Table 1|Table 1]] above).
has been selected from the ''Type'' drop-down list ([[#Table 1|Table 1]] above).
The name of the key "Number of cycles" has been filled in using the ''Name'' box. This key is not an array so the ''Array Size'' box has the default (1). The ''String size'' box will be ignored since this is a Integer key. The key is created by pressing the {{Button|name=Create}} button on Figure 3a.  The value of the key will be set to 0 when created. This has been changed to 10 in Figure 3c by clicking on the Key Value link .
The name of the key "Number of cycles" has been filled in using the ''Name'' box. This key is not an array so the ''Array Size'' box has the default (1). The key is created by pressing the {{Button|name=Create}} button on Figure 3a.  The value of the key will be set to 0 when created. This has been changed to 10 in Figure 3c by clicking on the Key Value link .


[[#Figure 3|Figure 3b]] shows the creation of a '''String Array'''. The type "String"
[[#Figure 3|Figure 3b]] shows the creation of a '''String Array'''. The type "String"
Line 117: Line 76:
== 2. Create a subdirectory or symbolic link  ==
== 2. Create a subdirectory or symbolic link  ==


Create a '''subdirectory''' key in the same way as a regular key [[#Figure 3|Figure 3a]] by selecting <span style="color:green">subdirectory</span> from the ''Type'' drop-down list ([[#Table 1|Table 1]] above). [[#Figure 4|Figure 4a]] shows the creation of
Create a '''subdirectory''' key by clicking the [[File:folder-plus.svg]] icon. [[#Figure 4|Figure 4a]] shows the creation of
a subdirectory {{Odbpath|path=Edit on start}} in the  {{Odbpath|path=/Experiment}} directory.
a subdirectory {{Odbpath|path=Edit on start}} in the  {{Odbpath|path=/Experiment}} directory.
The subdirectory is created by pressing the {{Button|name=Create}} button on Figure 4a.
The subdirectory is created by pressing the {{Button|name=OK}} button on Figure 4a.


<div id="symbolic link"></div>
<div id="symbolic link"></div>
A '''symbolic link''' (or '''link''') is a key which is a short-cut to another key in the ODB.  
A '''symbolic link''' (or '''link''') is a key which is a short-cut to another key in the ODB.  
Create a link by selecting <span style="color:fuchsia">symbolic link</span>  from the ''Type'' drop-down list ([[#Table 1|Table 1]] above).
Create a link by pressing the [[File:link.svg]] icon.
Figure 4b shows the creation of  
Figure 4b shows the creation of  
an [[Edit-on-start Parameters|edit-on-start parameter]] which is a symbolic link called "write data" .  
an [[Edit-on-start Parameters|edit-on-start parameter]] which is a symbolic link called "My link". The target of the link can be chosen either by typing in the text box, or by pressing the {{Button|name=...}} button, which will present an ODB "picker", as shown in Figure 4c. The resulting link is shown in Figure 4d.
The symbolic link is created by pressing the {{Button|name=Create}} button on Figure 4b.
The value of this symbolic link is set to the ODB key {{Odbpath|path=/logger/write data}} in Figure 4c. The resulting link is shown in Figure 4d.


<div id="Figure 4"></div>
<div id="Figure 4"></div>
Line 134: Line 91:
File:odb_create_subdir.png|Figure 4a:<br> Create <span style="color:green">subdirectory</span>
File:odb_create_subdir.png|Figure 4a:<br> Create <span style="color:green">subdirectory</span>
File: odb_link1.png | Figure 4b: <br> Create <span style="color:fuchsia">symbolic link</span>
File: odb_link1.png | Figure 4b: <br> Create <span style="color:fuchsia">symbolic link</span>
File: odb_link2.png | Figure 4c: Click on "(empty)" and fill in  {{Odbpath|path=/logger/write data}}
File: odb_link2.png | Figure 4c: Choose the target of the symbolic link
File: odb_link3.png | Figure 4d: Symbolic link has been created
File: odb_link3.png | Figure 4d: Symbolic link has been created
</gallery>
</gallery>
<br clear=all>  
<br clear=all>
 


= Delete an ODB key =
= Delete an ODB key =
Line 144: Line 100:
<div id="Figure 5"></div>
<div id="Figure 5"></div>
[[File:odb_page_delete.png|thumb|left|Figure 5: ODB page Delete a key]]
[[File:odb_page_delete.png|thumb|left|Figure 5: ODB page Delete a key]]
The user can delete a key in a tree or subtree by clicking the {{Button|name=Delete}}
The user can delete a key using the [[File:trash-2.svg]] icon. There are two usages of the icon:
button. The user selects which to delete from a list of the keys in the subtree (e.g. Figure 5).  
* Click on the row of an ODB key and it will be highlighted in blue. Then click the [[File:trash-2.svg]] icon. You will be prompted to confirm that you want to delete that key. You can select multiple keys by holding the Ctrl or Shift keys and clicking again (just like in your computer's file browser).
* If you don't select any ODB keys before clicking the [[File:trash-2.svg]] icon, you are saying you want to delete the entire subdirectory that you're currently in. You will be prompted to confirm that you want to delete everything in the current subdirectory.


You can also delete a key by right-clicking on a row and selecting "Delete key".


<br clear=all>  
<br clear=all>  
= Search the ODB for a key =
= Search the ODB for a key =
[[File:odb_page_find.png|thumb|left|Figure 6: ODB Page Find pop-up]]
Click on the [[File:search.svg]] icon to find any keys in the entire ODB that match a given term. A pop-up (Figure 6a) appears in which the user types the relevant information. The results appear as shown in Figure 6b. Note you are searching for the key names, not the values.
Click on the {{Button|name=Find}}
 
button. A pop-up (Figure 6) appears in which the user types the relevant information.
<gallery>
File:odb_page_find.png|Figure 6a:<br> Enter search term
File:odb_search results.png| Figure 6b: <br> View search results
</gallery>


<br clear=all>


= Reorder ODB keys in a subdirectory =


<br clear=all>  
You can enter "re-order" mode by clicking the [[File:shuffle.svg]] icon. A [[File:menu.svg]] icon will then appear next to each ODB key, as shown in Figure 7. You can click and drag this icon to change the position of the key in the subdirectory.
 
Click the [[File:shuffle.svg]] icon again to exit "re-order" mode.
 
<div id="Figure 7"></div>
[[File:odb_reorder.png|thumb|left|Figure 7: Re-order ODB keys]]
 
<br clear=all>
 
= Copy and paste ODB values =
 
You can copy and paste ODB information to/from your clipboard using the [[File:odb_copy.svg]] and [[File:odb_clipboard.svg]] icons.
 
For copying there are 4 options:
* Just click the [[File:odb_copy.svg]] icon. This will copy the entire directory (and any subdirectories) as JSON.
* Click on a row (or rows) and they will be highlighted in blue. Then click the  [[File:odb_copy.svg]] icon. This will copy the names/values of the selected keys as JSON.
* Right-click on a row and choose "Copy key". This will copy the name/value of the selected key as JSON.
* Right-click on a row and choose "Copy plain text". This will copy the name/value of the selected key as plain text.


= Create Elog entry =
The result of the first 3 can be used to paste the data elsewhere using the [[File:odb_clipboard.svg]] icon. If a key already exists with the given name, a new version is made with "copy" (or "copy 2" etc.) appended.
[[File:odb_page_elog.png|thumb|left|Figure 7: ODB Page Elog pop-up]]
An elog entry can be created easily from the ODB page by clicking the
{{Button|name=Create Elog from this page}}
button. A pop-up will appear for the user to fill in (Figure 7).


<br clear=all>
= Rename ODB keys =


= Limitations =
You can change the name of an ODB key in two ways:
The ODB Page editor supports a subset of the functionality of [[odbedit]]. For example, the ODB Page editor does not support re-ordering or renaming ODB keys. For full editing capabilities  [[odbedit]] must be used.  
* Click on a row and it will be highlighted in blue. Then click the [[File:edit-3.svg]] icon and you will be prompted for the new name.
* Right-click on a row and select "Rename key..."


[[Category:Web server mhttpd]]
[[Category:mhttpd Pages]]
[[Category:ODB]]
[[Category:ODB]]

Latest revision as of 17:01, 20 June 2023


Links


Purpose

The purpose of the mhttpd ODB page is to allow the user to browse, search and edit the ODB of an experiment. This gives a user-friendly graphical alternative to the ODB editor odbedit.


Access the ODB page

Click image to enlarge

Figure 1: ODB Page example

The ODB Page is accessed from the Status Page (or one of the other Pages) by clicking on the menu item ODB.

The top level ODB trees will be visible as key-links (i.e.links to a key) (Figure 1). The ODB Page is largely self-explanatory. However, a brief description of its functionality and limitations is given below.

Note
If "ODB" button is not present on the Status Page, it may have been hidden.


Browse the ODB

Click on a thumbnail to enlarge
Figure 2a: ODB Page Listing
Figure 2b: Expanded ODB Page Listing


By clicking on the key-links on the ODB page (Figure 1), the user can browse the various subtrees (Figure 2a). By clicking on the "→" link adjacent to the "Value" heading (Figure 2b), the type and size of the keys are shown. This is equivalent to the odbedit commands ls and ls -l.

Change the value of an ODB key

By clicking on a Key Value link (Figure 2), the user can change the value (unless password-protected or the key is write-protected - see Security). If web access is restricted, the user will be asked for a password the first time he/she attempts to edit a value.


Create an ODB key

The user can create a new ODB key in a tree or subtree using the ODB Page by

  1. entering the appropriate directory (see #Browse the ODB)
  2. clicking the File-plus.svg button (Figure 2).

This will result in a "Create ODB Entry box" pop-up (Figure 3).

Figure 3: Create an ODB Key (click a thumbnail to enlarge)


The Type of key to be created is selected from the Type drop-down list (Figure 3a). Any of the data types supported by midas can be created (floats, integers, strings etc), including subdirectories and symbolic links.


1. Create a single value or array

Figure 3a shows the creation of a key of type Integer (32-bit). The type "Integer (32-bit)" has been selected from the Type drop-down list (Table 1 above). The name of the key "Number of cycles" has been filled in using the Name box. This key is not an array so the Array Size box has the default (1). The key is created by pressing the Create button on Figure 3a. The value of the key will be set to 0 when created. This has been changed to 10 in Figure 3c by clicking on the Key Value link .

Figure 3b shows the creation of a String Array. The type "String" has been selected from the Type drop-down list (Table 1 above). The Array size and String size boxes are set with the desired parameters. After pressing the Create button on Figure 3b, the resulting array is shown in Figure 3c. The values of the array elements are set to "Empty" when created. The array values can be set by clicking on the Key Value links.


2. Create a subdirectory or symbolic link

Create a subdirectory key by clicking the Folder-plus.svg icon. Figure 4a shows the creation of a subdirectory Edit on start in the /Experiment directory. The subdirectory is created by pressing the OK button on Figure 4a.

A symbolic link (or link) is a key which is a short-cut to another key in the ODB. Create a link by pressing the Link.svg icon. Figure 4b shows the creation of an edit-on-start parameter which is a symbolic link called "My link". The target of the link can be chosen either by typing in the text box, or by pressing the ... button, which will present an ODB "picker", as shown in Figure 4c. The resulting link is shown in Figure 4d.

Figure 4 Creating subdirectory or symbolic link (click to enlarge thumbnails)


Delete an ODB key

Figure 5: ODB page Delete a key

The user can delete a key using the Trash-2.svg icon. There are two usages of the icon:

  • Click on the row of an ODB key and it will be highlighted in blue. Then click the Trash-2.svg icon. You will be prompted to confirm that you want to delete that key. You can select multiple keys by holding the Ctrl or Shift keys and clicking again (just like in your computer's file browser).
  • If you don't select any ODB keys before clicking the Trash-2.svg icon, you are saying you want to delete the entire subdirectory that you're currently in. You will be prompted to confirm that you want to delete everything in the current subdirectory.

You can also delete a key by right-clicking on a row and selecting "Delete key".


Search the ODB for a key

Click on the Search.svg icon to find any keys in the entire ODB that match a given term. A pop-up (Figure 6a) appears in which the user types the relevant information. The results appear as shown in Figure 6b. Note you are searching for the key names, not the values.


Reorder ODB keys in a subdirectory

You can enter "re-order" mode by clicking the Shuffle.svg icon. A Menu.svg icon will then appear next to each ODB key, as shown in Figure 7. You can click and drag this icon to change the position of the key in the subdirectory.

Click the Shuffle.svg icon again to exit "re-order" mode.

Figure 7: Re-order ODB keys


Copy and paste ODB values

You can copy and paste ODB information to/from your clipboard using the Odb copy.svg and Odb clipboard.svg icons.

For copying there are 4 options:

  • Just click the Odb copy.svg icon. This will copy the entire directory (and any subdirectories) as JSON.
  • Click on a row (or rows) and they will be highlighted in blue. Then click the Odb copy.svg icon. This will copy the names/values of the selected keys as JSON.
  • Right-click on a row and choose "Copy key". This will copy the name/value of the selected key as JSON.
  • Right-click on a row and choose "Copy plain text". This will copy the name/value of the selected key as plain text.

The result of the first 3 can be used to paste the data elsewhere using the Odb clipboard.svg icon. If a key already exists with the given name, a new version is made with "copy" (or "copy 2" etc.) appended.

Rename ODB keys

You can change the name of an ODB key in two ways:

  • Click on a row and it will be highlighted in blue. Then click the Edit-3.svg icon and you will be prompted for the new name.
  • Right-click on a row and select "Rename key..."