This package has been abandoned in favor of the more up-to-date (and user-friendly) smtech/canvas-management
.
Individual scripts to do specific things, but that also shouldn't just be committed to the master fork without testing.
#####advisors-as-observers Generate (and/or update) the advisor users and post their logins as an unpublished wiki page in the advisor course (the script knows who the advisor and advisees are because there are a bunch of advisory courses in a particular sub-account and term).
#####assignments-due-on-a-day This is a quick script for field trip planning: list all of the assignments due, optionally filtering by course code (color block) or due date.
#####clean-ap-bio This is a quick script to move a list of files matching a particular naming pattern into a particular folder in a course. This wa the result of Kim Berndt's experience with the AP Bio coursepack that just dumped hundreds of individual files into her main Course Files folder, with the result that she couldn't actually link to any files (because the file list was too long to load).
#####courses-in-term-with-id This generates a tab-separated-values list of all of the courses in a particular term (GET parameter enrollment_term_id) with both their Canvas ID and their SIS ID.
#####courses-with-a-single-assignment-group Lists all courses (in the current term(s) -- hard-coded!) with only a single assignment group. This is an early warning flag that folks are not prepared for the second window and will not be able to compute their second window grades.
#####csv-import-and-clone This takes a standard courses.csv Import file with one additional column: template_id, which takes the Canvas ID of the source course to be duplicated into the new course. This duplicates both the contents and all (API-accessible) settings of the original course in the new course.
#####generate-course-and-section-sis_id generates unique (MD5 hash-based) SIS IDs for all courses and sections in the Canvas instance that do not already have SIS IDs. Quite useful for doing SIS export reports from Canvas that include everything.
#####list-teachers-of-courses Lists all of teachers of courses in a particular enrollment_term.
#####list-users-enrolled-in-term Generates a TSV list of all users enrolled in courses/sections in a particular term (GET parameter term_id).
#####list-users-with-non-blackbaud-sis_id Generates a TSV list of all users in the instance whose SIS IDs do not match the general observed pattern of Blackbaud Import IDs (and are, therefore, most likely hand-generated and/or erroneous -- or both!).
#####list-users-without-sis_id Generates a TSV list of all users who do not have SIS IDs (and therefore don't show up in Canvas SIS export reports).
#####publish-current-advisory-courses Publishes all of the current advisory courses. This only matters if a) you have advisors who might not also currently teach their advisees and b) they will need access to their advisees' faculty journal entries. If the advisory course isn't published in this situation, the advisors will, bizarrely, only be able to see the faculty journals for the advisees that they currently teach, and get permissions errors on the ones that they don't.
#####students-as-teachers-audit Generates a TSV list of all users who are not enrolled in our Faculty Resources course (and therefore identifiable as a faculty member) but who are enrolled as teachers elsewhere (giving them potentially inappropriate access to the faculty journal for other students).
#####summer-course-merge We provide our faculty with empty courses representing (a version) of their schedule in the upcoming year at the start of the summer, before the final schedules have been generated. This script is a tool to reconcile those existing courses with the final course and section SIS IDs generated at the end of the summer, in preparation for syncing enrollments out of Blackbaud into Canvas. The script takes as input a merge.csv file with the following columns:
- summer_sis_course_id - the provisional, original SIS ID of the course
- modified_sis_course_id - the final, real SIS ID of the course
- action - Left blank or one of add, rename, delete or modify
- add - create a new course from this information
- delete - delete the summer course (it doesn't exist in the real schedule)
- rename - rename the summer course to reflect updated information from the system
- modify - also the default case (what happens if you leave it blank), updating all SIS IDs to match the Blackbaud SIS IDs
- sis_course_id - the "real" SIS ID for this course
- sis_section_id - the "real" SIS section ID for the quasi-hidden single section of the course
- long_name, short_name, sis_account_id - as in courses.csv
- sis_term_id - SIS ID for the term in which the course is taking place
- sis_teacher_id - SIS ID for the teacher actually teaching the course
#####transfer-outcomes Doesn't really do anything. It was started at an idle moment when I really wanted to be able to transfer outcomes from a course to a parent account (or from an account to a parent account). I got distracted and Canvas seems to be working on the same idea. We'll see who gets there first.
#####turn-off-advisor-notifications The advisor accounts default to having some notifications on, most notably course enrollments. This turns them all off, creating an opt-in for notifications. Nota bene: Observer observations are not working terribly well in Canvas right now.
As an interesting sidenote, in response to a query in the Canvas Community, I slapped together a screencast taking a repository (not this one, sadly) from Github to working in Canvas.