Skip to content

An implementation of the LTI Memberships, Names and Role Provisioning and Course Groups services

License

Notifications You must be signed in to change notification settings

celtic-project/moodle-ltiservice_memberships_celtic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

LTI Memberships services for Moodle

This repository contains an implementation of the following 1EdTech Learning Tools Interoperability (LTI) services:

It enhances the existing Memberships service available in Moodle core as follows:

  • includes the username property in the NRPS response
  • adds the fully-qualified role for any role specified using its short form
  • adds Moodle-specific roles
  • includes the Course Groups service (Candidate Final, issued 1 October 2019)

Moodle versions 3.9 or later are supported so there is no need to upgrade to the latest release of Moodle to take advantage of newly supported services.

Installation

Moodle implements all LTI services as sub-plugins (of type ltiservice). So this implementation can be installed (and managed) in the same way as any other Moodle plugin:

  1. Log into Moodle as a site administrator
  2. Navigate to the Site Administration area
  3. Select the Plugins tab
  4. Click on the Install plugins link
  5. Click on the Install plugins from the Moodle plugins directory button
  6. Select External tool / LTI service as the plugin type
  7. Select the LTI Memberships service plugin
  8. Click on the Install now button

The service can also be installed manually by downloading the source code from the Moodle plugins directory or from the GitHub repository.

Implementation notes

This implementation extends the Moodle implementation of the official LTI services in the following ways.

Membership service

Names and Role Provisioning services

  • The response includes a member's username in a property named ext_user_username (to be consistent with the response from the Membership service)
  • The roles array for each member will include the fully-qualified name of any roles specified using their short name (in addition to the short name)
  • A Moodle-specific role is added for each Moodle role associated with the member; e.g. https://moodle.org/lti/user/role/editingteacher or https://moodle.org/lti/user/role/student

Context Groups service

  • A set_ids property is included in the response to provide support for groups which belong to more than one set (grouping). The property is an array of strings with an entry for each set to which the group belongs. The value of each entry is the ID of the set. The set_id property is also included in the response for those groups which belong to a single set, but is omitted when a group does not belong to a set or belongs to more than one set.

Feedback/issues

Please report any feedback or issues with this code via the Issues area of the GitHub repository.

About

An implementation of the LTI Memberships, Names and Role Provisioning and Course Groups services

Resources

License

Stars

Watchers

Forks

Releases

No releases published