Files
BBGradebookOrganiser/docs/instructions.md

3.1 KiB

Instructions

Script requirements

Before running the script for the first time, install the required python packages:

Option 1 - install py7z, rarfile

python -m pip install py7zr rarfile

Option 2 - install all packages, including pandas which is used in Inspect by hash, using the requirements file

python -m pip install -r requirements.txt

Note: If running on Linux/Mac, you also need to have unrar installed in order to be able to extract .rar files.

  • sudo apt install unrar for Linux

  • brew install rar for Mac

(Optional) Edit script defaults

You can change the default settings by editing utils/settings.py. The main setting you might want to edit is IGNORE_DIRS - the list of names for directories, or files, to ignore when extracting from compressed files.

Ignored directories by default:

  • __MACOSX (macOS system generated files)

  • vendor (composer / laravel)

  • node_modules (npm)

Download gradebook

  1. Go to the course page on Blackboard

  2. Go to Grade Centre -> Full Grade Centre

  3. Find the assignment and click on the arrow for more options, and select Assignment File Download

  4. Select all (click Show All at the bottom first, to display all users) and click submit to generate the gradebook zip file

  5. Wait for the generated download link to appear, and click to download

Extract gradebook

Extract the downloaded gradebook in a new directory inside BB_gradebooks.

  • e.g. for AssignmentX extract the gradebook in BB_gradebooks/AssignmentX

Organise gradebook

To organise the gradebook run organise_gradebook.py and provide the name of the directory with the extracted gradebook (from section Extract gradebook above) as an argument.

  • e.g. for gradebook AssignmentX (in BB_gradebooks/AssignmentX) run:
python organise_gradebook.py AssignmentX

While running, the script displays on the terminal information and stats about the gradebook submissions and files.

Post-run

All submission files can be found - organised in directories per student number - in directory BB_submissions, under the sub-directory named after the gradebook name provided when running the script.

  • e.g. organise_gradebook.py AssignmentX creates the directory AssignmentX inside BB_submissions

Each student directory contains:

  • the extracted files from the submitted .zip, .rar, .7z

  • the individually submitted files

  • the text file generated by Blackboard for the submission (which also contains any comments left by the student)

All comments found in the gradebook are extracted in a text file in BB_submissions, with the gradebook name as prefix.

  • e.g. AssignmentX_comments.txt will be created for gradebook AssignmentX

Compressed files are deleted after successfully extracting and organising the contents.

  • Any invalid/corrupt compressed files are moved into folder __BAD__ inside the gradebook directory

Inspect by hash 🔍

See Inspect by hash for more information & details.