.. highlight:: bash Allegro ALMA Projects ===================== The idea of a project is to have a workspace for one or more users where they can collect all necessary information to work on one or more ALMA datasets. Categories ---------- There are three kinds of projects: * **PI Project**: In this kind of project, Allegro supports the PI from the creation of the scheduling blocks up to the point where the data is delivered. The project ID must be the ALMA ID. * **QA2 Project**: These projects are for the Quality Assurance work that we do at Allegro. QA2 projects are generally not accessible for anybody outside the ALMA project. The project ID must be the ALMA ID. * **Open Project**: This category is dedicated to non-PI users that visit Allegro to work on ALMA data. That can be either archival data, or also propietary data that the user brings along. The project ID can be chosen arbitrarily. ID -- Each project has a unique ID, the so-called *allegro ID*. This is a combination of the project category and the project ID, which are combined ``allegroID = category + '_' + projectID``. Categories are ``pi``, ``qa2``, and ``open`` for the three types of categories. By introducing this allegro ID it is ensured that we can be the hosts for a PI project, but we can also perform QA2 for it. By separating these into the two distinct projects ``pi_projectID`` and ``qa2_projectID`` we ensure that the PI does not have data access prior to data delivery, since the PI is only part of the project ``pi_projectID``. Directory Structure ------------------- The parent directory for projects is ``$ALLEGRO/data/projects``, which contains one directory for each project. :: $ ls -lah $ALLEGRO/data/projects total 156K drwxr-s--x 34 alma allegro 4.0K Aug 14 14:43 . drwxr-sr-x 4 alma allegro 4.0K Apr 3 10:13 .. drwxr-sr-x 6 alma allegro 4.0K Apr 19 2013 2akYqwGk drwxr-sr-x 5 alma allegro 4.0K Jul 1 13:49 2InshmtE drwxr-sr-x 4 alma allegro 4.0K Oct 14 2013 2QgAVWbH drwxr-sr-x 4 alma allegro 4.0K Apr 8 10:14 57Q3Ruo9 drwxr-sr-x 5 alma allegro 4.0K Apr 9 09:11 9FVBnRgp ... The cryptic directory names are only at first glance confusing. They are rather part of the security-by-obscurity scheme. As can be seen from the console output of ``ls -lah``, the parent directory is not readable for users that are not part of the group ``allegro``. Therefore, these users cannot read the content of the project directory. Therefore, initially a user is unable to find the way into the project directory (unless he/she guesses the 8-digit alphanumeric code or finds it out through another way). Every project contains at least two subdirectories: * **archive**: This is where the ALMA data is stored. This directory is only writeable for the user ``alma``. .. warning:: Data in this directory should never be changed after download. Data from the archive subdirectory should always be copied into personal directories as necessary for manipulation. * **analysis** This directory contains sub-directories for every user that is part of the project. Depending on the project type, more subdirectories can exist (**sb** and **proposal** for PI projects, and **doc** for QA2 projects). Access ------ Each project is only accessible for users that are linked to the project, which is secured through a simple security-by-obscurity layer. Linking a user to a project means that we guide the user through the obscurity layer. This is achieved by setting a symbolic link to the project directory (with its 8-digit alphanumeric code) in an area that can *only* be accessed by the user. For this we use the *home* directory in ``$ALLEGRO/home``. If we grant a user (e.g., ``allegro5``) access to a project, a directory will be created with special `Access Control List (ACL) `_ permission. :: $ ls -lah $ALLEGRO/home ... drwxrws---+ 2 alma allegro 4096 Aug 19 10:26 allegro5 ... This directory can only be accessed by allegro members and the user ``allegro5``. In this directory, the user will find a softlink with the allegro ID that leads them directly into the desired project :: $ ls -lah $ALLEGRO/home/allegro5 ... lrwxrwxrwx 1 alma allegro 38 Jul 1 13:50 pi_2013.1.12345.S -> /lustre/allegro/data/projects/2InshmtE ... .. _`lab-pm-wizard`: Project Manager Wizard ---------------------- .. _`fig-pm-wizard`: .. figure:: images/pm_wizard.png :scale: 60% :figwidth: 500 :alt: Project Manager Wizard :align: right The Project Manager Wizard is a graphical tool to manage the ALMA projects in Allegro. The simplest way to manage the projects is the project wizard, which operates on top of the ``projectManager`` module. It can be started with :: $ pm_wizard It is a graphical tool that gives you an overview of the active projects, and it also allows you to create, modify, or remove projects. The wizard is described in more detail in the `allegroUtils `_ guide. .. warning:: As allegro user you can watch things in the project wizard, but changes can only be performed by the "super-user" ``alma``.