Forks and improvements to the open source Canvas

189 views
Skip to first unread message

aristedes...@gmail.com

unread,
Jun 25, 2013, 12:05:57 AM6/25/13
to canvas-l...@googlegroups.com
I can see that there has been a fair bit of activity in the github repository for Canvas with a number of contributors to the code from outside the vendor. There are also a number of forks, but little documentation of where people are going with those forks and what they are accomplishing.

For our use-case (adult short course education) we did attempt to contact the vendor for a commercial license, but their pricing model (per user/per year) did not make any sense to our needs (short courses which might be as short as one 4 hour session, or as long as 6 months). So I'd like to see if there has been a community created around others with similar needs. Is this list it, or are there other places where people are discussing enhancements to the codebase?

I have no problem in contributing useful patches back to the vendors (good luck to them for releasing this as open source) as well as licensing under the AGPL, but some changes will not necessarily suit their main product goals. For us, we'd want to:

(1) add multi-tennant provisioning
(2) integration with our student management system

In particular for (2) we want to push enrolments and students from our system into Canvas, and integrate authentication (perhaps oauth). Ideally we also want to pull the outcomes back from canvas into our system so that we can perform the appropriate government reporting.

Has anyone done anything similar to this level of integration? Ideally we want the hooks to be as unobtrusive as possible, but there are quite a few bits of data to synchronise. We have a couple of developers to throw at the problem if we decide to go down this path, but it would be nice to collaborate with others if there is existing work in this direction.

Cheers
Ari Maniatis

Ryan Hiebert

unread,
Jun 25, 2013, 12:23:04 AM6/25/13
to canvas-l...@googlegroups.com
Multi-tenant is something that they use to differentiate their cloud
product, which AFAIK is the main reason its not in the Open Source
version.

Canvas has an SIS imports API just for the purpose of integrating
enrollments and students, and it can use LDAP, SAML, or CAS for
Identity federation.

I'll have to defer to others on getting data back into the SIS, my
school hasn't done this yet, and I don't know what the possibilities
are for that.

Ryan
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Canvas LMS Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to canvas-lms-use...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Cody Cutrer

unread,
Jun 25, 2013, 12:22:10 PM6/25/13
to canvas-l...@googlegroups.com
Ari,

For pulling outcomes back, Canvas supports pushing final grades to the SIS via a CSV format, or you can pull final grades or detailed outcome results via the API (https://canvas.instructure.com/doc/api/outcomes.html).

I would recommend that if you do any changes to the Canvas codebase specific to your use that you put as much as possible into a plugin. This will allow you to keep core canvas up to date easier.

Cody Cutrer
Software Engineer
Instructure

aristedes...@gmail.com

unread,
Jun 25, 2013, 8:09:07 PM6/25/13
to canvas-l...@googlegroups.com
Thank you for your replies. Very helpful to see that this forum is a good place to talk about code issues and how we might proceed. We will spend some time now with the code and try and understand it and see where the challenges lie.

One last follow up question: has anyone tried to run Canvas under jruby? For us, that opens up some nice options for deployment, but there can be a few differences in the way gems run under a Java environment.

Thanks
Ari

Brian Palmer

unread,
Jun 25, 2013, 10:07:21 PM6/25/13
to canvas-l...@googlegroups.com
The last time we at Instructure evaluated running Canvas under jruby (about 14 months ago), there were a lot of gem dependencies that just plain didn't work under jruby. I don't know if things have improved since then, or if the move to ruby 1.9 helped or hurt the gem dependency situation. I'd be interested to hear your experiences if you try it though.

-- Brian



Reply all
Reply to author
Forward
0 new messages