Moodle is an interesting LMS. It's widely used across the education sector by both institutions and individuals who need a learning platform to host courses, share online resources, and grade assessments. Because it's used by such a broad audience, you'll probably receive requests to integrate your app with Moodle if you're an edtech developer.
Moodle integration works a bit different than some of the other major learning management systems, such as Canvas, Schoology, and Blackboard. There are two main methods to integrate with Moodle: through the LTI® standard or through the development and installation of a Moodle plugin. Here is what you need to know to create a Moodle integration.
LTI Integration for Moodle
LTI (or, Learning Tools Interoperability) is a standard from the IMS Global Learning Consortium that several learning platforms have adopted to provide interoperability. Applications that are LTI-compliant can work with any platform that is also LTI-compliant, as long as it's a supported version of LTI.
Moodle supports the most recent releases of the LTI standard: LTI v1.3 and LTI Advantage. Moodle allows users to launch into an LTI app from inside Moodle, itself. Typically, the app appears inside of an iframe in Moodle. Since Moodle supports LTI Advantage, your app can use the improved grade passback and enrollment provisioning services offered by LTI Advantage.
Integration With Moodle Plugins
Moodle does allow external applications to also integrate with Moodle environments through Moodle's Core APIs. However, if a developer wants to integrate with Moodle through these Core APIs, the developer of the app must create a Moodle plugin. This plugin, which must be written in PHP, must be manually installed in a school's Moodle environment by the environment's administrator.
The Core APIs can be used to access different parts of a Moodle environment depending on the role of the user that the plugin authenticates. For example, the plugin can write back to the user's Moodle gradebook, calendar, or profile. It can also be used to gather enrollment information to view a list of courses and roster information for the authenticated user.
The type of integration that you should build will depend on the needs of your customer. Some schools particularly need LTI integration with their Moodle environments. Others may be looking for a solution that includes features that are better supported by Moodle plugins, such as school or district-wide rostering. Thus, having solutions for both situations can prove to be valuable when trying to work with several schools.
If you need help making sure that your app works with any school's LMS, you should check out Edlink. We have quite a bit of experience with Moodle and have developed both LTI and API solutions for our clients. Our API can also help your app integrate with Google Classroom, Canvas, Blackboard, and other learning platforms. If you'd like to learn more, please email us at firstname.lastname@example.org or leave us a message at our support page.
Learning Tools Interoperability® (LTI®) is a trademark of the IMS Global Learning Consortium, Inc. (www.imsglobal.org). Edlink LTI integrations are not certified by the IMS Global Learning Consortium, Inc.