{"id":320,"date":"2017-01-04T21:28:34","date_gmt":"2017-01-04T21:28:34","guid":{"rendered":"http:\/\/canvas.lauragibbs.net\/wpblog\/?p=320"},"modified":"2017-01-05T15:35:23","modified_gmt":"2017-01-05T15:35:23","slug":"power-of-api-power-of-community","status":"publish","type":"post","link":"https:\/\/canvas.lauragibbs.net\/wpblog\/api\/power-of-api-power-of-community\/","title":{"rendered":"Power of API | Power of Community"},"content":{"rendered":"<p>So, today was my best Canvas day ever: thanks to some help from <a href=\"https:\/\/twitter.com\/StefanieSand\"><strong>Stefanie Sanders<\/strong><\/a> at the Canvas Community, I found my way to the API work done by <a href=\"https:\/\/community.canvaslms.com\/people\/james%40richland.edu\"><strong>James Jones<\/strong><\/a>&#8230; including an\u00a0<a href=\"https:\/\/community.canvaslms.com\/docs\/DOC-8585\"><strong>API\/GoogleSheet script<\/strong><\/a> 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.\u00a0Real tools for real data:\u00a0WOW.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.22.01-PM-e1483564950343.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-322\" src=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.22.01-PM-e1483564950343.png\" alt=\"\" width=\"400\" height=\"260\" \/><\/a><\/p>\n<p>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&#8230; but thanks to Stefanie and James, that task\u00a0took less than 30 minutes. And I got to learn about the powers of APIs! I&#8217;ve always been frustrated that I could not get my data out of an LMS to work on it in a spreadsheet&#8230; but now I can! Based on James&#8217;s elegant and powerful examples, I hope to learn a lot more about the Canvas API in the months to come.<\/p>\n<p>So, I can report that my Canvas classes are up and running&#8230; a full day early! Which means\u00a0all day Thursday and all day Friday I can focus all my attention on the really important stuff: preparing materials for my students.<\/p>\n<p>Let me summarize quickly what I managed to get done today&#8230; which will also come in handy in August when I need to do this all over again. I hope I don&#8217;t leave anything out in my summary here:<\/p>\n<p><strong>1. Update custom URLS.<\/strong> 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: <a href=\"http:\/\/Myth.MythFolklore.net\"><strong>Myth.MythFolklore.net<\/strong><\/a> and <a href=\"http:\/\/India.MythFolklore.net\"><strong>India.MythFolklore.net<\/strong><\/a>. 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. \ud83d\ude42<\/p>\n<p><strong>2. Fall to Spring copy<\/strong>. I went to my Myth-Folklore Spring class and copied over all the content from the Fall class.<\/p>\n<p><strong>3. Get API token<\/strong>. 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.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.24.30-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-323\" src=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.24.30-PM.png\" alt=\"\" width=\"209\" height=\"56\" \/><\/a><\/p>\n<p><strong>4. Update all quiz dates<\/strong>. Next, I followed James Jones&#8217;s <a href=\"https:\/\/community.canvaslms.com\/docs\/DOC-8585\"><strong>excellent instructions<\/strong><\/a> 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).<\/p>\n<p><strong>5. Tweak Myth-Folklore<\/strong>. Then, I worked on some fixes to the Spring Myth-Folklore course, but they were easy:<br \/>\n<strong>Publish<\/strong>: I had to publish the course.<br \/>\n<strong>Settings<\/strong>: I had to adjust the LTI I use for the homepage redirect to go to the wiki for the Spring semester.<br \/>\n<strong>Announcements<\/strong>: I had to adjust the links for the hide\/show right menu on the announcements page.<br \/>\n<strong>Course image<\/strong>: I chose a new course image \u2014 it&#8217;s a Walter Crane illustration this semester. (And geez, I hope they fix the awful <a href=\"https:\/\/community.canvaslms.com\/ideas\/6521\"><strong>course image color overlay<\/strong><\/a> problem soon.)<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.25.33-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-324\" src=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.25.33-PM.png\" alt=\"\" width=\"392\" height=\"222\" srcset=\"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.25.33-PM.png 392w, https:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.25.33-PM-300x170.png 300w\" sizes=\"auto, (max-width: 392px) 100vw, 392px\" \/><\/a><\/p>\n<p><strong>Course Name<\/strong>: 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!).<br \/>\n<strong>Start Date<\/strong>: I adjusted the start date to open my class one week ahead of schedule (I really encourage students\u00a0to get a head start if possible).<br \/>\n<strong>Gradebook<\/strong>. I had to click &#8220;show totals as points&#8221; and &#8220;arrange columns by date.&#8221;<br \/>\n&#8230; And besides that, I think everything else copied over just fine from the previous semester. Those are the only changes I had to make!<\/p>\n<p><strong>6. Copy Myth-Folklore to India<\/strong>. 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 <a href=\"https:\/\/canvas.ou.edu\/courses\/31878\/assignments\/syllabus\"><strong>Myth-Folklore syllabus page<\/strong><\/a>).<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.27.42-PM-e1483565294566.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-325\" src=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-04-at-4.27.42-PM-e1483565294566.png\" alt=\"\" width=\"500\" height=\"371\" \/><\/a><\/p>\n<p>And that&#8217;s it&#8230; 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&#8230; which is why I will diligently keep posting in this blog all semester long, sharing everything I learn!<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/growthmindsetmemes.blogspot.com\/2014\/12\/english-i-learn-whats-your-superpower.html\"><em><strong>I like to learn.<\/strong><\/em><\/a><br \/>\n<a href=\"http:\/\/growthmindsetmemes.blogspot.com\/2014\/12\/english-i-learn-whats-your-superpower.html\"><em><strong>What&#8217;s YOUR superpower?<\/strong><\/em><\/a><\/p>\n<p><a href=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/superpower.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-321\" src=\"http:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/superpower.jpg\" alt=\"\" width=\"400\" height=\"268\" srcset=\"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/superpower.jpg 400w, https:\/\/canvas.lauragibbs.net\/wpblog\/wp-content\/uploads\/2017\/01\/superpower-300x201.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Crossposted at <a href=\"https:\/\/community.canvaslms.com\/groups\/university-of-oklahoma\/activity\"><strong>OU Canvas Community<\/strong><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8230; including an\u00a0API\/GoogleSheet script that allowed me to download all my course quiz dates in a Google spreadsheet so that I could do a global &hellip; <a href=\"https:\/\/canvas.lauragibbs.net\/wpblog\/api\/power-of-api-power-of-community\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Power of API | Power of Community<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-320","post","type-post","status-publish","format-standard","hentry","category-api"],"_links":{"self":[{"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":5,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/posts\/320\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/canvas.lauragibbs.net\/wpblog\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}