Using the Canvas APIs to do Really Cool Stuff

Slides:



Advertisements
Similar presentations
Top Tips for Using Turnitin for Originality Checking and Online Marking A Quick Overview Humanities eLearning Team
Advertisements

Getting Started with Moodle Bronze Level – Compulsory.
Bboogle Teams: Supporting Small Group Communications through Google Apps Integration with the Blackboard Learn Platform Jonathan Smith, Software Architect,
Data and Reporting In Schoolnet for District Admins Dan Urbanski, DPI IIS - Learning Systems Division.
Sakai Overview ITS Teaching and Learning Interactive Aurora Collado January 10, 2008.
BLC Training for Instructors Presented By: Banner Health Learning & Development Team.
The 12 screens to follow contain a number of Tool descriptions, some instructions on their use, and in some cases a Task or two. If you dedicate one hour.
Go to the MTSD Home Page In the URL add “/admin”
Faculty Center for Instructors and Roster Contacts Roles and Access Faculty Center Features Grade Changes and Approval.
Login Screen: Login Screen is the first screen. We need to enter valid user name and password to login into colleges main dashboard. Enter valid user name.
School World Mr. Folk, MS Teacher & Campus’ Webmaster Metzger Middle School.
JICS LMS Updates January 2011 January 4 and 6 Adjunct In-Service & January 5 Full-Time In-Service.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Podcasting Randy Graff, PhD Symposium on Teaching and Learning with Technology ELearning in Sakai.
Using School fusion A great interactive tool to aid in communication for students, parents and YOU!!! Property of TSVest 2006.
Course Settings MOODLE. Getting Started This is a quick start guide to Setting up a Moodle Course. This part of the course documents and outlines:- Course.
Moodle (Course Management Systems). Managing Your class In this Lecture, we’ll cover course management, including understanding and using roles, arranging.
Sales Management Presentation Slide S. M. Benzir Ahmed Presented by Mohammad Zobair Md. Parvez Hossain Md. Nurul Karim S. M. Benzir Ahmed Rashed Jahan.
System for Administration, Training, and Educational Resources for NASA SATERN Overview for Users December 2009.
Reorientation for Moodle 2 Staff Guide. File Repositories With Moodle 2’s file repository system: Duplicate files are only stored once, saving disk space.
Diagnostic Pathfinder for Instructors. Diagnostic Pathfinder Local File vs. Database Normal operations Expert operations Admin operations.
IPortal Bringing your company and your business partners together through customized WEB-based portal software. SanSueB Software Presents iPortal.
Reports and Learning Resources Module 5 1. SLMS Primary Administrator Training Module 5: Reports and Learning Resources 2.
My Workspace ELearning in Sakai Randy Graff, PhD HSC Training.
of Presenter T T T T T op T en T imesaving T ips for D2L Faculty National Distance Ed Week Marcy Dickson.
Bridging Sakai and the SIS. Sakai’s Integration Strategy The Group Provider –Benefits Simple ›In which groups is user X a member? ›Who are the members.
A New Perspective Under Used Teacher Tools. TEACHER TOOLS TRADITIONAL FOCUS Grade books are a storage location Attendance Assignments Grade Book.
Faculty Center for Instructors Roles and Access Faculty Center Features Grade Changes and Approval.
Faculty Center for Instructors Roles and Access Faculty Center Features Grade Changes and Approval.
Getting Started with Google Classroom
Forms Manager. What is Forms Manager? Forms Manager is a completely new online form creation and form data management tool.
1 Turnitin in BUMoodle - Quick Reference Guide for Staff (This quick guide is a modified version of the one prepared by ITO/ITSC.) Turnitin Standard online.
Faculty Center for Instructors Roles and Access Faculty Center Features Grade Changes and Approval.
Introduction Moodle is a course management system, designed to help teachers create online courses and manage virtual interactions with their students.
Schoolwires How to modify your classroom webpage.
NACS Canvas Training Please sign in and log onto a computer.
Introduction Moodle is a course management system, designed to help teachers create online courses and manage virtual interactions with their students.
Presentation by: Paul Kieffer
Assignments, Assessments and Grade Book
Web-based Information Science Education
Presented By MATILUKO, Opeyemi Emmanuel System Analyst/Developer
Introuduction to MOODLE
Discussions State College of Florida
Professional development training
Welcome to the JCISD Teacher Website Training Guide
How to and Lessons Learned!
APIs and Synchronization
StudentWeb Orientation
About Everything You Always Wanted to Know
Canvas Orientation Presented by the Academic Technology Center and the Center for Teaching and Learning.
Getting Started with Google Classroom
April 06 Lab The ICG Toolkit
Canvas introduction for students
MyMCPS Classroom AMANDA.
Motivis Instructor Training
for Instructors and Roster Contacts
StudentWeb Orientation
What is StudentWeb? In StudentWeb you can access:
Inside a PMI Online Course
What is StudentWeb? In StudentWeb you can access:
for Instructors and Roster Contacts
for Instructors and Roster Contacts
INSTRUCTOR NOTES/LINKS
Faculty Center for Instructors
What is StudentWeb? In StudentWeb you can access:
What is StudentWeb? In StudentWeb you can access:
2000 Medical and Animal Husbandry Interface
Canvas introduction for students
LMS – SIBAU (Faculty LMS Guide)
What is StudentWeb? In StudentWeb you can access:
Presentation transcript:

