A Secure, Web-Based Grade Posting System for |
Designed and Implemented by Hamzeh Roumani
ePostdirectory or, for multi-instructor courses, if a file named
<username>.allowappears in that directory.
YYYY-YY is the year (e.g. 2016-17),
the term (F|W|S), and
C is the course number as it appears
in the file system under
the course number may include a section but does not include the EECS/COSC
rubric. Note that the secure protocol,
https, must be used
to ensure the payload is encrypted.
The mark files must be created in a subdirectory
C, and the directory and the files must allow the
faculty group (and not others)
to access them, i.e. something like this:
chmod g+rx ePost
touch .ppy (needed only if you use Passport-York auth)
(Create the mark files)
chmod g+r *
Note that all the mark files (and .ppy if present) must be group "faculty"
and must have read permission for that group.
Pin your course, create a mark file named
Assignment1.ePost, etc. Any name other than
datacan be used as long as the extension is
ePost. The mark file is a text file in which each record consists of two tab-delimited fields. Here is an example:
cs654321 86 cse12345 76 + Average is 59% + Histogram <href="http://www.eecs.yorku.ca/course_archive/YYYY-YY/T/C/histogram">here</a>. + CPS weight=30%: max=100: due=Nov. 9, 15: available=Nov. 25, 15In a typical record, the first field is a student's username (the EECS username or the Passport-York username, depending on the authentication link that you adopts) and the second field is the mark. Only that student will be able to see such a record. In other records, the first field is a '
+' and the second is some remark. Such records will be displayed for all students to see. The mark file can contain multiple records for the same student and multiple
+records. ePost will display such records in the order they appear in the file. Note that since ePost displays everything in HTML, you can embed links as shown in the above example. The last
+line in the example shows how Course Performance Summary data is recorded. Such a line is needed in each ePost file whose component appears in the CPS (for example, you need it in
Midterm.ePostbut not in
Grade.ePostbecause letter grades are not recorded in the CPS). The
CPSline contains five colon delimited fields: the weight of the component, the out-of mark, the date the piece of work was due, and the date the mark become available to the students. Whitespace in between tokens is ignored.
epmergecommand passing the course number as argument. The command will ask you to prepare a file (
epList) containing all the .ePost files that you like to merge (without the .ePost extension), in the order that you like to see them merged.
epmergewill merge not only the .ePost files that you indicate but also the student's registration data (
yuemail address, York ID, section, and name) as listed in the course distribution list. The command takes a second (optional) argument being the path to the distribution list. The default is
/eecs/dept/distbut if you ran this command after the term has ended, you would want to provide a second argument, e.g.
data.ePost. In it, you can have one or more lines per student and each line starts (in column #1) with the student's (EECS or Passport-York) username and is followed by the student's marks with arbitrary delimiters. Here is an example:
+Login Mid A1 A2 A3 FNL TOT GRD NAME +-------- --- --- --- --- --- --- --- -------------- cs654321 86 79 94 83 90 91 A+ Eve ... cse12345 76 59 64 83 78 77 B+ Adam ... ... +The midterm average was 59%ePost displays the information in such a file using the
pretag so you can assume a fixed-size font. As in the multi-file case, the contract for ePost is to show student X all records prefixed either with X's username or with
+. Note that neither distribution list merging nor CPS generation is supported for single, multi-column mark files.
epmergeat the end of the term into a spreadsheet by simply opening it as a tab-delimited text file.
MidtermReappraise.ePost, containing the +/- deltas. This way, you (and the student) can track the history of each mark.