How do I integrate an OpenOlat course into Moodle?
Objectives and content of this instruction
You have created a course in OpenOlat and would like to offer it outside your OpenOlat on a Moodle platform?
The following instructions show you the procedure step by step.
Target group
[x] Authors [ ] Coaches [ ] Participants
[ ] Beginners [x] Advanced users [x] Experts
Expected previous knowledge
- Administration manual: LTI 1.3 Integrations >
- Administration manual: LTI - External Platforms >
- User manual: Configure LTI access to a course >
To display an OpenOlat course on another platform, in the following instructions this is Moodle, a connection is established according to the LTI 1.3 standard (Learning Tools Interoperability).
So that the users of the Moodle platform can access the OpenOlat course from their system, the two platforms must communicate with each other, and on the OpenOlat side the course (and only this course) must be released for this external access.
Requirements
Administrator access must be ensured in both systems for the configuration. In OpenOlat, the System administrator role opens the system administration, where the external platform is entered. Who may release a course via LTI is defined by the system administration in the "Configuration" tab under Administration > External tools > LTI. Preferably, the configuration is done on both systems at the same time, since certain dialogs have to be configured in both systems in direct succession.
Configuration procedure
- Setup "External Tool" in Moodle
- Setup "External platform" in OpenOlat
- LTI release of the course in OpenOlat
- Embedding the external tool (=OpenOlat) in the Moodle course
- Connection test
1. Setup "External Tool" in Moodle
The administration of the external tools in Moodle is located under the following path:
Site administration > Plugins > External Tool > Manage Tools

For the configuration with OpenOlat, the option "configure a tool manually" must be selected.

The following parameters must be defined in the dialog as minimum requirements:
| Field | Comment |
|---|---|
| Tool name | Freely definable |
| Tool URL | Direct link to the OpenOlat course. The URL has the following format: https://<OpenOlat-URL>/auth/RepositoryEntry/<Course-ID> (Make sure that no / is added at the end of the URL.) |
| LTI Version | LTI 1.3 |
| Client ID | Only becomes visible after saving in this form |
| Public key type | RSA key |
| Public key | Is generated in OpenOlat, can only be entered afterwards |
| Initiate Login URL | Initiate login URL, format: https://<OpenOlat-URL>/lti/login_initiation |
| Redirection URL(s) | Redirection URL, format: https://<OpenOlat-URL>/lti/login |
| Tool Configuration Usage | Show in activity chooser and as a preconfigured tool |
| Default Launch Container | New window (OpenOlat only supports running the courses in a new window.) |

After saving, you can call up further details in the overview via the details link in the LTI tool. The details are needed for the setup of the external platform in OpenOlat:

2. Setup "External platform" in OpenOlat
The administration of LTI 1.3 is located in the system administration of OpenOlat under the following path:
Administration > External tools > LTI

In the "External platforms" tab, enter the Moodle instance with the "Add external platform" button:
| Field | Comment |
|---|---|
| Name | Freely definable |
| Platform ID / Issuer | URL of the Moodle instance |
| Client ID | Client ID from the "Tool configuration details" dialog in Moodle |
| Public Key Type | Public Key -> this key is then added to the tool configuration on Moodle |
| Authorization | From Moodle: Authentication request URL |
| Token URI | From Moodle: Access token URL |
| JWK-Set URI | From Moodle: Public Keyset URL |
After completing the form, enter the public key on Moodle in the tool configuration.

3. LTI release of the course in OpenOlat
An OpenOlat course (or an OpenOlat group) is released in the settings under the following path:
Course > Administration > Settings > Tab "Share" > Section "LTI 1.3 access configuration"

Add a deployment for the course (or the group) with the "Add deployment" button:
| Field | Comment |
|---|---|
| Platform | Selection of the configured Moodle instance |
| Deployment ID | From Moodle: Deployment ID from the "Tool configuration details" dialog. The same deployment ID may be used in several courses of the same platform, but only once in the same course. |
| Tool URL | Provided by OpenOlat, read-only. The Tool URL of the external tool in Moodle from step 1 must begin with this address. |
| Initiate login URL, Redirection URL | Provided by OpenOlat, read-only. The same addresses are entered in Moodle in step 1 under Initiate Login URL and Redirection URL(s). |
| Public Key | The public key of the selected platform, read-only. It is the same key as in the dialog of the external platform from step 2. "Public Key Type" switches the display between "Public Key" and "URL". |

If several OpenOlat courses are to be reachable via the same deployment ID, share each course individually. More about this in the user manual under:
One deployment ID for several courses >
You can find more about the LTI 1.3 access configuration section in the user manual under:
Course settings - Tab Share >
4. Embedding the external tool (=OpenOlat) in the Moodle course
The external tool (OpenOlat) can now be inserted in the Moodle course.

The configured OpenOlat course can be selected here in the external tool on Moodle as a "preconfigured tool".

5. Connection test
Whether the configuration has worked can be checked with a simple test call.

The link in Moodle should open the desired OpenOlat course in a new window.
Attention
If you are already logged in to OpenOlat in another tab, you will be logged out there.
In the OpenOlat course, you can verify the test call in the members management: the LTI call has created a new account and added it to the group "LTI: name of the platform".

Further information
Mentioned on this page
LTI 1.3 Integrations >
LTI - External Platforms >
Configure LTI access to a course >
Course settings - Tab Share >
Further reading
Configure LTI access to a group >
Course Element "LTI Page" >
LTI - External tools >
LTI - Deep Linking >
LTI - Role mapping >