ELabs Development Systems
|| Server for e-Labs site www.i2u2.org
|| Development prior to deployment on i2u2-prod
|| Database server for user data to i2u2-prod / dev
|| Database server for physics data to i2u2-prod / dev
|| Server for quarknet.org
|| Server for wiki.i2u2.org and bugzilla.i2u2.org
|| Temporary server to help fix a problem with LIGO in 2016. Now deleted.
|| Server for Jupyter Notebooks on jupyter.quarknet.org. Now deleted.
More info on the VMs is on the Server Administration Guide
|| Ubuntu 16.04 LTS
|| Ubuntu 14.04 LTS
|| Ubuntu 14.04.5 LTS
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.
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 www.i2u2.org (i2u2-prod
) is stored in userdb2006_1022
. The corresponding database for i2u2-dev
Website data (posters, reports, etc.) for www.i2u2.org (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
The difference in databases means that the behaviors of i2u2-prod
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 www.i2u2.org 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
This is documented elsewhere, but it's important so the repetition can't hurt.
How Code Gets Deployed
Website - On the website machines (i2u2-prod
), the site files are located in
(which is just a symlink to
). The VM's local copy of the repository (files which are NOT served) is stored in the subdirectory
. This means that
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 C
nstrument for M
nalysis, 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
Testing the e-Lab Pre-Tests
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 email@example.com
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 firstname.lastname@example.org
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
-- Main.jgriffith - 2016-02-10