Using the Canvas APIs to do Really Cool Stuff Chris Brandt, DVM, MS, PMP Brandon Edwards, TAP

Overview Quick history of LMS use at the SVM / Selection of Canvas Review of how the SVM is using the Canvas API to Provision course sites Create sections and groups Assignment of students to sections and groups Synchronize the class schedules and additional instructors Grade detail export

Background on SVM 4 year program ~140 students / year Year 1-2: Block Curriculum Year 3: Emphasis options (Small Animal / Livestock / Equine) Year 4: Clinical rotations ~20 Courses per term ~50 Senior Clinic Sites Most courses have > 10 instructors

History 2005 – Sakai (CERE) / Ilios (CREST) 2013–2015 – Evaluate LMS options with Campus 2016-2017 – Pilot Canvas Fall 2017 – Canvas Full Production

Selection of Canvas – Critical Requirements Update the schedule automatically Custom student schedules Automate membership updates Access to the data Whatever other crazy ideas we come up with in the future…

Everything* that Canvas does when you view or save something is done via API

API Basics Documentation - https://canvas.instructure.com/doc/api/index.html Subaccount Admin Create API Token Chrome Dev Tools / Postman

Chrome Dev Tools

Automation of Course Provisioning Automate course provisioning to include Basic Course settings Additional LTI tools with custom endpoints Creation of sections and groups Assignment of students to sections and groups

Course Provisioning – Basic Course Settings Set End Date for course to July 1 + 4 years from now. Set Grading Mode to SVM Grading Scheme Set “Restrict to Course Dates” PUT https://canvas.ucdavis.edu/api/v1/courses/[CourseID] course[start_at]=2018-08-13T07:18:00Z course[end_at]=2022-07-01T00:00:00Z course[restrict_enrollments_to_course_dates]=true course[grading_standard_id]=124 PUT https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/settings restrict_student_past_view=false

Course Provisioning – Syllabus Body

Course Provisioning – Syllabus Body Build out the text from CREST data Header Image Course Description Block leader emails PUT https://canvas.ucdavis.edu/api/v1/courses/[CourseID] course[syllabus_body]= <p><img src=https://secure.vetmed.ucdavis.edu/Crest/CourseBanners/VET412.jpg></p> <p>Basic mechanisms, etiology, causes and the approach to diagnosis and treatment of cancer with emphasis on veterinary patients.</p> <p><strong>Block Leaders: </strong></p> <pre>Michael Kent <a href=mailto:mskent@ucdavis.edu>mskent@ucdavis.edu</a></pre> <pre>Luke Witten <a href=mailto:lwittenburg@ucdavis.edu>lwitten@ucdavis.edu</a></pre> <p><a href=mailto:mskent@ucdavis.edu,lwitten@ucdavis.edu>Email All Block Leaders</a></p>

Course Provisioning – Redirect tools in Nav

Course Provisioning – Redirect tools in Nav

Course Provisioning – Redirect tools in Nav POST https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/create_tool_with_verification/ custom_fields_string: consumer_key:N/A shared_secret:N/A name:My New Redirect Tool app_center_id:redirect config_settings: name:My%20New%20Redirect%20Tool url:https%3A%2F%2Fwww.google.com new_tab:1 course_navigation:1

Course Provisioning – Sections & Groups Identify which sections and groups are required for this course Grab the data from Canvas for which sections exist Create any missing sections Repeat for groups

Section Hierarchy - Eighths Whole Class 1 2 1A 1B 2A 2B 1A1 1A2 1B1 1B2 2A1 2A2 2B1 2B2

Section Hierarchy – Twentieths – Years 1 & 2 Whole Class 1 2 1A 1B 2A 2B 1AA 1AB 1AC 1AD 1AE 1BA 1BB 1BC 1BD 1BE 2AA 2AB 2AC 2AD 2AE 2BA 2BB 2BC 2BD 2BE

