Sunday, February 21, 2016

2016 February 21~23 | 2016 MoodleMoot Japan | Pre-Conference Workshop | LTI and Connectivity

Delivering a Moodle LTI Workshop
I had the chance to deliver a 90-minute workshop at the 2016 MoodleMoot Japan on the subject of Moodle Connectivity using LTI Workshop. The focus of the workshop was to give the participants a chance to learn about how to use both consumer and provider aspects of LTI. In the workshop, I planned for getting some hands-on experience configuring LTI objects as well as seeing the grades being passed back from an activity.

The goals for the workshop were as follows:
  • Learn the basic concepts of LTI
  • Configure LTI consumer objects
  • Link several Moodle sites together by consuming the same provided object
  • Witness grades being passed back to a local Moodle site
  • Troubleshoot issues as they crop up
  • If time allows, have some discussion on LTI use cases or related items
The overall result of the workshop was a big success. Our group of about 20 participants broke up into 9 teams and configured 9 separate Moodle sites as consumers of one LTI object on a central provider site. Some of the teams configured individual Moodle activities as consumed objects and other teams configured the entire course as a consumed object. Issues such as browser compatibility cropped up during the workshop and were moved successfully around using group collaboration and troubleshooting techniques.

The remaining parts of this document detail the workshop activities and some of the results.
The background of the LTI Workshop I discussed regarding LTI was covered quickly in order to move the participants into the hands-on activities. Basically, the history of LTI, the IMS Global Learning Consortium's proposal for interconnectivity between learning tools was discussed. Also, some examples of which tools can configure consumers and provider aspects of LTI.
  • What is LTI? (5-minute overview)
    • Learning Tools Interoperability
    • Proposed by: IMS Global Learning Consortium
    • https://www.imsglobal.org/activity/learning-tools-interoperability
    • A standard by which tools can be provided/consumed in a cross-platform environment.
  • Some examples:
    • Moodle ← →  Moodle
    • Moodle ← →  Blackboard (haven't tested the provider aspects of Blackboard)
    • Moodle ← →  edX (haven't tested the provider aspects of edX)
Next, I grouped the participants into nine teams. They were each given a separate Moodle site which I configured on my development server. The Moodle sites were configured with version 3.0 which contains the External Tool activity. External Tool is the activity in Moodle which can consume an LTI object. This activity is provided out-of-the-box in standard Moodle since version 2.4.
  • Your Tools (these were given to the participants)
    • https://teamX.tallthom.com
    • X=1~9
    • Admin User: willsmith
    • Password: xxxx → Please take care!
Next, I assigned them the tasks they needed to complete. Our workshop was just 90-minutes long so it was important to get the participants moving. Basic Moodle administrator capabilities were assumed so I didn't spend time teaching course and activity creation. Instead, I covered making the LTI consumer objects.
  • Steps: Please get down to business ~ time is short.
    • Create a new course
    • Enroll some users
    • Make some LTI Consumer Objects (External Tools)
      • Some test sites try the entire course
        • OR
      • Some test sites try separate activities
    • DON’T FORGET CONSUMER KEY (See next slide!)
    • Enter some data in the activities and grade
    • View the local gradebook (after time ~ 15 minutes)
Typically, the LTI grade return cron process runs once per hour. However, I reconfigured the code to run every minute. The LTI provider site is configured to run cron once every 15 minutes, so the most the participants would have to wait to see results would be 15 minutes. If need be, I could log into the LTI provider site and manually run the cron which would have decreased the wait time for grades to pass back.

Some notes about the Consumer key: These are taken directly from the Moodle help screens and are critically important to users when creating the LTI consumer objects. The keys must be specified by the tool provider. Here is a direct quote from the help screens with the key points in bold italics:
For pre-configured tools, it is not necessary to enter a resource key here, as the consumer key will be provided as part of the configuration process. 
This field should be entered if creating a link to a tool provider which is not already configured. If the tool provider is to be used more than once in this course, adding a course tool configuration is a good idea. 
The consumer key can be thought of as a username used to authenticate access to the tool. It can be used by the tool provider to uniquely identify the Moodle site from which users launch into the tool. 
The consumer key must be provided by the tool provider. The method of obtaining a consumer key varies between tool providers. It may be an automated process, or it may require a dialogue with the tool provider. 
Tools which do not require secure communication from Moodle and do not provide additional services (such as grade reporting) may not require a resource key.
The main danger here is configuring more than one External Tool on a Moodle site each having a different consumer key. If the key is different, then the access to the LTI Provider will appear as a separate and unique Moodle site. This can cause confusion with one Moodle site creating duplicate users -- one LTI user for each activity consumed.

I then provided the participants with the information for setting up the External Tools. I gave each team a link to my slides so they could copy/paste the information.
  • The Entire Course (one External Tool)
    • Course: 2016 MoodleMoot Japan LTI Workshop
    • 005a2830096b66ffe10dd4a711dbd573
    • https://(url witheld)/local/ltiprovider/tool.php?id=17
  • Assignment/Quiz LTI Provided Objects (two External Tools)
    • Assignment: 2016 MoodleMoot Homework
      • 031857cd54fcfc1884bb29369e967a4f
      • https://(url withheld)/local/ltiprovider/tool.php?id=18
    • Quiz: 12 Listening - I love that song!
      • 8f4bc474117c09b09721ae7dad48c0e4
      • https://(url witheld)/local/ltiprovider/tool.php?id=19
I showed the users the difference between configuring the External Tool globally for their entire Moodle site (Administration-->Plugins-->Activity Modules-->LTI-->Manage external tool types) and also just locally for the course. Here is an overview of the settings when configuring globally:

(Note: This is in the Global settings for LTI External Tools. Example is "Entire Course.")
  • Tool name: LTI Course
  • Tool base URL: https://(url withheld)/local/ltiprovider/tool.php?id=17 
  • Consumer key: teamX_tallthom_com 
  • Shared secret: 005a2830096b66ffe10dd4a711dbd573
  • Show tool type when creating tool instances: (checked, otherwise won't be selectable in a course)
  • Default launch container: Embed, without blocks
We did learn that when the default launch container was set to "Embed" that the External Tool activity would not function with Microsoft's Internet Explorer browser. However, research by one of the workshop participants showed that setting the launch container to "New Window" would bypass this problem in IE.

Once participants had set up the External Tools in the site-wide configuration, they could then create the tools locally in the course as long as they had checked the "Show tool type when creating tool instances" checkbox. From there the workshop proceeded smoothly and participants each reported grades being returned to their local grade book.

At a later time, I will try to add more to this post on configuring the LTI provider objects, however I hope this explains things enough to give an overview of configuring LTI on a Moodle consumer site.

No comments:

Post a Comment