What is it all about?
● What is Integration?● Most common types of Moodle integration● Moodle web services● Successful integration examples
What is integration?
Integration is defined in information technology as the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.
Most common types of Moodle integration
User provisioning / SSO Enrollment Plagiarism
Assignment submission / feedback Activities
Other types
User provisioning
LDAP server auth_ldap (core)
CRM, SMS web services (core)
Database auth_db (core)
Facebook and etc auth_oauth2 (core)
Enrollment
Plugins
● External database (enrol_database in core)
● Flat file (enrol_flatfile in core)
● LDAP (enrol_ldap in core)
● Paypal (enrol_paypal in core)
● User profile fields (enrol_attributes)
● Other commerce plugins
Moodle Web Services
Activities
● Collaboration
● Display content of the 3rd party service provider
● Usually service providers support activity plugins
Other types of integration
● Analytics
● Text filters
● Repositories
● Portfolio
● Text filters
● AWS
● LTI
Moodle web services
● 430+ web services in Moodle core
● Support REST, XML-RPC, SOAP
● Comprehensive documentation on moodle.org
● Automatically generated documentation
● Easy to implement new web services
Examples
Authentication User profilesPaymentsSubscriptions
CMSDisplaying a list of coursesDisplaying course summaryManage EnrollmentContent access controlProducts management
Learning content
Auth plugin
Web services
Auth plugin
Web services
Examples
● Custom plugin to pull data to a local table
● Custom plugin to populate custom tables by enrolment data
● Core enrol_database to sync users using local tables from moodle DB
● Complicated database structure
● Complicated enrolment rules
Studentmanagementsystem