Your Moodle version

General plugins (Local): LTI Provider

local_ltiprovider
Maintained by Picture of Juan Leyva Juan Leyva
This is a local plugin for making Moodle a LTI provider tool. It can be use to provide access to full courses or activities from remote systems (other Moodle installations, Sakai, any LMS LTI consumer compliant)
Moodle 2.2, 2.3, 2.4, 2.5, 2.6

About this plugin
This is a local plugin for making Moodle a LTI provider tool.
It can be use to provide access to full courses or activities from remote systems (other Moodle installations, Sakai, any LMS LTI consumer compliant)
Please note that since Moodle 2.2 there is a core activity plugin called "External tool" that is a LTI consumer.


Why this plugin
This plugin allow remote systems users (LTI consumers) access to Moodle courses or Moodle activities inside a course.
Moodle (version 2.2 and onwards) is a LTI consumer tool also.
You can use this plugin to share activities and courses between Moodle installations without configuring a Moodle network.
You can also share activities and courses with other LTI consumer tools like Sakai

You have an excelent review of this plugin here

Main features

  • Provide access to full courses or single activities.
  • Single sign on
  • Change the navigation block of a course or activity for displaying information and links only regarding to your current course.
  • Send backs course or activity final grades to the LTI consumer tool
  • Modify the course or activity page for hiding the header, footer and left or right blocks

Default installation instructions for plugins in category General plugins (Local)

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "mylocal") in the "local" subdirectory.
  4. Visit http://yoursite.com/admin to finish the installation

Credits

This plugin uses code developed by IMS licensed as MIT

Fore more information: https://github.com/jleyva/moodle-local_ltiprovider/blob/master/ims-blti/LICENSE.txt

Support

Please, visit the help forum post

Contributors

Picture of Juan Leyva
Juan Leyva (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Charles Severance
    Thu, Jan 5, 2012, 9:22 PM
    Juan, this looks great. I will grab it and start playing with it.
  • One poor developer...
    Mon, Jan 9, 2012, 7:24 PM
    I (love) Juan Leyva
  • Picture of Charles Severance
    Mon, Jan 9, 2012, 9:33 PM
    I am an instant fan of Juan Leyva!
  • my image of me
    Wed, Sep 26, 2012, 3:33 AM
    Is this fully supported in Moodle 2.3? I know it mentions 2.2+ onwards but I wondered just how many people were running it in 2.3 and what sorts of issues they were having.
  • Picture of Mark Palkhivala
    Tue, Oct 2, 2012, 6:05 AM
    Juan, first off, excellent work on this! does this plugin *always* create users on the new system based on the user_id passed? Is it possible to pass some information to co-relate with an existing moodle user?
  • Picture of Chris Kenniburg
    Wed, Oct 17, 2012, 1:04 AM
    THIS IS GREAT. Thank you Juan. Works really well and I appreciate this plugin.
  • Picture of Lou Ferrigno
    Thu, Jan 24, 2013, 3:37 AM
    Hi Juan,

    this code is very useful. The POX xml namespace in function ltiprovider_create_service_body() is incorrect. It needs to be:

    http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0

    Most LMSs don't care, but Blackboard threw a 500 error until I fixed it. Well, someone else pointed it out and I edited my code. I retested and can still sync to another Moodle install.

    Thanks,
    Mike
  • my picture
    Thu, May 23, 2013, 6:46 AM
    Hi, I'm also a fan of this plugin.
    I found out that Moodle (2.4) terminates user sessions after cron is run, since users are created with 'nologin' authentication method.

    To avoid the problem, comment this line on /lib/sessionlib.php:
    unset($auth_sequence['nologin']); // no login allowed

    Maybe in future versions there will be a better fix for this.
  • Picture of Brendan Lalor
    Mon, Jul 1, 2013, 11:39 PM
    I am playing with this exciting plugin in Moodle 2.4, but my institution is looking at moving to 2.5 before August. So I'm hoping you have an idea of when you'll have a 2.5-friendly version. (I didn't succeed in getting this to work in 2.5 -- it's not supported yet, correct?)

    Thanks for the work on this! I'm poised to become a big proponent of the plugin in my state college system.
  • Picture of tim wilde
    Mon, Jul 29, 2013, 5:55 PM
    Hi,

    We are currently using the LTI provider software, but would like to make some changes so that we can embed an LTI object without blocks and use some custom CSS to hide some parts of the embedded object

    Test link as follows. (This has guest access)

    http://institute.safetyline.wa.gov.au/testmoodle25/mod/lti/view.php?id=2597

    All works fine in Firefox, Chrome and IE9 but in IE10 nothing is hidden in the embedded object.

    I have set the following parameters on the LTI provider config;

    Hide footer - Yes
    Hide block left - Yes
    Custom CSS – As follows

    #custommenu {display:none !important;height:0px !important;}
    .navbar {display:none !important;height:0px !important;}
    #region-main {margin-left:0px !important;padding:0px !important;}
    #page-footer {display:none !important;height:0px !important;}
    .helplink {display:none !important;height:0px !important;}
    #page-title-box {display:none !important;height:0px !important;}
    #header {display:none !important;height:0px !important;}

    Your help/ideas would be appreciated

    All the best

    Tim
  • Picture of Brendan Lalor
    Thu, Jan 23, 2014, 10:18 PM
    I'm happy to say my students are authenticated at our institution, and passed through via the "external tool" link to my site running lti_provider.

    The grades are not being pushed back to the institution, though. Here's the cron error report:

    Starting sync tool id 1 course id 3
    PHP Fatal error: Call to undefined function local_ltiprovider_create_service_body() in /home..../local/ltiprovider/lib.php on line 281

    Ideas?
Please login to post comments