How-to: embed rich HTML5 content into Open edX using H5P and LTI

Haaa, content-wise I made some different choices and visually I would be ashamed to compare to your blog post. I basically stood by the concept of “5-7 easy steps to…”.

Noticeable differences:

  1. I make them add the advanced module before the passport since the LTI passports window is hidden until the advanced module is hidden (on our platform at least)

  2. Our author site seems to not require any client key, therefore its value is arbitrary in the advanced settings.

  3. Since our users edit their h5p on Moodle, they have to use the custom parameter [“force_embed=1”] to prevent the whole Moodle UI to display inside the frame.

  4. Images are real, working examples with real values on my tutorial (in-house wiki), so it lessens the risk of error from our staff and they can troubleshoot by adding these values to the parameters in case nothing else works, to troubleshoot.

Creating an LTI_consumer to integrate H5P on open edX: (images ommited)
1- Create the activity in your h5p author platform.
2- Publish the activity as LTI (depending on the platform, lookup the according tutorials)
3- Enable LTI on the target edX course (advanced settings> List of advanced modules> add “lti_consumer” to the list of advanced modules
4- Create an LTI Passport (Advanced Settings> LTI Passports).
The ID and the client_key are arbitrary values. The secret_client corresponds to the “Secret” provided by your author platform (see step 2)
Each LTI component of the course must have its own passport, with an ID and a unique “Secret”.
5. Create a LTI Consumer xbloc (Unit> Advanced xBlock> LTI Consumer)
6. Edit the block:
LTI ID = Identifier chosen in step 4
LTI URL = Launch URL provided by author platform
Custom Parameters = [“force_embed = 1”] to nest only the H5P rather than the entire author platform interface
7. Validate the values ​​of the other parameters before saving and check that the LTI embed has worked well. Some H5P activities take up to 30 seconds to load, be patient.

Hey that’s all I can think of for now. Have a dashing day.

1 Like