User Tools

Site Tools


services:grading

This is an old revision of the document!


Grading

Faculty give access to TAs to grade assignments. In the past, all TAs were added to a group called “submit”, so they could access assignment submissions. This has various problems:

  • Faculty often want to leave the original data inside course submit directories untouched.
  • The labtest version of web submit writes files as group “labtest”. TAs are not allowed in group labtest. This means that tech needs to manually copy the submission data to another folder in the course hierarchy to make it accessible to TAs. These copies take many hours of tech time. In addition, this secondary copy of the submit data occupies additional backup and archive space.
  • By placing TAs in the submit group, this gives them access to the submit directory for ALL courses. Submit may be used for courses cross listed for grads. Grads may obtain access to submit data for courses they may be taking.
  • When TAs are sharing files in a submit folder, and one TA writes files as their own user ID, the files may be written as group “grad” and without write access to the other TAs.
  • Undergrads are TAing now. Being in group submit would give undergrads access to submit data for other courses that they may be taking now, and in the future!

In order to solve these problems, a new solution, “gsync” (grading sync) has been developed. Gsync includes:

  • An on-demand, limited access grading account and group created for each course
  • The Faculty member who owns the course directory has complete control over who can access the grading account
  • A simple, on-demand, and efficient method to sync ALL the data from the course directory to the grading directory
  • All the files and directories in the grading directory will be owned by the user who created the course directory, and will be the group of the grading account.
  • All the files in the grading area will be completely readable and writable by the course directory owner, and the grading account owner.

In order to use gsync, follow these easy steps:

Step 1: Enable Gsync for Your Course Directory

After creating your course directory in “/eecs/course”, enable gsync using the gsyncu command (GSync Utility) like this:

% gsyncu <course> create

NOTE: Only the owner of the course directory can use the gsyncu command.

For example, if your course is “9999”:

% gsyncu 9999 create

User bob added to gsync user list.
It will take 1 hour for your Gsync account to be active.
Gsync enabled.

Gsync is enabled for course 9999. The course directory owner (bob) is added to the gsync access list for the course.

Step 2: Add Course TAs to Gsync Access List

Add TAs to the Gsync access list for your course:

To add users: gsyncu <course> add user1 … userN

To remove users: gsyncu <course> remove user1 … userN

To list users in the access list for your course: gsyncu <course> list

(optional) Step 3: Add Directories to Sync

By default, gsync will sync the “submit” directory in your course directory to the grading area. If you wish to add additional directories to sync, use these commands:

To add directories: gsyncu <course> diradd dir1 … dir2

To remove directories: gsyncu <course> dirdel dir1 … dirN

To list directories that will be gsynced for your course: gsyncu <course> list

NOTE: <dir> is relative to the course directory. For example, to enable the directory /eecs/course/9999/quizes/quiz1 to be synced, use: gsyncu 9999 diradd quizes/quiz1

Step 4: Wait for Your Gsync Account to be Initialized

Gsync will create an account and group for your course. The account and group will be named ta<course>. For example, for course 9999, the account and group would be “ta9999”. If additional letters are added to your course directory name (eg. 9999Z), then those letters will also be added to the gsync account and group name.

After about an hour, gsync will have created your gsync account and group, and will have updated the gsync access list.

Step 5: Login to the Grading Server

Login to the grading server (grade1.eecs.yorku.ca) with your regular EECS account. For example:

indigo% ssh grade1

NOTE: The grading server is intended to be used for grading assignments. Any other use is forbidden.

Step 6: Access The Course Grading Account

In order to access the course grading account, use the “bu” (become user) command. For example, if your course directory is “9999”, then the account name is “ta9999” and can be accessed like this:

grade1% bu -d ta9999

Note that the grading account is only accessible from the grading server, grade1. It's only accessible with the “bu” command. Your access list determines who can access the account. No passwords are required.

Step 7: Sync the Course Data

After you've accessed the grading account, run the “gsync” command to sync the data from your course directory to the grading directory. gsync knows which course account you're logged into, so you don't need to tell it which course to sync:

grade1% gsync

Here's a sample run:

Syncing ...

Number of files: 11 (reg: 5, dir: 6)
Number of created files: 11 (reg: 5, dir: 6)
Number of deleted files: 0
Number of regular files transferred: 5
Total file size: 76,229 bytes
Total transferred file size: 76,229 bytes
Literal data: 76,229 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 76,809
Total bytes received: 154

sent 76,809 bytes  received 154 bytes  153,926.00 bytes/sec
total size is 76,229  speedup is 0.99

Cleaning clone tree ...

Fixing file ownership/group ...

Fixing file and directory permissions ...

gsync complete.

The first time you run gsync, it copies down the data from your course submit directory, and other directories that you've configured gsync to clone. Subsequent syncs will copy down changed files. If a file is deleted on the source, it will be deleted from the destination. If a file is updated on the source, it will be updated on the destination.

The synced data will be in /eecs/grading/<course>/clone.The /eecs/grading hierarchy works exactly like /eecs/course. /eecs/grading points at the grading hierarchy for the current session and term while /eecs/dept/grading points to the grading hierarchy for the current term.

Each grading account has these 3 directories created by default:

  • clone/ - a read only copy containing a clone of your submit directory and other directories that you've asked gsync to bring down. All the files will be readable by everyone who has access to your grading account, no matter what the permissions are in the course directory.
  • home/ - the home directory for the course gsync account
  • work/ - a default directory that is setup where you and your TAs can handle grading. This directory is owned by the course directory owner, and group taCOURSE. It is writable by owner, and group.

While TAs cannot create additional directories in the grading account, the course directory owner can. Additional directories can be created at their discretion.

When you or your TAs run the gsync command, it will always only update the “clone” directory. It will never touch the other files or directories in your grading account.

(optional) Step 8: Add a Password to Your Gsync

If necessary, you can add a password to your course grading account to enable access to the files from your desktop via Secure FTP (sftp) client. Adding a password to your grading account is entirely optional.

Setup a password for course “9999” grading account like this:

% gsyncu 9999 password

* WARNING *

Enabling a password on a Gsync account is possible, but discouraged. Please be vigilant about who has the Gsync password for your course.

Use a blank password to disable a previously enabled Gsync password.

Enter NEW password: Verify password:

A Gsync password has been set. It will be enabled within an hour.

In order to access the account via sftp, you must sftp to grade1.eecs.yorku.ca, and login as the course account (taXXXX) and the password provided. You will only be able to access taXXXX accounts from home using grade1.eecs.york.ca.

Final Notes

A few final notes on gsync:

  • The grading area is NOT BACKED UP. It is a duplicate of the data in the course directory. As a result, tech cannot restore deleted files from the grading area.
  • The grading area will be cleared once per term (on a date to be set). Once the data is cleared, it cannot be restored.
  • Remember that the grading account is only accessible on the grading server, grade1.
  • gsync only copies data from the course directory to the grading area. If you want to copy data from grading area back to your course directory, faculty must do this manually. For example, to copy the “feedback” directory from the grading directory for course EECS9999 in 2018-19 Fall back to the course directory:
    grade1% cp -pr /eecs/grading/2018-19/F/9999/work /eecs/course/9999
  • Ugrad TAs will need to have an alternate account setup with access to grade1 before they can access the grading account. Please consult with tech.
  • Any use of the grading server, grade1 for any other task than grading is strictly forbidden.
  • Group submit is now reserved for faculty use only.
  • If you have any questions about gsync, please inform tech.
services/grading.1559155813.txt.gz · Last modified: 2019/05/29 14:50 by jas