How to make your LMS LTI-compliant?

Product Development
Sofiia Khytra
Android Developer
Java Engineer
Head of Front-End Chapter
Human Resources Manager
Business Development Manager
Head of Java Chapter
Business Development Manager
Business Development Manager
Business Analyst
Business Analyst
Project Manager
Project Manager
UX/UI Designer
IT Lawyer
Chief Technology Officer
Chief Executive Officer
Head of Engineering
Head of Mobile Chapter
Content Manager
Marketing Manager
Head of QA Chapter
Head of QA Chapter
Web developer
Head of Mobile Chapter

Table of Contents

  • What is Learning Tools Interoperability (LTI)?
  • Why should your LMS be LTI-compliant?
  • Making your LMS LTI-compliant

What is Learning Tools Interoperability (LTI)?

If you are working with educational technologies, you’ve probably heard about Learning Tools Interoperability. What’s this exactly you may ask? A LTI - is an educational technology that allows learning management systems (LMS) to host third-parties’ content and tools without requiring end-users to log in separately on external systems. 

To enable this functionality, a LMS should comply with LTI requirements. So, let’s find out why it is worth the time to make your custom LMS compliant with a LTI technology and how it works on the technical end. Stay tuned!  

Why should your LMS be LTI-compliant?

Many different arguments have been made against LTI’s such as, Learning Tools Interoperability is far too much effort and provides little in return. This is often caused by the endless documentation and perplexing standards needed and would make anyone shiver at the thought of it. Our advice is be tough, don’t let it fool you. A great result of staying the course is that once your LMS is LTI compatible, the learning opportunities are endless for you and your customers!

Making your LMS LTI-compliant turns it into a universal learning tool. Want to provide your users with a couple of economics courses? Not that big of a deal. Not only does LTI enable you to access a wide range of learning materials, but it also provides you with all the metadata required, including learning standards. Yesterday your LMS had a couple of economics courses, and today it’s a whole economics curriculum.

Learn more about corporate Learning Management System development.

Just a thought: How much would it cost to produce a complete course for your LMS? What about ten courses? And what about hundreds of courses and learning materials your LMS with via LTI can furnish? Pay specific attention here, the great secret is many of them are free to use.

A LTI is a must-have for any LMS looking to provide its users with diverse content. What if you didn't have an LMS in the first place? It’s time you got one! With everything trending towards globalization and digitalization going on and with the pandemic as an additional obstacle, online learning is here to stay. 

Need a high-quality Learning Management System?
Get a free consultation with Axon manager and find out about EdTech development capabilities.

Making your LMS LTI-compliant

Let’s look at the technical side of this question. LTI technology based on the protocol that works both ways from LTI Tool Provider to LTI Tool Consumer and overwise.

LTI Tool Provider is an application or content delivery system that is integrated with consumers tools. It's the central data archive that contains a standardized form of object management resources for the easiest integration to the many different LMS’s available.

LTI Tool Consumer is your LMS which provides the possibility to have user management and future interaction capabilities with learning management objects between integration with provider tools.

The connection between provider tool and consumer tool is called 'launching'. The connection is carried out using HTTP Post requests with special parameters. The required of them are: 

  • lti_message_type
  • lti_version
  • resource_link_id 

These parameters help to provide resource links, context (typically the course), the role of the user, and other main information for the LMS. 

All the POST and GET requests should be secure that's often why OAuth is used to secure the consumer tool to allow the tool provider to verify their authenticity. To the above mentioned parameters you should add the following OAuth parameters: 

  • oauth_consumer_key
  • oauth_signature_method
  • oauth_timestamp
  • oauth_nonce
  • oauth_version 
  • oauth_signature
  • oauth_callback

A consumer key is assigned by the provider tool which is unique for different consumers tools. The timestamp also should be checked to ensure it is current. This mechanism ensures that the data has not been changed. 

Below a visual representation of the step-by-step process of the LTI launch is shown:

The process of the LTI launch
  1. The customer tool sends the request to the tool provider.
  2. The LMS checked information about users, courses and signed in to the provider tool using the OAuth standard.
  3. The tool provider sends data and secret key back to the consumer tool.
  4. The LMS sends launch data and secret key to the LTI Provider.
  5. The tool verifies launch and secret key to process data.
  6. LTI Provider sends content to the LTI Consumer.

As you can see, a LTI could really empower your educational software. All that is required - the right implementation of this technology. Are you interested in making this happen for your software project? Let’s talk!

Thanks for reading our publication! In our next blog post, we will tell you about the development of gamified LMS: trendy features and required technology stack. Hit the link!

Axon Development Group
March 19, 2021
Product Development

readers who are obsessed with delivering great customer service.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Expertly curated emails that’ll help you deliver an exceptional customer experience.

Contact with us

Upload file with the file dialog or by dragging and dropping onto the dashed region

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.