Skip to main content

Moodle As An LTI® CMS

Using the Moodle LMS as an LTI®-Capable Content Management System

You have probably reached this guide because you have some amazing learning content. This might be in the form of:

  • Videos,
  • SCORM packages,
  • H5P content,
  • Quizes/Surveys/Polls,
  • PDFs and other written material

And now you have universities knocking down your door, begging for access to this content. And chances are, they are asking you to deliver this content with LTI®. You've got a couple of options:

  1. Contract a custom software development to create a content management and delivery system, build an LTI® adapter to connect with the universities,
  2. Use a free, open-source system that was literally designed to solve this exact problem 😉.

In some cases, option #1 has to be your choice, especially when the content you are delivering already requires custom software development. However, if your content is relatively conventional, you can use the Moodle LMS to easily solve this problem wholistically for you.


Moodle is a popular open-source Learning Management System (LMS) used worldwide for creating and managing online courses. With its robust features and flexibility, Moodle has become a go-to platform for educators and institutions. In this article, we will explore how to harness the potential of Moodle as an LTI®-capable Content Management System (CMS).

Using LTIAAS, you can turn a Moodle instance into a powerful learning content management system that can be integrated into all the popular LMSes, allowing you to share content across different platforms and institutions.

Developing Learning Content in Moodle

Moodle is a versatile Learning Management System (LMS) that supports the management of various types of learning content. Here's a list of the types of learning content that Moodle can help you manage:

  1. Text-based Content:
    • Lecture notes
    • Reading materials
    • Articles
    • Announcements
  2. Multimedia Content:
    • Audio files
    • Video files
    • Podcasts
    • Interactive multimedia presentations
  3. Interactive Assessments:
    • Quizzes
    • Surveys
    • Polls
    • Self-assessment tools
  1. Web Links and External Resources:
    • External website links
    • Online articles
    • Reference materials
  2. SCORM Content:
    • Sharable Content Object Reference Model (SCORM) packages
    • E-learning modules
  3. Certificates and Badges:
    • Automated certificate generation
    • Badge awards for achievements
  4. Surveys and Feedback:
    • Course evaluations
    • Feedback forms
    • Peer reviews
  5. Moodle Books:
    • Structured e-books within Moodle
    • Chapter-wise content delivery

Moodle's flexibility and extensive features make it adaptable to various educational contexts, allowing you to manage a diverse range of learning content to meet the needs of your company. Moodle has great documentation about managing content on their website.

Understanding Learning Tools Interoperability

We have seen that Moodle is very capable at managing learning content within its walls. Let's now try to understand how we can get the content from Moodle and delivery it to any other LMS at a university.

Learning Tools Interoperability, commonly known as LTI®, is a standard that enables the integration of external tools and content into an LMS or other educational platforms. LTI® promotes interoperability between different systems, making it easy to connect learning content with LMSes. In LTI® terminology there are two parts, Providers and Consumers. Generally speaking, Providers 'provide' the learning content, and consumers 'consume' the learning content.

All the popular LMSes support this standard LTI® protocol:

  • Canvas
  • Schoology
  • Blackboard
  • Sakai
  • Moodle
  • D2L

All these LMSes are LTI® Consumers, not Providers. Wait! If Moodle is a Consumer, how make it a Provider so it can connect to other LMSes?

LTIAAS-Powered Moodle

LTIAAS has developed a Moodle plugin that enables Moodle to be an LTI® Provider, letting it connect to other LMSes. The setup is simple:

  1. Create a Moodle server to host your learning content. We recommend to get started.
  2. Build up your learning content on that Moodle server.
  3. Create an account at
  4. Your LTIAAS account will have a domain and API key, add them to the Moodle plugin.
  5. Download and install the Open-source LTIAAS Moodle Plugin.
  6. That's it! now you can integrate your Moodle server as an LTI® Provider into any LTI®-capable LMS.


LTIAAS is uniquely designed to work exceptionally well with Moodle any other systems as your content portfolio grows.

  1. URLs generated by the LTIAAS Moodle plugin are portable. If you decide to move away form Moodle in the future, the same URLs and LMS registration will continue to work with any other content provider. With a simple micro-service and zero down-time, you can even support Moodle URLs alongside other content system URLs.
  2. LTIAAS supports deep-linking, this makes it easy for you to provide institutions with a portfolio of content, letting them choose which content to integrate with their LMS instead of manually passing around URLs.

Detailed instructions

Ok, those instructions are brief, let's dive into detail on how to do this.

Step 1. Create a Moodle server

If you don't have a Moodle server, yet you need to create one. Moodle is open-source and can be downloaded and hosted by you if you are savvy enough. If you don't want the hassle of managing your own Moodle server, is a very affordable and reliable Moodle hosting provider.

Step 2. Create an LTIAAS Account

Follow this guide to create an LTIAAS account. Once the account is created you will choose a domain and other API settings. Please use the following values:

