This script was written for SE2205 TAs for marking, it has been open sourced because it is useful to modify for your own purposes.
- Install nodejs: https://nodejs.org/en/
- Install
yarn
: https://yarnpkg.com/docs/install - Clone the project:
git clone [email protected]:Nava2/sakai-github-education-marking-helper.git
- Change to the project directory:
cd ./sakai-github-education-marking-helper
- Run
yarn install
Before using any built-in commands, do the following:
- Download your assignment from Sakai:
- Unzip the assignment and get the folder, e.g. "C:\Users\John\Downloads\bulk_download\Lab 00"
- Copy the due date of the assignment, e.g. "27-Jan-2017 23:55"
- Open
./config.js
and modify the parameters within, read all of the parameters.
In the project's directory, run: yarn download
Within each student directory, there will be a meta.json
which looks like:
{
"studentId": "kbright2",
"studentDirectory": "C:\\Users\\kevin\\Downloads\\Test Assignment - 00\\Brightwell, Kevin(kbright2)",
"warnings": [],
"rawSubmission": "<p>[email protected]:uwoece-se2205b-2017/lab-00-introduction-Nava2.git</p>",
"cloneDirectory": "C:\\Users\\kevin\\Downloads\\Test Assignment - 00\\Brightwell, Kevin(kbright2)\\submission-kbright2",
"gitUri": "[email protected]:uwoece-se2205b-2017/lab-00-introduction-Nava2.git",
"submission": {
"commit": {
"hash": "f3b85c3b9cfce92ed5a0af1c0b7d4cd4d0de6212",
"date": "December 30th 2016, 08:43:20 -0500"
},
"sakaiDate": "February 4th 2017, 08:53:54 -0500",
"late": "5 days",
"penalty": 1
}
}
The students code will be cloned into a folder called: submission-$studentId
(e.g. submission-kbright2
) for the above student. Within the submission
folder, there is a rubric file named
as defined in ./config.js
, likely RUBRIC.md
. Modify this with the marks for the assignment.
Once a mark is known, update the grades.csv
or grades.xlsx
file in your extracted folder. Be mindful to apply any
penalties computer.
Running yarn package
will create a zip file called: for-sakai.zip
in the extraction directory. This file can be used
with the "Upload All" option on Sakai. Save your grades.csv
before running the script.
When uploading, select the "Grades" checkbox and the "Feedback Comments" box.
To push the rubrics to Github, run: yarn submit
. This moves through each repository, committing the RUBRIC.md
file
and then pushes the changes to Github. There is a delay of 200 ms between each push, this is expected.