Table of Contents

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:

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

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.
Gsync is enabled.
Gsync account updates occur once per hour, but only for courses in the current term.

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

NOTE: The instructions above assume your course is in the current term. While you can initialize gsync for a course in a different term by specifying a full path to the course directory (eg. /eecs/dept/course/2018-19/F/9999 instead of just “9999” above), you will only be able to use gsync when your course is being taught in the current term.

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

NOTE: The instructions above assume your course is in the current term. While you can add TAs to the gsync access list for your course in a different term by specifying a full path to the course directory (eg. /eecs/dept/course/2018-19/F/9999 instead of just “9999” above), those TAs will only be able to use gsync when your course is being taught in the current term.

(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 (if one has not been created already). The account will be named ta<course>, while the group will be ta<course>g. For example, for course 9999, the account “ta9999” and group “ta9999g” would be created. If additional letters are added to your course directory name (eg. 9999Z), those letters will also be added to the gsync account and group created. Note however that any capital letters will be converted to lowercase.

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

NOTE: If your course is not being taught in the current term (eg. your course is taught in 2019-20 fall, and it is presently 2018-19 summer), then your gsync account updates will only occur when your course is being taught in the present term.

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

Notes:

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 grading 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 on the grade1 server, it copies down the data from your course submit directory, and any other directories that you've configured gsync to clone. The synced data will be in /eecs/grading/<course>/clone. This directory is READ ONLY.

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.

Subsequent times that you run gsync, it will will copy down changes. 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.

Each grading account has 3 directories created:

Neither you nor the TAs can create additional top-level directories in your grading directory. You have complete control over the “work” directory.

To begin grading, you or your TAs may want to copy the contents of the read only “clone” directory to the “work” directory. You would do that like this:

grade1% cp -r /eecs/grading/9999/clone/* /eecs/grading/9999/work

When you or your TAs run the gsync command, gsync will only update the “clone” directory. It will never touch files in the “work” directory to ensure that it doesn't overwrite your work! Please be very careful about copying “clone” to “work” after you've started grading. You need to be sure you don't overwrite your own files in “work”.

(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: