MMODA is the frontend of the CDCI Online Data Analysis system.
MMODA stands for Multi-Messenger Online Data Analysis.
MMODA is developed as a set of Drupal modules (Drupal version 7). Drupal is a Content Management System (CMS).
MMODA pre-requisites are :
- a set of Drupal modules,
- a set of external libraries, and
- a theme : the look and feel of a Drupal web site.
- CKEditor : CKEditor is an online rich text editor (WYSIWYG) that can be embedded inside web pages.
- Insert : this module makes
possible the inserting of images and links into the body field and other
WYSIWYG editors or text areas.
- TOC Node : provides a
Table Of Contents for a node page, which includes all the headings of
the page content.
the above three modules allow the edition of the help pages
- Node export : allows the export of nodes and their import into another Drupal installation, or on the same instance.
- Universally Unique IDentifier
(required by node export) :https://www.drupal.org/project/uuid :
provides an API for adding universally unique identifiers (UUID) to
Drupal objects, most notably entities.
- Features (required by node
export) : enables the capture and management of features in Drupal. A
feature is a collection of Drupal entities which taken together satisfy
a certain use-case.
the above three modules make the help pages installable(uninstallable)
at install(uninstall) time
- Libraries API (required
by mmoda): provides integration of external libraries (usually 3rd
party libraries)
The list of 3rd party libraries used by mmoda is listed below
- jQuery Update : upgrades the version of jQuery in Drupal core to a newer version of jQuery, a JavaScript library.
- Administration menu :
provides a theme-independent administration interface (“navigation”,
“back-end”). It’s a helper for novice users coming from other CMS, a
time-saver for site administrators, and useful for developers and site
builders.
- Module Filter
(optional module, for comfort only) : allows the filtering of the list
of modules to be displayed in the administration module page.
All those modules including MMODA ones are sitting in the additional Drupal modules directory:
sites/all/modules
Many free themes are
provided by Drupal community.
The Drupal theme Bootstrap
has been selected for MMODA as it provides an excellent look and feel
and the Bootstrap toolkit provides a full
set of functionalities needed for MMODA.
Following good practice recommendations, instead of changing the
Bootstrap theme for MMODA needs, a sub-theme derived from it has been
created: “Bootstrap MMODA”.
Both themes are of course sitting in the additional Drupal themes
folder:
sites/all/themes
Drupal community theme:
sites/all/themes/bootstrap
MMODA dedicated theme:
sites/all/themes/bootstrap_mmoda
- CKEditor : CKEditor is an online rich text editor (WYSIWYG) that can be embedded inside web pages.
- Bootstrap form validator : A jQuery plugin to validate form fields dedicated for Bootstrap toolkit.
- DataTables : a jQuery plugin adding
advanced features to any HTML table.
- Bokeh : a JavaScript
interactive visualization library used to display, images, spectra and
light curves
MMODA is composed of a set of modules : a core module and one module
per instrument.
Adding a new instrument in MMODA would consist on adding a new
module. Any instrument can be enabled/disabled by enabling/disabling the
corresponding module.
Each instrument has a weight which is used to sort instrument
tabulations.
Current list of modules:
- mmoda : a core module providing all necessary functionalities to query data products (images, spectra and light curves) and display them within interactive tools.
- mmoda_isgri : INTEGRAL ISGRI module
- mmoda_jemx : INTEGRAL JEM-X module
- mmoda_polar : Polar module
- mmoda_spi_acs : INTEGRAL SPI ACS module
- mmoda_multiproduct (under development)
While it is possible to install the module MMODA and its sub-modules as any other Drupal modules given the required modules and the theme Bootstrap listed above, an already Drupal instance is available in the Astro GitLab. Four components are available in GitLab:
- drupal7-for-mmoda : a Drupal instance including the required modules and the theme Bootstrap
- drupal7-db-for-mmoda : a dump of the MySQL database of the cited Drupal instance drupal7-for-mmoda
- bootstrap_mmoda : the Bootstrap sub-theme dedicated for MMODA
- mmoda : the module mmoda and its submodules, one per instrument, mmoda_isgri, mmoda_jemx, mmoda_polar, mmoda_spi_acs and mmoda_multiproduct
-
Copy the content of the folder drupal7-for-mmoda in the web server document root.
-
Create a MySQL database called ‘mmoda’ and a database user ‘mmoda’ with the password defined in the file: sites/default/settings.php
-
Grant all the database priviledges to the user ‘mmoda’
-
Copy the folder bootstrap_mmoda in : sites/all/themes
with the provided database, this theme is already set as the default theme.
-
Copy the folder mmoda in : sites/all/modules
-
Enable the core module : drush en mmoda
-
Before installing the instrument modules, set the Drupal variable mmoda_base_url to the base URL (or the web site prefixe) if the Drupal instance is not the document root of the web server. In other words, if Drupal is not installed in ‘/’ but in ‘/blabla’, the Drupal variable mmoda_base_url must be set as follows: drush vset mmoda_base_url '/blabla'
This is very important for the instrument help pages. The images appearing in the instrument help pages are stored in : sites/default/files
But if the Drupal instance is under ‘/blabla’, the image URLs in the instrument help pages should point to: blabla/sites/default/files
Given this variable, those URLs will be properly set.
-
Enable the desired instrument modules, example : drush en mmoda_isgri mmoda_jemx