API Use Case: Standardize Course Navigation

Community Champion

When we were researching LMS platforms, one piece of feedback that really struck me as being obvious was course navigation.  What we found was consistent feedback from users who were frustrated that finding resources from one course to the next could be so dramatically different, why couldn't they find the same things in the same place from one course to the next?

This is something we really liked about Canvas.  Course navigation options are essentially the same from course to course.  We like that they can be re-organized to your liking, but unless you jump through hoops, it isn't easy to rename them or add random items that would make navigation unrecognizable to students across courses.  A feature that is a bonus in our  opinion.

During our planning, we talked to faculty to gather their thoughts and feedback on this issue.  The result was a base course template with a course navigation menu layout that, at the time, everyone was agreeable to.  Life was good, and everyone was happy.

And then there was the launch.  As we started to release courses for consumption, and faculty started to get comfortable with Canvas and learned how to modify their own order of navigation, things started to move around.  Course navigation options started moving all over the place, faculty were moving things around differently across courses they were teaching themselves, very strange.  I would think they would want to see things in the same place in each course, but, ok.

As we continue to provide support, post examples, and record video demonstrations, we need things to be in the same place so faculty can easily follow along with our screen shots and demo videos.

A specific example: recently a mandatory attendance policy was enforced.  We recorded a video to walk faculty through Roll Call, and realized that the "Attendance" option was all over the place across the courses.  This was for sure going to cause confusion among faculty who were already pushing back against using Canvas, we needed the "Attendance" option to be in the same position as seen in our training video.

And in comes the API.  I looked all over the API for "menu", "navigation", poured over the "course" API options, but couldn't find what I needed.  In the end, through a unrelated conversation thread, f000f2p​ for directing me to the the content I needed.  There is an API to allow you to re-order your course navigation options:

Tabs - Canvas LMS REST API Documentation

Tabs??  Who knew??  Thank you f000f2p​ !  I am not sure I would have ever looked at "tabs" related to "course navigation".

This API allowed us to create a script to easily move the "Attendance" option to a specific location in the course navigation, iterating this change across ALL courses, so faculty could more easily follow along with our training video, making our lives and theirs much easier.

As faculty start to further understand the benefits of having course options in the same places, we will be able to further standardize these options moving forward with simple scripts to automate adjustments across the board.

11.14.2016 - Update

For those using .NET, I have made a blog post and included source code showing how the Canvas API can be used in .NET.  This code can be modified to create custom workflow to automate admin tasks as reporting:

1 Comment