Supporting Open Source Software for Education

rSmart

 

Share |

Sakai Conference Highlight: Basic LTI

Blogged by:

There was a lot of buzz at the Sakai conference around BasicLTI. Basic LTI is a standard way for externally provided tools to integrate with an learning management system or portal. It allows an LMS to launch into the external tool and securely provide user identity, course, and role information.

In the past, people have been doing this by maintaining custom integrations. It meant that, if I'm the author of a webcast tool and I want to integrate with Blackboard, moodle, and Sakai, I am probably going to have to hire someone to learn the ins and outs of developing in all three of those environments, or learn that knowledge myself. In addition, I'm going to have to provide code or patches, or otherwise participate in the build/deployment lifecycle of the LMS. Not to mention I'm probably going to have to deploy my integration to multiple servers, if it running in the cluster, and recycle the application to get it up and running.

BasicLTI changes all of this. External tool providers need to simply modify their tool to talk BasicLTI, and then their tool will run in
any LMS system that supports the standard. In the case of Sakai2, for the most part, BasicLTI integrations can be configured at runtime like any other tool. This means no more re-cycling Sakai to hook up an integration, no more patches, and custom code.  Pretty cool stuff.

So how does it work ?

From the user perspective the tool shows up in Sakai just like any other tool.  The user clicks on the tool, some magic happens, and then the tool appears.

What's the magic ?

When you click on the BasicLTI tool, your browser sends a request back to Sakai, which then looks up your user, course, and role information, and packages that up into a form, signs it with OAuth and sends it back to the browser.  The browser submits the form to the external tool, using javascript. The external tool validates the signing by looking up a secret, and then provisions any user, course, and session information and redirects back to itself to actually launch the tool.

It all pretty simple, yet powerful, and that is one of its greatest
strengths.  Because its so lightweight, there's no giant syncing of
data back and forth, everything happens on the fly.  The hope is this
translates to wide adoption.  If you visit,
http://www.imsglobal.org/cc/statuschart.html, you can see a list of
providers and consumers.

What's next?

Right now there is BasicLTI support in Sakai2 as a separate tool, and inside Melete 2.7. There is also talk of creating a resource handler that would allow a launch from within Resources. The next version hopefully out next year, will include support for the Full LTI spec. This includes the notion of outcomes, which means external tools can send grades back, as well as sending over the full roster list.

I think its really useful right now. I'm excited to watch all the BasicLTI producers come on board. The hope is that is greatly speeds up the time to market for new integrations and new functionality with Sakai. So if you meet an external vendor who has some cool
functionality they want to integrate into Sakai, tell them about BasicLTI, its an easy sell.

John Bush, rSmart VP of Engineering

Post new comment

The content of this field is kept private and will not be shown publicly.