Files
BBGradebookOrganiser/README.md
2023-01-16 17:37:53 +00:00

54 lines
3.6 KiB
Markdown

# BBGradebookOrganiser
Blackboard Gradebook Organiser
## Description
**Blackboard Gradebook Organiser** is a tool for organising a downloaded gradebook with assignment submissions from [Blackboard Learn](https://en.wikipedia.org/wiki/Blackboard_Learn).
The submission files are organised per student, by extracting the student number from the submission file names and creating a directory per student. Any compressed files (.zip, .rar, .7z) are extracted into the student's directory, with any remaining files submitted individually also moved into the student's directory.
### Features
- Extracts, and organises per student, the content of submitted compressed files with extensions: .zip, .rar, .7z
- Detects invalid/corrupt files
- Doesn't extract macOS system generated files (ignores directory *__MACOSX* inside the compressed file)
- If a compressed file is found inside any submitted compressed files, it is organised into the student's folder and the script displays its location so it can be extracted manually
- Deletes each compressed file after successful extraction into student directory
- Organises per student any remaining individually submitted files
- Checks and extracts any comments from the student submission generated text files
- Checks if any compressed files (from the contents of the submitted compressed files) have been extracted and organised per student
- The path of any extracted and organised compressed files will be printed (they need to be extracted manually)
## Instructions
### Download gradebook
- Go to the course page on Blackboard
- Go to *Grade Centre -> Full Grade Centre*
- Find assignment and click on the arrow for more options, and select *Assignment File Download*
- Select all (click *Show All* at the bottom first, to display all users) and click submit to generate the gradebook zip file
- 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*
### Run script
- Before running the script for the first time, install the required packages
- `python -m pip install -r requirements.txt`
- 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
- Provide the name of the directory (from section *Extract gradebook* above) as an argument when running the script
- `python organise_gradebook.py GRADEBOOK_DIR_NAME`
- 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. `python organise_gradebook.py GRADEBOOK_DIR_NAME` creates the directory *GRADEBOOK_DIR_NAME* inside *BB_submissions*
- Each student directory contains the student's extracted and individually submitted files, and the text file generated by Blackboard with 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
## Notes
The Blackboard generated name for submission files must follow the pattern *ANYTHING_STUDENTNUMBER_attempt_ANYTHING*