GRACE Directory Structure

Location of GRACE file space

The GRACE file space associated with your course/project is on the University's Glue AFS cell, and can be accessed by a variety of means from computer systems on or off campus.

The full path to the space for a GRACE Course is given by:
/afs/glue.umd.edu/class/SEMESTER_YEAR/DEPT/COURSE_NUMBER/SECTION_NUMBER
where

SEMESTER_YEAR
is the semester and year for the course, e.g. spring2013, summer22013, and fall2013 for the spring, second summer, and fall semesters of 2013.
DEPT
is the 4 (lower case) letter department code for the course , e.g. cmsc or artt.
COURSE_NUMBER
is the course number, typically 3 digits, sometimes followed by a (lowercase) letter.
SECTION_NUMBER
is the section number for the course. Usually a 4 digit number, often starting with a 0, and sometimes with some letters.

If the course has aliases, there is only one space for all the sections aliased to the course. The other sections/course names will have symbolic links to the primary section, which means that you will see spaces for all the aliases, but they all point to the same space on the disk. You can use any of the alias names equivalently to get to the files. (NOTE: Our WebDAV software currently does not support symbolic links, and so if you are accessing files with WebDAV you can only access the primary name).

From any Terpconnect/GLUE system, the following short cuts will also get to your GRACE course space:

  • /cell_root/class/SEMESTER_YEAR/DEPT/COURSE_NUMBER/SECTION_NUMBER
  • /:/class/SEMESTER_YEAR/DEPT/COURSE_NUMBER/SECTION_NUMBER

The full path to the space for a GRACE Project is given by:
/afs/glue.umd.edu/group/PROJECT_NAME
where PROJECT_NAME is the name of the project (all lowercase). From a Terpconnect/GLUE system, the following shortcuts are available:

  • /cell_root/group/PROJECT_NAME
  • /:/group/PROJECT_NAME

Directory Structure

Directory Tree Structure

Both GRACE courses and projects have a standard directory structure which is nearly identical. The structure is designed to provide for flexibility and ease; various roles have varying access to different locations, and probably there is already a location which meets your needs. You are free to create additional directories inside the directories described (including the root level directory). You, or course, need to have write permission to the container directory to create a new directory inside of it. By default, your new directories will inherit the same permissions as the directory they were created in; you can use the AFS fs command or the web based file manager to change the access rights if you desire. It can sometimes be tricky to get the permissions correct, so feel free to contact us if you need assistance. It is recommended, however, that you do NOT try to change the access rights on the directories listed above --- the GRACE system might notice that they are not set as it believes they should be and "correct" the access rights.

Directory (relative
to the project/
class root)
Purpose Access rights
Root for the course/project Container for everything related to the course/project Everyone: list access
Instructors: RW access
instructor Private area for instructors TAs: optional RO access
Instructors: RW access
instructor/NAME Private area for instructor NAME Instructor NAME: RW access
Other instructors: RO access
ta Private area for TAs Instructors: RW access
TAs: RW access
ta/NAME Private area for TA NAME TA NAME: RW access
Other TAs: RO access
Instructors: RW access
student
student-SECTION
Container for student work directories
All students, or only those in section SECTION, resp.
Everyone: list access
Instructors: RW access
student/NAME
student-SECTION/NAME
Private work area for student NAME Student NAME: RW access
Instructors: RW access
TAs: optional RO access
submit
submit-SECTION
Container for student submission dirs
All students, or only those in section SECTION, resp.
Everyone: list access
Instructors: RW access
submit/NAME
submit-SECTION/NAME
Submission area for student NAME Student NAME: Insert access
Instructors: RW access
TAs: RW access
public For course web content, or
files to give to students
Students: RO access
TAs: RW access
Instructors: RW access
Web server can read as well
share A place for everyone in course to share files Everyone: RW access

In the table above, Everyone means everyone associated with the course/project. If someone is not a member of the GRACE course/project, they have no access to anything in the GRACE space for that course/project. Items in public are accessible via the web, but even the web pages are restricted to members of the GRACE course/project.

The access rights above are explained below:
List access
This is the lowest level of access. You can see the names of files and directories, but cannot even read them.
Insert access
Students can insert files into their submit directories (typically using the submit command), but that is all. They cannot read the content of files after they are submitted, nor can they change them. (If they need to ammend something, they need to submit a second file with a different name. Both files will be in the directory, and it is up to the faculty members and/or TAs whether to accept the corrections, etc.).
RO access
Users can read files in the directory. They cannot write files, create new files or subdirectories, or change existing files.
RW access
Users can both read and write files in the directory. They can create new files or subdirectories, edit or delete existing files, etc.

If a role or user is included twice in the access list (e.g. it is included in an "Everyone" field), the highest access level listed applies. Instructors have full RW access to everything under the course, except for the private directories of other instructors (and even that is only a small hurdle to prevent accidental deletion of files, etc. They can change the access rights to get RW access temporarily even there.)

Some access rights are described as optional. The web-based management tool allows instructors to modify the standard access rights in certain preset ways to make the system even more flexible. The places where the rights are listed as optional indicate where such changes can be made.

For GRACE courses, there exist both section specific and section non-specific student and submit directories. There exists a student-SECTION directory for each alias a course has, as well as for the primary designation. Students have a private work directory underneath the appropriate directory depending under which course they are registered (in the special case of students added by the instructor through the web-based management tool, they are considered enrolled under the primary course designation). The non-specific student directory then has symbolic links to all of the student directories in each of the section specific subdirectories. So each student has just the one directory, but it looks to be in two places. This enables the instructors and TAs to look at the student directories for the combined course as a whole, or for each individual section, at their preference. The submit* directories are similar.

If a student changes section, their personal workspace and submit directories will be moved to the new section specific directory. If they drop the course, however, their directories do NOT get deleted automatically (at least, not before the entire GRACE space gets deleted); this is a safety measure to ensure the students work does not get deleted if there is a glitch or a delay between dropping one section and being added to another.

Projects do not have aliases, and so only have the single student and submit directories. Like courses, if a student is dropped from a project, their personal directories do NOT get automatically deleted as a safey precaution.

Not shown in the diagram or in the table is a directory called backup. This is a special directory, and no one has write access to it. It contains the directory tree for the GRACE space at the time of the last backup (which is done around midnight every night). If you accidentally delete a file that you created yesterday, you can recover it from the backup directory. Note that any changes you made to the file since the backup will be lost. The access rights are the same as for the current version of the tree, so if you cannot read a file in the current version due to access rights, you won't be able to get it from the backup copy either. But it is a fast way for you to recover from mistakes without needing to contact the Help Desk to get a file back from the tape backup. But there is only one copy of the backup directory, so you must get your file before the next backup is made (or else you will have to contact the Help Desk to have it recovered from tape).