Electronic Logbook (ELOG): Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
Line 21: Line 21:
** Windows, Linux, Mac version can be found there. Simple installation procedures are also described. Its installation can be done at the system level or at the user level. The Elog can service multiple Electronic logbooks in parallel and therefore an extra entry in its configuration file can provide specific experimental elog in a similar fashion as the internal one.
** Windows, Linux, Mac version can be found there. Simple installation procedures are also described. Its installation can be done at the system level or at the user level. The Elog can service multiple Electronic logbooks in parallel and therefore an extra entry in its configuration file can provide specific experimental elog in a similar fashion as the internal one.


You need to take note of several consideration for its installation. Several locations are required for the different files that elog deals with.
You need to take note of several considerations for its installation. Several locations are required for the different files that elog deals with.
* elog resource directory ( e.g. /elog_installation_dir where elog is installed)
* elog resource directory ( e.g. /elog_installation_dir where elog is installed)
* logbook directory (ex: /myexpt/logbook where the pwd and elog entries are stored).
* logbook directory (ex: /myexpt/logbook where the pwd and elog entries are stored).

Revision as of 16:34, 15 February 2014

The Electronic LogBook (ELOG) is a utility built-in the web server. It is available and operational once the web-server is running. A dedicated button "ELOG" will be present on the main Midas status page for creating new entries. This mode is referred as the Build-in Elog.

This tool can replace the experimental logbook for daily entries. The main advantage of the Elog over a paper logbook is the possiblity to access it remotely, and provide a general knowledge of the experiment.

More recently, the independent Elog package can be linked to a Midas experiment. Its advantage over the built-in version is its flexibility. This package is used worldwide and improvements are constantly being made. A full-features documentation and standalone installation can be found at the Elog web site.

Built-in Elog

The ELOG page (accessed by clicking the Elog button if present on the main status page ) provides access to an electronic logbook. the Elog is not limited strictly to experiments. Worldwide Elog implementations can be found on the internet. This internal implementation doesn't requires any setup to be operational.

External Elog

The external implementation requires a proper Elog installation which is fully described on the Elog web site. The External Elog implementation also requires a dedicated entry in the ODB as shown in the code below. It also requires the package Elog to be already installed, and properly configured. Once the ODB entry is present, the internal ELOG is disabled.

The Elog is customized through the ODB /Elog tree.


Installation

Installation requires requires several steps described below.

  • Download the Elog package from the web site mentioned above.
    • Windows, Linux, Mac version can be found there. Simple installation procedures are also described. Its installation can be done at the system level or at the user level. The Elog can service multiple Electronic logbooks in parallel and therefore an extra entry in its configuration file can provide specific experimental elog in a similar fashion as the internal one.

You need to take note of several considerations for its installation. Several locations are required for the different files that elog deals with.

  • elog resource directory ( e.g. /elog_installation_dir where elog is installed)
  • logbook directory (ex: /myexpt/logbook where the pwd and elog entries are stored).
  • The pwd file uses encryption for the user password.
  • As this Elog installation is tailored towards an experiment, a restriction applies i.e. ensure that the mhttpd and elog applications shares at least the same file system.
    • This means that either both applications runs on the same machine or a nsf mount provides file sharing.
    • You need to know the node and ports for both applications. Like mhttpd, elogd also requires a port number for communication through the web (e.g. NodeA:mhttpd -p 8080, NodeB:elogd -p 8081).
  • copy the default midas/src/elogd.cfg from the MIDAS distrbution to your operating directory.
  • modify the elogd.cfg to reflect your configuration
 # This is a simple elogd configuration file to work with MIDAS
 # $Id: mhttpd.dox 4032 2007-11-02 17:13:52Z amaudruz $ 
 [global]
 ; port under which elogd should run
 port = 8081                             
 ; password file, created under 'logbook dir'
 password file = elog.pwd                
 ; directory under which elog was installed (themes etc.)
 resource dir = /elog_installation_dir     
 ; directory where the password file will end up
 logbook dir = /myexpt/logbook     
 ; anyone can create it's own account
 self register = 1                       
 ; URL under which elogd is accessible
 url = http://ladd00.triumf.ca:8081      
 ; the "main" tab will bring you back to mhttpd
 main tab = Xenon                        
 ; this is the URL of mhttpd which must run on a different port
 main tab url = http://NodeA:8080
 ; only needed for email notifications
 smtp host = your.smtp.host              
 ; Define one logbook for online use. Severl logbooks can be defined here
 [MyOnline]
 ; directory where the logfiles will be written to
 Data dir = /myexpt/logbook            
 Comment = My MIDAS Experiment Electronic Logbook
 ; mimic old mhttpd behaviour
 Attributes = Run number, Author, Type, System, Subject     
 Options Type = Routine, Shift Summary, Minor Error, Severe Error, Fix, Question, Info, Modification, Alarm, Test, Other, 
 Options System = General, DAQ, Detector, Electronics, Target, Beamline
 Extendable Options = Type, System
 ; This substitution will enter the current run number
 Preset Run number = $shell(odbedit -e myexpt -h NodeA -d Runinfo -c 'ls -v \"run number\"')    
 Preset Author = $long_name
 Required Attributes = Type, Subject
 ; Run number and Author cannot be changed
 Locked Attributes = Run number, Author  
 Page Title = ELOG - $subject
 Reverse sort = 1
 Quick filter = Date, Type, Author
 ; Don't send any emails
 Suppress email to users = 1             
  • start the elog daemon. -x is for the shell substitution of the command Preset Run number = $shell(...)
  • The argument invokes the odbedit remotely if needed to retrieve the current run number. You will have to ensure the proper path to the odbedit and the proper -e, -h arguments for the experiment and host.

You may want to verify this command from the console.

 NodeB:~>/installation_elog_dir/elogd -c elogd.cfg -x<cr> starts the mhttpd at its correct port and possibly in the daemon form.
 NodeA:~>mhttpd -p 8080 -D 

At this point the Elog from the MIDAS web page is accessing the internal Elog. To activate the external Elog, include in the ODB two entries such as:

  NodeX:> odbedit -e myexpt -h NodeA
  [NodeX:myexpt:Running]/>cd elog
  [NodeX:myexpt:Running]/Elog>create string Url
  String length [32]: 64
  [NodeX:myexpt:Running]/Elog>set Url http://NodeB:8081/MyOnline
  [NodeX:myexpt:Running]
  [NodeX:myexpt:Running]/Elog>create string "Logbook Dir"
  String length [32]: 64
  [NodeX:myexpt:Running]/Elog>set "Logbook Dir" /myexpt/logbook
  [NodeX:myexpt:Running]/Elog>ls
Logbook Dir                     /home/myexpt/ElogBook
Url                             http://NodeB:8081/MyOnline

Confirm proper operation of the external Elog by creating an entry. You will be prompted for a username and password. Click on New registration. Full control of these features are described in the Elog documentation. Stop and restart the Elogd in the background.

  NodeB:~>/installation_elog_dir/elogd -c elogd.cfg -x -D

In the event you had a previous entry under the internal elog, you can convert the internal to external using the elconv tool.

  NodeB:~> cp internal/elog_logbook/*.log /myexpt/logbook/.
  NodeB:~> cd /myexpt/logbook
  NodeB:~> /installation_elog_dir/elconv