Data RegionThe region in which you want your data hosted in. After this is provisioned, it cannot be changed. If you want to change your data region after provisioning, please contact If GDPR compliance is a concern, our EU servers are specifically designed to meet that compliance and fully reside within the EU.
SubdomainThis is the URL that we provision for your tool in our system. All of your API traffic will go through this URL. It is a subdomain of i.e. If you chose a plan with the Custom Domain option, you will be able to enter in a fully-qualified domain that you have DNS control over.
Tool NameThis is the title that is displayed in the LMS after the tool is linked.
Tool DescriptionThis is the short description that is displayed in the LMS after the tool is linked. Just a short sentence is best. Each LMS displays this differently.
Launch URLmoodle_domain/enrol/ltiaas/tool.php example:
Deep Linking URLmoodle_domain/enrol/ltiaas/content-selection/index.html example:
Logo URLThe URL to your tool's logo that will be shown in the LMS (through Dynamic Registration). If Dynamic Registration is not enabled or used, this logo is still shown to the user in the unlikely event of an error during the LTI® launch process. Recommended size: 128x128px. This should be a URL to an image hosted by you.
Dynamic Registration Auto-ActivationEnabling this will activate all registrations done through the Dynamic Registration API, If Dynamic Registration is enabled. If you want to approve every activation request first (i.e. after the customer pays you), then leave this disabled.
LTIAAS API Settings Page with Moodle Plugin URLs Highlighted

After saving and deploying the API settings, click the Generate New API Key button to get an API key.

Generate New API Key button

Step 3. Install The LTIAAS Moodle Plugin

  1. Navigate to and download from the latest release.
  2. On your Moodle Service, as an administrator, navigate to Site administration -> Plugins -> Install plugins
  3. Upload the file and click Install plugin from the ZIP file.
  4. Moodle will guide you through the installation process.
  5. After several guided steps you will be presented with the plugin settings page. Enter in the URL that you choose when creating your LTIAAS account. Also enter your API key that can be retrieved from the API settings page of your LTIAAS account.
Moodle plugin settings page
  1. Change any other plugin settings to your liking and save the plugin settings by clicking the Save changes button at the bottom of the page.
  2. After the plugin has finished installing, navigate to Site administration -> Plugins -> Enrolments -> Manage enrol plugins
  3. Find the row with "Publish as LTI® Advantage tool with LTIAAS" and click the eye to the right of it to enable the plugin.
Enable LTIAAS enrolment plugin in Moodle

The LTIAAS plugin needs a couple of Moodle services/settings enabled. IF you don't have them enabled yet, please do the following:

Enable LTI® Authentication

Navigate to Site administration -> Plugins -> Authentication -> Manage authentication. Enable the LTI® authentication method.

LTI® authentication method enable button

Enable iFrame Embedding

Navigate to Site administration -> General -> Security -> HTTP security and check the box for "Allow frame embedding", then click the Save changes button at the bottom of the page.

Allow frame embedding setting in Moodle

Step 4. Publish Content For LMS Consumption

After installing and setting up the LTIAAS Moodle plugin, you need to tell which courses and activities to publish through LTI®.

  1. As a teacher/Administrator, navigate to a Course.
  2. Click More -> Published LTI® Advantage tools with LTIAAS
  3. On the next page, click the Add button
  4. On the next page, set the values for the activity or course that you want to publish. Choose the course or activity to publish using the Tool to be published drop-down field.
Publish LTI® Advantage tool with LTIAAS settings with "Tool to be published" and grades settings highlighted

Step 5. Connect Your Tool To An LMS

Follow these guides to install your tool into an LMS.

Step 6. Accessing Content From An LMS

There are two ways that the LTIAAS Moodle plugin:

Option 1. Automatic assignment selection with Deep Linking

In most cases, you will be publishing a lot of different content, and you want the teacher to be able to select the content they want within their parent LMSes. LTI® Deep Linking, which is fully supported in the LTIAAS Moodle plugin, allows for this type of user experience. When installing your Moodle tool into an LMS, the LMS can choose to enable deep-linking. When they do this, the teacher will be presented with a content selection screen as shown below.

LTIAAS Moodle plugin deep-linking content selection screen

When the teacher selects a content-item to send back to their LMS, the LTIAAS Moodle plugin will generate a unique URL for that content for the LMS to use to launch that content.

Option 1. Manual URL generation/placement

You might not benefit from deep-linking if:

  • you are not publishing several different content items, for example you want to publish an entire course, or
  • you own both the Moodle server, and a single LMS that only you will be modifying.

In these cases, instead of using the content selection screen as described above, you can manually generate URLs that the LMS can use to access the specific content. When publishing content to the LTIAAS plugin in Moodle, there is a 'Launch URL' column of the published tools table.

LTIAAS Moodle plugin deep-linking content selection screen

When you tell the LMS to launch to this content, just have the LMS administrator use the URL from this table.


Moodle's compatibility with Learning Tools Interoperability transforms it into a dynamic and versatile Content Management System. By leveraging the power of LTI®, educators can enhance the learning experience by integrating a wide array of external tools and content seamlessly. This not only simplifies content management but also opens up new possibilities for interactive and engaging online education. Embrace the potential of Moodle as an LTI®-capable CMS to create a more enriched and collaborative learning environment for your students.

By using LTIAAS, as your company and goals grow, we make it easy for you to maintain existing LMS connections while transitioning to a more custom content system that might be outside of Moodle.

All trademarks, logos, and service marks displayed on this website are the property of their respective owners. LTIAAS is a trademark of GatherAct, LLC, doing business as LTIAAS. Learning Tools Interoperability (LTI)® and LTI® are trademarks of 1EdTech Consortium, Inc. LTIAAS is not affiliated with, endorsed or sponsored by 1EdTech Consortium, Inc. or by any other owners of third-party trademarks used on this website. LTIAAS is not responsible for the content, quality, or accuracy of any websites linked to or from this website that are not owned by LTIAAS. If you have any questions or concerns about the use of any trademarks or content on this website, please contact us.