Automatic RollCall Attendance Exporting

Jump to solution
GuyMor
Community Member

Hello,

In lieu of an API call to get attendance into Student Information Systems, is it possible for us to receive a scheduled attendance report and have it automatically mailed to us by Canvas or by the Instructure customer support team on a daily basis? 

Thanks,

 

Guy Mor

 

Labels (1)
0 Likes
1 Solution
James
Community Champion

@GuyMor 

It is possible, but not trivial, to tell Canvas to automatically generate and email the attendance report.

When you launch the attendance report from the Admin > Attendance > Generate Report tab, it launches the RollCall Attendance LTI. That means that if you can get to that page through automation, you can schedule it yourself.

There are a couple of ways to get there.

  • Use a headless browser such as Puppeteer or Selenium.
  • Use a program that accesses the API and launches the LTI and then completes the form.

I used the second method (used past tense -- the server that contains the code decided not to recognize its network connection this summer and I cannot reach that server except by logging in at the console. Thankfully, I had the code backed up, but haven't found time to set it up on another system). I would use the API call to get a sessionless launch url for the rollcall LTI, launch it, navigate through the redirects until I got the page with the form. Then I would fill out the form and submit it three times (once for each of the three previous weeks to give faculty a chance to catch up with a backlog of entry), and then wait for the emails to come. I had the email setup so that it went to a special account that intercepted it and processed the file automatically, adding the information to a database that was available locally for analysis.

The first way may be easier if you can get logged into Canvas through the browser in an automatic way. You would still go to the form, but it would be inside Canvas. I've done some things with Puppeteer and could probably automate it if I hadn't already written the script to do it through the API.

Whether you intercept the mail and automatically process it or you just send it to someone's email and they manually process it is separate from generating the email.

Getting the information into the SIS is a completely different task than getting it out of Canvas. Our SIS doesn't support attendance, but I was gathering the information for an early alert system.

View solution in original post