• Managing Canvas Data with Embulk

    Embulk is an open-source bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. embulk.org github contributors   Simply put, Embulk makes&...
    Robert Carroll
    created by Robert Carroll
  • Ruby GEM for REST calls

    The University of Adelaide has built a REST Client GEM as part of one of our integration projects.   The GEM has now been open sourced and available via https://rubygems.org. The source code can be found at...
    Poh Duong
    last modified by Poh Duong
  • Build a Canvas Data Warehouse on AWS in 30 minutes!

    Introduction Canvas Data provides a wealth of information that can be used in many interesting ways, but there are a few hurdles that can make it hard to even get started: The Canvas Data API uses a different au...
    Colin Murtaugh
    last modified by Colin Murtaugh
  • Universal Student View Button for Teachers

    The Challenge While the Student View button is easily found under the Settings panel of the course navigation menu, many of the instructors at my institution still would prefer for it to be accessible on their ho...
    Mark Garcia
    last modified by Mark Garcia
  • HTML Editor Syntax Highlighter

    Disclaimer This is my second blog post to the Canvas Community, but I'm going to stick with my tl;dr format.   The Situation Who doesn't like their code to be easier to read!? Oh, you use the Rich Content Editor?...
    last modified by cesbrandt
  • Collapse & Expand Modules

    For various reasons I decided to write a little CSS & JS to do the following: Load the modules page with all modules collapsed by default Create a button on the modules page to Expand/Collapse all modules When ...
    Mike Cowen
    last modified by Mike Cowen
  • Create/edit/delete sections and cross-listing: Is there a conflation of permissions?

    New FERPA requirements for cross-listed courses! and others have commented on the problems of cross listing. However, the ability to do cross-listing is controlled by the same permission as being able to create/e...
    Gerald Q. Maguire
    last modified by Gerald Q. Maguire
  • Module Filters

    Disclaimer: This is a personal project, and is not endorsed by Instructure or Canvas LMS. Custom JavaScript must be maintained by the institution. Most (great) product features come from a deep understanding...
    David Lyons
    last modified by David Lyons
  • Ask Technology & Engineering Leadership

      Presentation Title “Ask Technology & Engineering Leadership” has been a popular and highly attended session at InstCon for the past 2 years, so let’s do it again.  This session is you...
    Renee Carney
    created by Renee Carney
  • First steps in a degree project supported by Canvas (or how to use Canvas to facilitate administrative processes)

    During 2019 I have been trying to use Canvas to help support the degree project process (for students, faculty, and administrators). One of the latest parts of this effort has been to look at some of the administ...
    Gerald Q. Maguire
    last modified by Gerald Q. Maguire
  • Course import tool: include completed courses by default

    In the 2019-04-20 release notes, one of the bug fixes was: “The Copy a Canvas Course option uses active term dates to display available courses in the drop-down list.” Recently, it came to our attention in...
  • Linking Outcomes to Assignments with Python

    I'm trying to make standards-based grading more approachable for my teachers. When I was teaching full time, I held to Frank Noschese's Keep It Simple philosophy. Single standards correlate to single assignments ...
    Brian Bennett
    last modified by Brian Bennett
  • Using Python to create Calculated Questions

    James Jones suggested that I should file a blog post about my recent findings/results. Background Problem Solution or problems? Working solution How does it work? After running the script Cos...
    Uwe Zimmermann
    last modified by Uwe Zimmermann
  • API Testing: Postman

    This information is really geared towards users who are trying to get started with the API.   I have seen questions in the community about the API, and have see Postman mentioned many times.  But, searching...
    Garth Egbert
    last modified by Garth Egbert
  • Rubric Analysis Using the API

    Recently I had a faculty member ask if there was a way to get a breakdown of a rubric showing how many students scored in each rating of a criteria.  This would be a useful view to help determine where students w...
    Garth Egbert
    last modified by Garth Egbert
  • curl and OAuth tokens on macOS

    When poking the Canvas API with curl I would often find myself copy and pasting lots of Authorization headers around to correctly authenticate against Canvas. This is error prone and also leaves your tokens ...
    Matthew Buckett
    last modified by Matthew Buckett
  • A-F and P/F grading schemes

    Two commonly used grading schemes in Sweden are A-F (i.e., A, B, C, D, E, and F) and P/F (i.e., Pass and Fail) together with Fx (an incomplete - this is not a final grade). To install these grading schemes into a Canv...
    Gerald Q. Maguire
    last modified by Gerald Q. Maguire
  • Bulk Downloading User Transcripts from Catalog

    TLDR; I wrote a script that creates a Catalog Session and then downloads all Users' Transcripts. There are some subtle authentication tricks happening so if the code does not make sense refer to the following tex...
    Maddy Hodges
    last modified by Maddy Hodges
  • Fun with Canvas in a VM and using custom data to keep track of a student's program of study

    In conjunction with experiments concerning using an LTI interface to realize a dynamic quiz, I built a version of Canvas that could run in a Virtual Machine (specifically an image that could be run by VirtualBox). Adv...
    Gerald Q. Maguire
    last modified by Gerald Q. Maguire
  • Administrative guidelines for managing Inherited Developer Keys

    There have been some important changes to developer keys (see the 14 Jul 2018 and 10 Oct. 2017 release notes) since my last blog post about what administrators should consider when issuing developer keys. Th...
    Jesse Poulos
    created by Jesse Poulos