Interacting with Canvas using Java

Jump to solution
Community Member

I'm at InstructureCon right now and have met people from a couple other institutions who are doing Canvas things in Java. I thought I would start a discussion here to see how many others there are out there.

Some background on where I'm coming from: I'm at Kansas State University and we are in the middle (hopefully towards the end) of our move from a home-grown LMS to Canvas. We have been writing some LTI applications to replicate functionality that was in our old LMS but is lacking in Canvas. Some things we are working on:

1) A replacement for the "People" page that has more information about students from our internal identity management database. I've seen at least two other institutions here at the conference who are doing something similar.

2) Scantron integration. We are still working out the details on how this will work because Canvas doesn't quite support some things we would like to do. But we did get a good alternative idea at the hack day on Tuesday here at the conference so we'll see how that plays out.

3) A replacement for the "Publish Grades to SIS" link in the grade book. It will check for common errors that prevent grade postings from going through and hold instructors' hands through the process better than the native Canvas functionality. (we use PeopleSoft)

We are a Java shop and are using Spring MVC and Spring security to handle authenticating the LTI launch request. I wrote some common code that handles that stuff so making a new LTI application isn't overly difficult.

One thing I would love to see happen is an open source Java library for talking to the Canvas API. The API interactions we are doing right now only involve a couple of endpoints and is integrated into our LTI code base but I might be able to get some time to work on pulling it out into an external library and fleshing it out. We'll see.

Any other thoughts on Java+Canvas out there?

1 Solution
Community Member

Another update. Today I wrote a blog post on here announcing our API library code being released under the LGPL v3 license. Please chime in: 

View solution in original post