You are here: Foswiki>ELabs Web>HowToGuide (2019-05-22, AdminUser)Edit Attach

ELabs Development Systems

The VMs

{name} purpose
  i2u2-prod Server for e-Labs site
  i2u2-dev Development prior to deployment on i2u2-prod
  i2u2-db Database server for user data to i2u2-prod / dev
  i2u2-data Database server for physics data to i2u2-prod / dev
  i2u2-quarknet Server for
  i2u2-wiki Server for and
  i2u2-ligo Temporary server to help fix a problem with LIGO in 2016. Now deleted.
  i2u2-jupyter Server for Jupyter Notebooks on Now deleted.

More info on the VMs is on the Server Administration Guide.

VM Software

  i2u2-prod/dev i2u2-db i2u2-data
OS Ubuntu 16.04 LTS Ubuntu 14.04 LTS Ubuntu 14.04.5 LTS
Apache 2.4.7 - -
Tomcat 7.0.52 - -
Java 1.7.0_111 - 1.7.0_111
Postgres - 9.3.14 -
MySQL 5.5.54 5.5.54 -
Ant 1.9.3 - -
SVN 1.8.8 - 1.8.8

The following pages are guides for using these programs on a day-to-day basis. For information on installing them on various OS's or on using them in a local development environment, see the relevant sections below.

E-Labs data

Physics data on i2u2-data

Each of the e-Labs has a different data architecture.

  • Cosmic Ray data
  • CMS data
  • LIGO data
  • Neutrino data

Website data on i2u2-db

Data on i2u2-db is stored in Postgres databases. User data for the site (i2u2-prod) is stored in userdb2006_1022. The corresponding database for i2u2-dev is userdb_cosmic2_testing.

Website data (posters, reports, etc.) for (i2u2-prod) is stored in vds2006_1022. "VDS" is a reference to Virtual Data Systems, a system that some of the original e-Lab authors created and that I still don't understand. The corresponding database for i2u2-dev is vds_cosmic2_testing.

The difference in databases means that the behaviors of i2u2-prod and i2u2-dev differ in several important ways. This is important to remember when fixing errors, since errors will recreate differently on the two VMs. For example,

  • Reports on Uploads, Plots, and Posters (an administrator function - here's LIGO's, for example) will differ. Since fewer uploads, plots, and posters occur on i2u2-dev, you may have to widen the calendar interval on i2u2-dev in order to capture valid data. Otherwise, the "Retrieve Report" button will just do nothing.
  • Searching for data will differ. For example, when searching Cosmic data: on the i2u2-prod search page, a search under "School" with a blank search box will return a list of schools starting with Armstrong High School in Plymouth, MN. On the corresponding i2u2-dev search page, the same search returns a mere two hits, both at Fermilab.
  • CMS plots will differ. For example, On the i2u2-dev CMS Plots page, many of the plots have "Thumbnail not found" errors. Following the links gives a couple of different errors - sometimes it leads to a broken image, sometimes it brings up an error page. This does not happen on i2u2-prod.


You will need You will probably also want
  • An account on this wiki - if the registration page is inactive, ask Joel
  • A Bugzilla account - also ask Joel

Local Development Environment

Local Setup Guide - This guide will help you set up your local development machine to run a working copy of the website.

In more detail, the components of your local environment are:
  • Apache - The primary web server on i2u2-prod / dev and i2u2-wiki
  • Tomcat - An Apache product that specializes in serving JSP pages, which are the primary component of the e-Labs webapps. Tomcat is needed in addition to Apache on i2u2-prod and i2u2-dev.
  • MySQL - Needed for database service
  • PostgreSQL - Needed for database service
  • Subversion - Apache software for version-control of source code (similar in spirit to Git). Our source code is stored in an SVN repository at Fermilab, so you'll need SVN for direct access to the code.
  • Ant - Another Apache product. We use Ant to build the website from the files that are pulled from the repository.
  • Java - The e-Labs are constructed as JavaServer Pages (JSP), so naturally you'll need Java installed.
  • PHP - We're phasing out PHP (as of Q4 2016, at least), but it's still used in the e-Lab Help Desk Request form and in CIMA.

The Code Base

Moving to Git - Notes on moving the e-Labs code base from SVN to Git in Q4 2017

Code Deployment

This is documented elsewhere, but it's important so the repetition can't hurt.

How Code Gets Deployed

File Directories



Website - On the website machines (i2u2-prod and i2u2-dev), the site files are located in /home/quarkcat/sw/tomcat/ (which is just a symlink to /var/lib/tomcat7/). The VM's local copy of the repository (files which are NOT served) is stored in the subdirectory /home/quarkcat/sw/i2u2svn/. This means that find and grep will typically return two copies of a given file/string, one in the repo and one in service, so be aware of the difference.

CIMA and iSpy

CIMA is the CMS Instrument for Masterclass Analysis, a special piece of software used in CMS Masterclasses in tandem with the iSpy Event Display. Both are served alongside the e-Labs website on i2u2-prod and i2u2-dev.

CIMA Guide

iSpy Guide


Testing the e-Lab Pre-Tests

Mailing Lists

Our mailings lists are hosted from Fermilab and managed by LaMargo and Marge (if you need to be added to or removed from one, or if you want to know who's on one). - This list is for users (typically teachers) requesting e-Lab accounts. It comprises the handful of developers who are responsible for that. - This list is for e-Lab users to request help with the e-Labs, typically through the Help Desk form. It comprises most of the developers and several active QuarkNet teachers. It replaced the old list used when we were hosted from Argonne. - This list is for internal communication among the developers. - This list is for internal communication among everyone responsible for the QuarkNet and e-Lab IT infrastructure. It comprises all of the developers plus third-party collaborators, such as CRC engineers. It replaced the old used when we were hosted from Argonne. - This list includes the users (all users, by intention, but it's hard to be sure) of the cosmic ray e-Labs



Current problems

Current Problems

-- Main.jgriffith - 2016-02-10
Topic revision: r45 - 2019-05-22, AdminUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback