https://github.com/mikewesthad/canvas-unzipper
A tool to manage zipped student work downloaded from Canvas
https://github.com/mikewesthad/canvas-unzipper
Last synced: 2 months ago
JSON representation
A tool to manage zipped student work downloaded from Canvas
- Host: GitHub
- URL: https://github.com/mikewesthad/canvas-unzipper
- Owner: mikewesthad
- Created: 2021-02-03T23:11:53.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-05T20:44:52.000Z (about 4 years ago)
- Last Synced: 2025-03-15T18:53:19.328Z (3 months ago)
- Language: JavaScript
- Size: 51.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Canvas Unzipper
When you download a zip of student work submissions for an assignment on Canvas, it gives you a zip that contains student work as a bunch of loose files. I have my students turn in a zip and a screenshot for most projects, so I get something like:
```
submissions.zip
├── smithbob_340934_208490284_BobsWork.zip
├── smithbob_340934_208490284_BobsScreenshot.png
├── wellslane_334244_394803489_MyAssignment.zip
├── wellslane_334244_394803489_MyAssignment.png
├── wellslane_334244_394803489_MyAssignment1.png
├── wellslane_334244_394803489_MyAssignment2.png
└── ...
```This tool unzips the submissions and places each student's work into a directory. If a student submitted a zip, it will also unzip that students work. The previous example would be turned into:
```
output/
├── smithbob
│ ├── smithbob_340934_208490284_BobsWork
│ │ ├── file1.html
│ │ ├── file2.html
│ │ └── ...
│ └── smithbob_340934_208490284_BobsScreenshot.png
├── wellslane
│ ├── wellslane_334244_394803489_MyAssignment
│ │ ├── file1.cs
│ │ ├── file2.txt
│ │ └── ...
│ ├── wellslane_334244_394803489_MyAssignment.png
│ ├── wellslane_334244_394803489_MyAssignment1.png
│ └── wellslane_334244_394803489_MyAssignment2.png
└── ...
```## Installation & Usage
Make sure you have [node & npm](https://nodejs.org/en/) installed, and then run:
```
npm install -g canvas-unzipper
```Alternatively, you can run the command without installing globally. Just use `npx canvas-unzipper` in place of `canvas-unzipper` in the instructions below.
If you've got a zip download from Canvas, you can run:
```
canvas-unzipper path/to/submissions.zip path/to/desired/output
```Help info:
```
canvas-unzipper [options] [pathToOutputUnzippedWork]canvas-unzipper
Arguments:
pathToStudentWorkZip Path to a downloaded submissions zip from Canvas
pathToOutputUnzippedWork Path to output the unzipped and organized student work. If
not specified, this outputs to a folder at
pathToStudentWorkZip (minus the .zip extension).Options:
-V, --version output the version number
-v, --verbose Output extra verbose information while unzipping student
work.
-h, --help display help for command
```## Important Notes
This tool looks at the files in the download and tries to identify students from the file names. In a zip download from canvas, the files are named like this:
```
wellslane_334244_394803489_MyAssignment2.png
```Where the convention is:
```
[LastNameFirstName]_[SomeID]_[SomeOtherID]_[StudentOriginalFileName]
```This tool simply splits the file on "_" and uses the first part as their name. This will likely not work correctly if:
- Two students have the same first name and last name.
- A student has a "_" in their name.