Your Community is getting an upgrade!
Read about our partnership with Higher Logic and how we will build the next generation of the Instructure Community.
Found this content helpful? Log in or sign up to leave a like!
Hello,
I'm instructor that uses the Canvas LMS for a number of courses. Using the the API tokens for my courses, I developed scripts that automated some of the grading. This involved a polling loop that queried whether or not submissions were available for grading, pulling the submissions down to a specifically configured machine, grading the submission, and then uploading grade+comment+rubric assessments to the student's assignments. I was wondering if there is any way to port this into a custom Canvas App or Integration? Rather than having a polling script, it would be better if this process could be directly triggered from a student submission. Would this be possible? Are there any guides to doing this?
To get away from having your scripts poll Canvas for changes you can use Live Events. To support this you would write a some code that processes the web request and examines it's payload to perform the appropriate action. The code that does this needs to be running on a server somewhere so that Canvas can contact it at the correct point.
Normally to setup live events you need access to the root account on the Canvas installation and you will get live events for all Canvas courses (you can then ignore courses not supported). There's an internal API that allows a LTI tool to subscribe to live events in specific courses or accounts, but as far as I'm aware this isn't available to external tool developers. You can see the implementation of the API here: https://github.com/instructure/canvas-lms/blob/master/app/controllers/lti/data_services_controller.r...
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign InTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign In