ELisA e-logbook (Electronic Logbook for the information storage of Atlas)
Responsible
Alina Corso-Radu (University of California Irvine, US)
Contact:
alina.radu@cernNOSPAMPLEASE.ch
(Former contributors: Luca Magnoni - CERN and Raul Murillo-Garcia - CERN)
Release version
Check
here for the latest release version notes.
User Documentation
Check user documentation
here.
General description
Information concerning the experiment operation, configuration, and behavior has to be reported and shared with the whole community. To provide such functionality, a logbook facility tool, known as ELisA, has been developed to offer a user-friendly web interface to browse and insert activity logs. ELisA provides easy access to this information for other people through a Web interface, to browse entries, search, download files, and optionally add, update or reply on entries.
Besides the web interface, ELisA has been extended with a programmatic interface to the logbook functionality to be used by tools and services of the data acquisition infrastructure framework.
Clients of such API are a variety of software tools and services, such as the DAQ IGUI, detector calibration tools, but also user-developed web pages and scripts.
Initially developed for the ATLAS experiment operations followup, the tool started to be deployed for use by other projects external to the ATLAS experiment.
Design and technology choices
ELisA is a modern web application that implements the Model-View-Controller (MVC) pattern and is based on Spring Boot and Spring Web MVC framework. The Spring MVC pattern introduces a well-defined structure in the ELisA architecture. The result is a flexible and loosely coupled web application achieved by separating the business logic, presentation logic, and navigation logic.
To improve the tool responsiveness, ELisA privileges the client-side processing for message visualization and uses the Ajax technique to asynchronously retrieve data on client request.
ELisA is running on an embedded Tomcat server.
Database technology
ELisA is storing its configuration and the logbook messages into a database. Two database technologies are supported: ORACLE and MySQL. For the ATLAS operations, ELisA is using ORACLE databases. MySQL can be a local server or a service provided by CERN IT DBonDemand.
ELisA WEB interface
The ELisA web front-end is designed to provide an effective and responsive user interface to browse and edit logbook messages. Based on JSP technology, the front-end makes heavy use of JavaScript and a jQuery plug-in called DataTables for client-side processing, data formatting, and visualization.
Users are provided with functionalities to view and browse messages, insert new entries, and reply or update existing ones. Users can configure the layout of the page by changing the page length size, the visibility of the columns in the entries table, or the columns sorting criteria. Cookies are used in order to store page state after each change in the layout. Users can perform fast searches on the data available on the client-side using on-the-fly filter functionality to select the data on one or more columns or searching across all columns using a dedicated user input field. An advanced search panel is provided to fill in a custom query form: searches based on the multiple properties of the message or time interval are possible. If several criteria are provided only entries that meet all criteria will be selected.
For further details on the usage of the web interface, please refer to the
Online Help
- for the moment restricted to ATLAS members.
ELisA REST API
To provide the programmatic access to the logbook information, the chosen approach was to extend ELisA tool with a RESTful API that offers an HTTP-based interface to access, modify, and create activity logs.
The RESTful server accepts HTTP requests to perform operations on a certain resource, such as a log message. Each request provides a response to a representation of the resource state, structured in a well-defined data format such as XML or JSON. The clients are using standard HTTP verbs (GET, PUT, POST, and DELETE) to indicate the desired operation. For example, a GET request on a message URL returns an XML representation of the message, while a POST request on the same URL, but with an XML payload creates a new message.
For further details on the RESTul API specifications and usage, please refer to the
full documentation:
https://atlasdaq.cern.ch/elisaAPIdoc/elisa-rest-api/
(link restricted to ATLAS members) or use the attached file
https://twiki.cern.ch/twiki/pub/Sandbox/ELisA/restapi-index.html
ELisA Client API libraries
The RESTful API provides an HTTP-based interface to access, modify, and create activity logs. To help the user, the ELisA facility includes as well a set of client libraries for Python, Java, and C++.
These client libraries provide a similar API, thus the HTTP-based API and the access to the logbook database are transparently hidden, which makes typical ELisA operation such as insertion, reply, update and retrieve, user-friendly. In addition, a set of command-line utilities has also been developed on top of the Python libraries.
Python client libraries
Please refer to the full documentation:
https://atlasdaq.cern.ch/elisaAPIdoc/elisa-cli-api/
(link restricted to ATLAS members) or use the attached file
https://twiki.cern.ch/twiki/pub/Sandbox/ELisA/pythonclientapi-index.html
JAVA client libraries
Please refer to the javadoc documentation
here
- link restricted to ATLAS members. Get in contact with the developer if you do not have access.
C++ client libraries
Please refer to the doxygen documentation
here
- link restricted to ATLAS members. Get in contact with the developer if you do not have access.
Using ELisA for other projects/experiments
Several client requests have been made to use ELisA for other projects different from ATLAS operations. The logbook project has been improved recently to better handle its configuration, installation, and usage outside of the ATLAS and even CERN environments.
If you are interested using ELisA, please get in contact (
alina.radu@cernNOSPAMPLEASE.ch)
Installation instructions
here.
Contributions to Conferences
For further details on implementation, please refer to the following papers: first one describes the web interface, the second one is focusing on the REST server and the third contribution explains the latest developments.
- The ELisA Facility – RESTful API and Client Libraries - A Corso Radu, L Magnoni and R Murillo Garcia, 2013 CDS record
--
AlinaCorso - 2020-07-23