Course Provisioning – Sections & Groups Get Sections (GET) https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/sections Create Sections (POST) https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/sections course_section[name]=1AA Update Sections (PUT) https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/sections/[sectionID] course_section[name]=1AB Similar for Groups

Canvas – People List

Canvas Group Management

Synchronization of Class Schedule Course sessions and offerings are stored in Curriculum Database (CREST) No edits allowed directly in Canvas Student specific view based on Section membership Synchronization starts once the Course has been set to ‘Published’

Section Specific Calendar Events

Synchronization of Class Schedule For each course in term Get all the offerings from CREST Get all offerings from Canvas for Course GET https://canvas.ucdavis.edu/api/v1/calendar_events all_events=1 context_codes[]=course_[courseID] excludes[]=assignment excludes[]=child_events type=event page=1 per_page=100 Compare with CREST Create / Update / Delete as required Update CREST database with EventID

Synchronization of Class Schedule - Create POST https://canvas.ucdavis.edu/api/v1/calendar_events calendar_event[title]=ACT1 – Session Title calendar_event[location_name]=1047 VALLEY calendar_event[description]=INSTRUCTORS: CHRIS BRANDT calendar_event[context_code]=course_[CourseID] calendar_event[time_zone_edited]=Pacific Time (US & Canada) calendar_event[start_at]=2018-12-25T16:00:00Z calendar_event[end_at]=2018-12-25T17:00:00Z calendar_event[child_event_data][1][context_code]=course_section_[SectionID] calendar_event[child_event_data][1][start_at]=2018-12-25T16:00:00Z calendar_event[child_event_data][1][end_at]= 2018-12-25T17:00:00Z

Synchronization of Class Schedule – Update PUT https://canvas.ucdavis.edu/api/v1/calendar_events/[EventID] calendar_event[title]=DSL1 - Examination of the respiratory/cardiovascular tract in large animals-review calendar_event[location_name]=TBA calendar_event[description]=INSTRUCTORS: CHRIS BRANDT calendar_event[context_code]=course_[CourseID] calendar_event[time_zone_edited]=Pacific Time (US & Canada) calendar_event[start_at]=2018-10-15T15:00:00Z calendar_event[end_at]=2018-10-15T17:00:00Z

Synchronization of Class Schedule – Delete https://canvas.ucdavis.edu/api/v1/calendar_events/[EventID]

Synchronization of Instructors Get all assigned instructors for the course Get the currently assigned instructors Create or Delete as necessary GET https://canvas.ucdavis.edu/api/v1/courses/[CourseID]/enrollments role[]=TeacherEnrollment,per_page=100,page=1 POST https://canvas.ucdavis.edu/api/v1/sections/[SectionID]/enrollments enrollment[type]=TeacherEnrollment, enrollment[user_id]=sis_user_id:[BannerID], enrollment[role_id]=[RoleID], enrollment[enrollment_state]=active

Auditing the Course For Faculty / Staff who want to review material in course Get list of currently joined courses Select from list of available courses

Auditing the Course For Faculty / Staff who want to review material in course Get list of currently joined courses Select from list of available courses POST https://canvas.ucdavis.edu/api/v1/sections/[SectionID]/enrollments enrollment[type]=TeacherEnrollment, enrollment[user_id]=sis_user_id:[BannerID], enrollment[role_id]=[RoleID], enrollment[enrollment_state]=active

Auditing the Course – Concluded Courses If the course is already concluded, need to temporarily open it up for enrollment PUT https://canvas.ucdavis.edu/api/v1/courses/[CourseID] course[end_at]=2018-08-17T17:00:00Z course[restrict_enrollments_to_course_dates]=true POST https://canvas.ucdavis.edu/api/v1/sections/[SectionID]/enrollments enrollment[type]=TeacherEnrollment, enrollment[user_id]=sis_user_id:[BannerID], enrollment[role_id]=[RoleID], enrollment[enrollment_state]=active Then update back to the original close date and set “restrict…” to false

Course Grade Analysis Get Mean, Median, and Standard Deviation for Courses within Canvas

Course Grade Analysis Get Students in Course Get Assignment Groups Get Student Submissions for these students

Issues We Have Overcome Paging Only 100 results per request so need to chain these together Performance Each request takes ~200ms to return Use Threads to parallelize this work Data Oops… Department staff adding teachers / Tas – Sync removing them Add roles for “Teacher from CREST” / “Dept Proxy from CREST”

Questions?