Canvas Content Uploader Documentation¶
A graphical desktop application to assist Canvas LMS course designers in quickly uploading, removing, and viewing course pages and files.

- Features:
- Create new wiki pages in a course using existing HTML files.
- View or remove wiki pages existing within a course.
- Search for wiki pages with HTML that contain a given search term.
- Upload files to a course.
- View or remove Files existing within a course.
Setup and Configuration¶
Installation¶
- Install Python 3 (https://python.org).
- Install canvasapi:
pip install canvasapi
- Clone the project or download it as a ZIP and extract the contents.
git clone https://github.com/AMichaelP/canvas_content_uploader.git
Configuration¶
Edit config.ini.
The only line you are required to change is canvas_url =, which will need to be set to the target Canvas site.
For example:
canvas_url = https://example.beta.instructure.com/
- Other customizations that can be set in this file include:
- The icon (which is the Tcl feather icon by default)
- The window title (which defaults to “Canvas Content Uploader”)
Basic Usage¶
Starting the Application¶
After completing setup and configuration, you can start the program by running canvas_content_manager.pyw from the project directory. Creating a shortcut to this file, rather than running it from the project directory every time, might be useful.
Token Login¶
You will need to obtain an access token for the user you wish to login with. See the Canvas docs for detailed instructions. Enter the user token and click Token Login.

Selecting a Course¶
Selecting from Enrolled Courses¶
The course dropdown box displays courses that the user is enrolled in. Select a menu item to change the working course. By default, the first course in the list will be selected.

Selecting by Course ID¶
If you wish to select a course that the user is not enrolled in, but has permission to access, you can select a course by its ID. You can then verify the selected course by the displayed course name.

Switching Tasks¶
Tasks can be selected from the Task menu. Tasks will allow you to perform different operations, such as uploading new wiki pages, or deleting files.

Available Tasks¶
Course Wiki Pages¶
Upload New Pages¶
Upload new wiki pages to the selected course, using existing HTML files.

- Multiple files can be selected at once.
- A new wiki page for each file will be created within the selected course.
- The wiki pages’ names will be derived from the HTML file names.
- File name conflicts will be checked before the new pages are created.
- If a name conflict exists, the user will be prompted to enter a new name, overwrite the existing page, or cancel the upload for that file.
- The Force Overwrite checkbox can be used to skip the renaming prompts and overwrite any existing pages of the same name.
Manage Existing Pages¶
View or remove wiki pages existing within the selected course.

- The list of pages will be refreshed whenever the selected course, task, or sorting method is changed.
- Pages can be opened in the default web browser by double-clicking the entries in the page list.
- Pages can be sorted alphabetically, or by how recently they were created (useful when uploading new pages).
- Multiple pages can be selected and deleted at once.
- A prompt will display the names of the pages you are choosing to delete and will allow you to continue or cancel the deletion.
Search Pages¶
Search for wiki pages with HTML that contain the given search term.

- You can choose to search all pages in the selected course, or through all enrolled courses.
- A search using a Full word scope will only return matches that are surrounded by spaces.
- A search using a Partial word scope will return matches regardless of surrounding spaces.
- If the case scope is set to Match, only results that exactly match the case of the search term will be returned.
- A case scope of Ignore will return results that match, regardless of the case.
- Results can be double-clicked and opened in the system’s default web browser.
Course Files¶
Upload New Files¶
Upload files to the selected course.
Warning
Files are not checked for naming conflicts before uploading. Any existing files in the course with the same name will be overwritten.

- Multiple files can be selected at once.
- The file(s) will be uploaded to the selected course.
- The uploaded file display names will match the uploaded file’s name.
- Unlike uploaded wiki pages, files are not checked for name conflicts..
- If a name conflict exists, the existing file in canvas will be overwritten.
- The Force Overwrite checkbox is not yet supported for this task.
Manage Existing Files¶
View or remove files existing within the selected course.

- The list of files will be refreshed whenever the selected course, task, or sorting method is changed.
- Files can be opened in the default web browser by double-clicking the entries in the file list.
- Files can be sorted alphabetically, or by how recently they were created (useful when uploading new files).
- Multiple files can be selected and deleted at once.
- A prompt will display the names of the files you are choosing to delete and will allow you to continue or cancel the deletion.
About¶
I created this project during my final undergraduate semester as a student worker for Online@JSU at Jacksonville State University, using the ideas of Kevin Mobbs, my supervisor. I have enjoyed making it, and I have learned much throughout the course of its development. Thank you for taking the time to look at it. If you have any questions or comments, feel free to reach out to me at anthony.m.pruitt@gmail.com.
Anthony Michael Pruitt