ELisA e-logbook

Responsible

Alina Corso-Radu (University of California Irvine, US) Contact: alina.radu@cernNOSPAMPLEASE.ch

(Former contributors: Luca Magnoni - CERN and Raul Murillo-Garcia - CERN)

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

Topic attachments
ISorted ascending Attachment History Action Size Date Who Comment
HTMLhtml elisa_client_api.html r1 manage 24.1 K 2020-07-24 - 15:44 AlinaCorso  
HTMLhtml modules.html r2 r1 manage 4.7 K 2020-07-24 - 15:39 AlinaCorso  
HTMLhtml protocol.html r7 r6 r5 r4 r3 manage 69.9 K 2020-07-24 - 14:14 AlinaCorso  
HTMLhtml pythonclientapi-index.html r2 r1 manage 5.4 K 2020-07-24 - 15:33 AlinaCorso  
HTMLhtml restapi-index.html r1 manage 6.7 K 2020-07-24 - 13:58 AlinaCorso  
HTMLhtml server.html r4 r3 r2 r1 manage 33.7 K 2020-07-24 - 14:06 AlinaCorso  
HTMLhtml utilities.html r2 r1 manage 34.5 K 2020-07-24 - 15:47 AlinaCorso  
Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2020-07-24 - AlinaCorso
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback