You are here

README.txt in LTI Tool Provider 7

The LTI Tool Provider module (lti_tool_provider) allows a Drupal site to serve
as a Learning Tools Interoperability (LTI) Tool in any Learning Management
System (LMS) supporting the LTI standard. Example LTI compliant LMSs are
Blackboard Learn, Moodle and Sakai.

Installation
Download and place the module in your sites/all/modules or other suitable
directory. 
Download the module dependencies,
        http://drupal.org/project/libraries
  lti_tool_provider_og submodule also requires
        http://drupal.org/project/og
    and http://drupal.org/project/entity
Download the OAuth.php library file https://github.com/juampy72/OAuth-PHP 
and place it in sites/all/libraries/oauth/
Enable the LTI Tool Provider module and optionally the LTI Tool Provider OG,
LTI Tool Provider Outcomes and LTI Tool Provider Memberships submodules.

Note on cookies
Many tool consumers embed LTI tools within an iframe. For users of IE this
will in some cases prevent the tool provider from creating cookies and prevent a
session being established. The easiest way to prevent this from occuring is for
the provider site to include a p3p header which causes IE to allow the cookies.
On the drupal tool provider site add the following three lines to the end of the
settings.php file.

if (!headers_sent()) {
  header('P3P: CP="We do not have a P3P policy."');
}
 

Administrative settings admin/lti_tool_provider

Configure Tool Consumers
Multiple Tool Consumers (LMS) are supported. Each should have a unique Key and
Secret which must match in the configuration of both the consumer and provider.
An account domain setting is available which will cause all accounts
provisioned from the corresponding consumer to have @domain appended to the
account name. Thus preventing account name conflicts between different tool
consumers.

Configure User Mapping
Accounts
LTI Tool Provider auto provisions Drupal user accounts using the LTI provided
user_id, optionally appended with the consumer account domain, as the Drupal
account name. It is possible to map the LTI provided lis_person_name_full,
lis_person_name_family and lis_person_name_given to any text field on the Drupal
user entity.
For example, create a field_fullname in admin/config/people/accounts/fields and
have LTI Tool Provider map lis_person_name_full to field_fullname, then use the
Drupal Realname module to use field_fullname for user name display.
If provided, the lis_person_contact_email_primary is mapped to the account mail
field otherwise a dummy email user_id@domain.example.com is used.
If provided, the user_image is mapped to the account profile picture.

Drupal Role Mapping
The roles provided from the LMS can be mapped to any Drupal global roles.
Note: If you map Administrator to Administrator, the admin of the LMS becomes
an admin of your Drupal site.

Course to Group Mapping
If you have the Drupal Organic Groups installed (7.x-2.x only, 7.x-1.x not
supported), LTI Tool Provider OG submodule will allow you to map LMS courses
identified by the LMS context_label, to a group type i.e. bundle. The
context_label can be mapped to the group title or any other text field
available on the group bundle. Optionally groups may be auto-provisioned when
a user with the required mapped role, performs an LTI launch. This user becomes
the Group owner. The context_id, context_label, context_title and context_type
are available to map to any text fields in the provisioned group entity.

Group Roles
If Course/Group mapping is configured, you may map any of the LMS roles to Group
Roles defined on the selected OG Group Bundle.

Launch URL
The LMS must be configured to launch the Drupal site with the path "lti".
e.g. https://www.example.com/lti
NOTE: the LTI specification requires the use of TLS for security in the OAuth
based LTI launch. You should use the Secure Pages module or other method to
support https at least to the launch url.

Drupal Landing Page
Upon launch, LMS users will be directed to the Drupal site home page unless
Course to Group mapping is enabled, in which case the user is directed to
the group node page for the group which corresponds to the LTI context_id.
The landing page can be overridden by a custom parameter, see below.

LTI Return URL
If it exists, the launch_presentation_return_url is provided as a user menu
item titled with the custom_return_label or "Return to LMS".
Returning to the LMS will log out the user from Drupal.

Home menu
A home menu item is provided as a user menu item titled with
custom_destination_label or resource_link_title or Home.

Custom Launch Parameters
Some LMS LTI implementations allow the configuration of custom launch
parameters.
The following custom parameters are processed by LTI Tool Provider.

custom_destination defines a landing page path, if provided it will override the
default (home page or group node) landing page. 

custom_destination_label defines a label to override the default Home menu
label.

custom_course_title defines an alternate course/group title, if provided, it
will be used as the group title when provisioning groups.

custom_return_label defines a label to override the default "Return to LMS" menu
label.

Language
It is possible to set the language in the Drupal Tool to match the 
launch_presentation_locale from the LTI launch context. First enable the locale
core module, then add the languages you wish to support at 
admin/config/regional/language. Download and install the language translations
for the languages you chose. Then check the box for Session on
admin/config/regional/language/configure.

This software was developed as a project of the 
Centre for Educational Innovation and Technology (The University of Queensland)

Contributors

John Zornig <j.zornig@uq.edu.au> 
Mabel Koh <mabel_xqw@hotmail.com>
Tan Kee Hock <tkh3600@hotmail.com>

Initial reviewers and testers
scottrigby <scottrigby@145945.no-reply.drupal.org>
mradcliffe <mradcliffe@157079.no-reply.drupal.org>
taslett <taslett@33096.no-reply.drupal.org>
btopro <btopro@24286.no-reply.drupal.org>
ELC <elc@784944.no-reply.drupal.org>

File

README.txt
View source
  1. The LTI Tool Provider module (lti_tool_provider) allows a Drupal site to serve
  2. as a Learning Tools Interoperability (LTI) Tool in any Learning Management
  3. System (LMS) supporting the LTI standard. Example LTI compliant LMSs are
  4. Blackboard Learn, Moodle and Sakai.
  5. Installation
  6. Download and place the module in your sites/all/modules or other suitable
  7. directory.
  8. Download the module dependencies,
  9. http://drupal.org/project/libraries
  10. lti_tool_provider_og submodule also requires
  11. http://drupal.org/project/og
  12. and http://drupal.org/project/entity
  13. Download the OAuth.php library file https://github.com/juampy72/OAuth-PHP
  14. and place it in sites/all/libraries/oauth/
  15. Enable the LTI Tool Provider module and optionally the LTI Tool Provider OG,
  16. LTI Tool Provider Outcomes and LTI Tool Provider Memberships submodules.
  17. Note on cookies
  18. Many tool consumers embed LTI tools within an iframe. For users of IE this
  19. will in some cases prevent the tool provider from creating cookies and prevent a
  20. session being established. The easiest way to prevent this from occuring is for
  21. the provider site to include a p3p header which causes IE to allow the cookies.
  22. On the drupal tool provider site add the following three lines to the end of the
  23. settings.php file.
  24. if (!headers_sent()) {
  25. header('P3P: CP="We do not have a P3P policy."');
  26. }
  27. Administrative settings admin/lti_tool_provider
  28. Configure Tool Consumers
  29. Multiple Tool Consumers (LMS) are supported. Each should have a unique Key and
  30. Secret which must match in the configuration of both the consumer and provider.
  31. An account domain setting is available which will cause all accounts
  32. provisioned from the corresponding consumer to have @domain appended to the
  33. account name. Thus preventing account name conflicts between different tool
  34. consumers.
  35. Configure User Mapping
  36. Accounts
  37. LTI Tool Provider auto provisions Drupal user accounts using the LTI provided
  38. user_id, optionally appended with the consumer account domain, as the Drupal
  39. account name. It is possible to map the LTI provided lis_person_name_full,
  40. lis_person_name_family and lis_person_name_given to any text field on the Drupal
  41. user entity.
  42. For example, create a field_fullname in admin/config/people/accounts/fields and
  43. have LTI Tool Provider map lis_person_name_full to field_fullname, then use the
  44. Drupal Realname module to use field_fullname for user name display.
  45. If provided, the lis_person_contact_email_primary is mapped to the account mail
  46. field otherwise a dummy email user_id@domain.example.com is used.
  47. If provided, the user_image is mapped to the account profile picture.
  48. Drupal Role Mapping
  49. The roles provided from the LMS can be mapped to any Drupal global roles.
  50. Note: If you map Administrator to Administrator, the admin of the LMS becomes
  51. an admin of your Drupal site.
  52. Course to Group Mapping
  53. If you have the Drupal Organic Groups installed (7.x-2.x only, 7.x-1.x not
  54. supported), LTI Tool Provider OG submodule will allow you to map LMS courses
  55. identified by the LMS context_label, to a group type i.e. bundle. The
  56. context_label can be mapped to the group title or any other text field
  57. available on the group bundle. Optionally groups may be auto-provisioned when
  58. a user with the required mapped role, performs an LTI launch. This user becomes
  59. the Group owner. The context_id, context_label, context_title and context_type
  60. are available to map to any text fields in the provisioned group entity.
  61. Group Roles
  62. If Course/Group mapping is configured, you may map any of the LMS roles to Group
  63. Roles defined on the selected OG Group Bundle.
  64. Launch URL
  65. The LMS must be configured to launch the Drupal site with the path "lti".
  66. e.g. https://www.example.com/lti
  67. NOTE: the LTI specification requires the use of TLS for security in the OAuth
  68. based LTI launch. You should use the Secure Pages module or other method to
  69. support https at least to the launch url.
  70. Drupal Landing Page
  71. Upon launch, LMS users will be directed to the Drupal site home page unless
  72. Course to Group mapping is enabled, in which case the user is directed to
  73. the group node page for the group which corresponds to the LTI context_id.
  74. The landing page can be overridden by a custom parameter, see below.
  75. LTI Return URL
  76. If it exists, the launch_presentation_return_url is provided as a user menu
  77. item titled with the custom_return_label or "Return to LMS".
  78. Returning to the LMS will log out the user from Drupal.
  79. Home menu
  80. A home menu item is provided as a user menu item titled with
  81. custom_destination_label or resource_link_title or Home.
  82. Custom Launch Parameters
  83. Some LMS LTI implementations allow the configuration of custom launch
  84. parameters.
  85. The following custom parameters are processed by LTI Tool Provider.
  86. custom_destination defines a landing page path, if provided it will override the
  87. default (home page or group node) landing page.
  88. custom_destination_label defines a label to override the default Home menu
  89. label.
  90. custom_course_title defines an alternate course/group title, if provided, it
  91. will be used as the group title when provisioning groups.
  92. custom_return_label defines a label to override the default "Return to LMS" menu
  93. label.
  94. Language
  95. It is possible to set the language in the Drupal Tool to match the
  96. launch_presentation_locale from the LTI launch context. First enable the locale
  97. core module, then add the languages you wish to support at
  98. admin/config/regional/language. Download and install the language translations
  99. for the languages you chose. Then check the box for Session on
  100. admin/config/regional/language/configure.
  101. This software was developed as a project of the
  102. Centre for Educational Innovation and Technology (The University of Queensland)
  103. Contributors
  104. John Zornig
  105. Mabel Koh
  106. Tan Kee Hock
  107. Initial reviewers and testers
  108. scottrigby
  109. mradcliffe
  110. taslett
  111. btopro
  112. ELC