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.
There are three kinds of projects:
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.
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).
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
...
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.