Power of API | Power of Community

So, today was my best Canvas day ever: thanks to some help from Stefanie Sanders at the Canvas Community, I found my way to the API work done by James Jones… including an API/GoogleSheet script that allowed me to download all my course quiz dates in a Google spreadsheet so that I could do a global date update. That was even better than the (very clunky) method for global updates in D2L. Real tools for real data: WOW.

Last August, I spent a solid 7 hours manually updating my quiz dates (making errors along the way too), and I expected to spend 7 hours again this semester… but thanks to Stefanie and James, that task took less than 30 minutes. And I got to learn about the powers of APIs! I’ve always been frustrated that I could not get my data out of an LMS to work on it in a spreadsheet… but now I can! Based on James’s elegant and powerful examples, I hope to learn a lot more about the Canvas API in the months to come.

So, I can report that my Canvas classes are up and running… a full day early! Which means all day Thursday and all day Friday I can focus all my attention on the really important stuff: preparing materials for my students.

Let me summarize quickly what I managed to get done today… which will also come in handy in August when I need to do this all over again. I hope I don’t leave anything out in my summary here:

1. Update custom URLS. I logged on to Canvas and found the URLs for my two Spring courses; I then used those to update the custom URLs I use for my own convenience: Myth.MythFolklore.net and India.MythFolklore.net. Those were pointing to the Fall versions of the classes, but now they point to the Spring versions! Those are public, open courses, so just click and look. 🙂

2. Fall to Spring copy. I went to my Myth-Folklore Spring class and copied over all the content from the Fall class.

3. Get API token. I then generated an API token that I could use for the quiz date update. To do that, I went to my Canvas Account Settings and then generated a new access token.

4. Update all quiz dates. Next, I followed James Jones’s excellent instructions for exporting my course quiz dates to a spreadsheet so that I could update them all. The instructions worked flawlessly. I created an additional page to use at the spreadsheet for the formula I used to shift all the dates (compensating for Thanksgiving versus Spring Break is the only tricky part). In less than 30 minutes, I had updated all 448 dates in the course (211 quizzes, most of which have a due date and an available until date, and some of which also have available from date).

5. Tweak Myth-Folklore. Then, I worked on some fixes to the Spring Myth-Folklore course, but they were easy:
Publish: I had to publish the course.
Settings: I had to adjust the LTI I use for the homepage redirect to go to the wiki for the Spring semester.
Announcements: I had to adjust the links for the hide/show right menu on the announcements page.
Course image: I chose a new course image — it’s a Walter Crane illustration this semester. (And geez, I hope they fix the awful course image color overlay problem soon.)

Course Name: I tweaked the display name of the course since I learned (to my dismay) that the Canvas public course search works only for the Course Name; it does not search the course description (argh!).
Start Date: I adjusted the start date to open my class one week ahead of schedule (I really encourage students to get a head start if possible).
Gradebook. I had to click “show totals as points” and “arrange columns by date.”
… And besides that, I think everything else copied over just fine from the previous semester. Those are the only changes I had to make!

6. Copy Myth-Folklore to India. Then, I was able to copy Spring Myth-Folklore into Spring India (I design the courses so that the Canvas shells are identical). I then made all the same adjustments as for Myth-Folklore, plus I had to change the image randomizer on the Syllabus page to display India images (instead of Myth-Folklore images like on the Myth-Folklore syllabus page).

And that’s it… I have a whole extra day now to work on the real stuff! I thought I would be spending all day manually adjusting dates, but thanks to James Jones and the power of the API, I took care of that while drinking my morning coffee. THANK YOU so much to James Jones for sharing his scripts, and thanks also to Stefanie for making sure that I knew about that. The power of sharing: it is an awesome power… which is why I will diligently keep posting in this blog all semester long, sharing everything I learn!

I like to learn.
What’s YOUR superpower?

Crossposted at OU Canvas Community.