Overview

Basic LTI enabled This Building Block provides a mechanism for connecting Blackboard Learn 9+ with external tools which support the IMS Basic LTI or LTI 1.1 specification. LTI is a mechanism for connecting tool consumers (systems such as virtual learning environments or learning management systems) with tool providers (external learning applications which provide additional functionality within a course, such as a blog, wiki, assessment tool).

Support for Basic LTI was introduced by Blackboard in Learn 9.1 SP4; however, this building block supports all releases of Learn 9 and also provides support for the unofficial Basic LTI extension services (see below) and LTI 1.1 (which includes an Outcome service). Whilst the specification is still being developed, Basic LTI and LTI 1.1 provide an important step towards enabling external tool providers to support different flavours of tool consumer with a single integration. From a tool consumer perspective it also opens up new opportunities for collaborative work between users of different platforms (or just different installations of the same platform).

System requirements

The BasicLTI Building Block is written for Blackboard Learn 9.0 (or higher). It requires the Community System to be licensed for the Blackboard Learn server. It includes the following dependent Java library files:

Installation

This Building Block is installed by a Learn 9 system administrator in the same way as other Building Blocks. The following attribute privileges are required to be approved when making the Building Block active:

TypeNameAction
attributeuser.authinfoget
attributeuser.personalinfoget
persistContentcreate,modify
persistOutcomecreate,modify,delete
persistOutcomeDefinitioncreate,modify
persistOutcomeDefinitionCategorycreate,modify
persistOutcomeDefinitionScalecreate,modify
java.net.SocketPermission*connect

Configuration settings

The Building Block may be configured from the System Admin tab by either:

The main page displays a list of any existing tool provider registrations with a summary of the settings selected for each. The order of the tools can be changed (using the Learn 9 drag-and-drop functionality) and. its status updated - when a tool is disabled it is not available for use within courses. The action menu against the title of each tool provides access to options for editing the registration.
Sample tools list page

System settings

Click on the System Settings button to specify the default installation settings. Textual default settings are dependent on the current language pack and so may differ from those specified below.
Sample System Settings page

Institution details

Name Required? Description
Institution name Yes A short name for the institution (e.g. UoT)
Institution description Yes Full name for the institution (e.g. University of Testing)
Institution administrator email No An email contact for the institution (e.g. admin@testing.edu)

Extension services

Check the box against the name of an extension service to enable it for the server. See below for information about support for the extension services.

Other options

This section can be used to enable the following options:

Register a tool provider

Click on the Register New Tool button to register a new tool provider, this will display the Registration Settings page. Each tool should be given a unique ID comprising up to 6 characters (letters, digits, hyphens and underscores only). This will be used internally to identify the tool; the name entered is the value which is visible to users.
Sample registration settings page - name section

Connecting to each tool provider requires three pieces of data: a URL, a consumer key and and shared secret. These details will be provided by the tool provider and should be entered into the second section of the registration form. Take care to make sure these details are entered accurately; errors will cause connections to fail.
Sample registration settings page - connection details section

If the tool provider uses any of the extension services (including the Outcome service supported by LTI 1.1), they should be selected on this page. The Used but not required by tool option allows the decision to be delegated to the course instructor. The services selected are summarised in the final column on the main page; a "-" indicates that the service is not enabled on the server (see the System Settings page above), a "." indicates that the service is not selected, "O", "M" and "S" indicate that the Outcomes, Memberships and Setting services are selected, respectively (a lower case letter indicates that the service is optionally selected). Consult the tool provider about whether any of the services are required.

Normally the memberships service will send a full list of enrolments to the course when it is requested by a tool provider. This list may include users who do not have access to the link if a membership-based adaptive release criterion has been applied. An option is provided, therefore, to restrict the list to only students for which the link is visible; anyone assigned the LTI role of Instructor will also be included in the list. Note that, at present, it is not possible to limit the list to those users to which the link has been assigned irrespective of whether, or not, it is currently visible to them (as a result of other adaptive release criteria).
Sample registration settings page - extension services section

The URL of a CSS file may also be passed to the tool provider on launch; some tool providers may use this option to allow users to change the appearance of their tool (e.g. to better match the Blackboard colour scheme). When accessing the Basic LTI tools from the Course tools area, an icon is displayed against each tool name. The default icon used can be overridden by entering a URL to an alternative image in this section.
Sample registration settings page - other settings section

Tool data settings

Each time an external tool is launched data about the user and their context (e.g. course) may be passed to the tool. Which data items are passed is controlled by the data settings page. When a new tool is registered the default data settings are applied - these default values are set up by clicking on the Default Settings button and selecting the Data Settings option. To override or change these for a specific tool, use the Edit data settings option from the action menu next to the tool's name.

Context data

A unique ID and a title will always be sent to the tool provider to identify the link followed by the user to launch the tool. In addition to this it is also possible to send an ID and title for the course.
Sample data settings page - context data section

Personal data

A unique ID is normally required to identify a user and allow the tool provider to retain details of their activities. The value to be used to represent this ID can be selected on this page; typically the database key provides a convenient opaque value but is subject to change if a user account is deleted and restored. For internally hosted tool providers, it may be preferable to use the username as the ID so that a more widely recognised value is used within the other systems. It is also possible to restrict the sending of a user's name, email address, roles and avatar (if enabled on the System Settings page above).
Sample data settings page - personal data section

When a user's role is selected to be sent to the tool provider, their course role in Learn 9 is mapped to zero, one or more roles recognised by LTI:

This section detemines which LTI roles (columns) are sent for each course role (rows). The table will also include a row for each custom course role if the option to configure these separately has been selected on the System Settings page (see above); when the option is not selected.
Sample data settings page - role mappings section

It is also possible to send the administrator role when the user is also a system administrator.

Resource file

The LTI specification also allows a URL to a resource file (with an optional signature) to be sent to the tool provider. This section allows these details to be entered when required.
Sample data settings page - resource file section

Tool launch settings

The Launch Settings page determines how the tool is launched and specifies any custom parameters to be included in the data which is sent to the tool provider. When a new tool is registered the default data settings are applied - these default values are set up by clicking on the Default Settings button and selecting the Launch Settings option. To override or change these for a specific tool, use the Edit launch settings option from the action menu next to the tool's name.
Sample tool launch settings page

The tool may be opened in the Learn 9 frame, in a new window or in an iframe. The iframe option allows the course menu to be retained on the screen when accessing the tool from the Course tools page. When opening a tool in a new window, a window name may be specified so that the same window can be re-used each time the tool is opened. The window name should not start with an underscore. If no window name is specifed a default value of _blank is used.

A description of the tool can be displayed on a splash screen before a user is connected, If a URL is entered as the text the contents of this web page is displayed to the user.

Custom settings may be passed to a tool by entering one per line in the format name=value; for example:

debug=true
timeout=300

It is possible to specify custom settings when configuring a tool as well as when creating an instance of a tool within a course. In the case where values are specified with the same name, the one specified on the tool configuration page will take precedence.

Usage

Basic LTI tools can be made available within a course via either the Course tools page or as a comtent item added to a content page. Each of these options can be made available to a course via the Tool Availability page accessed from the Customisation area of the Control Panel.

Course tools

The Basic LTI tools link in the Course Tools area of the Control Panel displays a list of the tools which have been registered and enabled by the system administrator (see above). If the option has been enabled (see above) the Register New Tool button may be used to define a new connection for use only within the current course. The process for adding new tools is the same as for system administrators (see above) and the action menu against the tool can be used to edit the settings. For system-defined tools, the action menu provides a limited set of settings which can be edited.
Sample Course Tools Settings page

Some of the options on the page may be disabled or have limited choices as a result of how the tool or system has been configured.

The Basic LTI Tools option available on the Course Tools page displays a list of the tools which have been made available on the tools list (they will also be displayed in the same order as on this page). If an icon URL has been specified for a tool, this icon will appear next to the tool name, otherwise the default icon is displayed. Clicking on the tool name will launch the tool.
Sample course tools page

If a tool has been defined to show a splash page or if the user has been given a choice about sending one or more data items, then a page is displayed before the user is redirected to the tool.
Sample splash page

The tool will be displayed in the bottom frame of Learn 9, within an iframe (as in the example shown below) or in a new window.
Sample tool page

Extension services

LTI 1.1 includes support for an Outcomes service which allows a tool provider to pass grades back to Learn 9. The Building Block also implements the unofficial extensions defined for Basic LTI; although these are not part of the formal IMS specification they are widely adopted by tool consumers and provide functionality of value to tool providers. Thus, the extensions available as part of this Building Block are:

These services are enabled for each tool on the tool configuration page (see above). It is not possible to enable/disable the services for individual instances of the tool.

Outcomes service

This service allows grades to be retrieved, updated and deleted from the Grade Centre. The following kinds of result value are supported (note that LTI 1.1 only includes the decimal type):

A column in the grade centre is automatically added when the first grade is added. The column will have a name of "BLTI" followed by the ID of the content item or the name of the tool (for a course tool). The column is assigned to a category named "Basic LTI" (which is automatically created if it does not already exist) and given the following setting values:

KindColumn typePoints possibleInclude in calculations?Visible to students?
decimalScore1NoNo
percentagePercentage100NoNo
ratioScoreSee belowNoNo
letterafLetter100NoNo
letterafplusLetter100NoNo
passfailTextNANoNo
freetextTextNANoNo

The points possible for a ratio-type value is the number following the "/" from the first update. If any subsequent grade is submitted with a different points possible, its value is adjusted to match the points possibel set for the column. For example, if a column is set up with a grade setting of "8/20", a subsequent grade update (for any student) of "12/15" will be adjusted to "16/20". Letter grades are converted to values based on the default grading schema set in Blackboard.

The result_resultscore_language, result_statusofresult, result_date and result_datasource parameters are ignored.

Note that this service is only available if it is selected on the tool configuration page and if user IDs are set to always be sent for the instance of the tool. The following error codes may be returned (as the codeminor XML element):

NB when using Learn 9.0, the column created in the Grade Centre is given a type of "Score" and should be changed manually to "Percentage", "Letter" or "Text" as required.

Memberships service

This service returns a list of enrolments for the course; note that this is always the full list of members for a course and is not limited to those who have access to the instance of the tool if, for example, it has adaptive release criteria associated with it. The list may contain the following elements:

Note that this service is only available if it is selected on the tool configuration page and if user IDs are set to always be sent for the instance of the tool. The following error codes may be returned (as the codeminor XML element):

Setting service

This service allows a value to be saved and retrieved for each instance of the tool added within Blackboard. The following error codes may be returned (as the codeminor XML element):

Troubleshooting

If you are upgrading to a new version of this Building Block and get an error on first access, try deleting and re-installing it. Note that any existing settings are not lost when the Building Block is deleted. If you still experience problems, or have other issues, please report them via the discussion forum available in the project area on the OSCELOT projects site.

Version history

VersionDateDescription
1.0.09 February 2010First public release
1.1.02 August 2010Vendor ID changed to "osc"
Added support for Learn 9.1
1.1.17 August 2010Updated dependent utility
1.1.29 October 2010 Added support for resource_link_title, resource_link_description, tool_consumer_instance_url, tool_consumer_instance_description and launch_presentation_document_target parameters
Added support for return messages and log requests
Added options for opening tools in a new window or an iframe
Corrected name of lis_person_sourcedid parameter
Option to define a new tool producer via XML withdrawn
Improved exception handling when redirecting to a tool
Fixed names of LTI roles on system settings pages
1.2.017 September 2011Added support for outcomes, memberships and setting extension services
1.2.110 October 2011 Added ability to specify custom parameters for each instance of the tool, as well as for the tool configuration itself
Fixed error in the XML when returning data from the outcomes extension service
1.2.213 October 2011 Fixed bug which caused instances added as content items not to be orderable on a page
1.2.314 October 2011 ext_lms added to launch parameters; e.g. "learn-9.1.70081"
2.0.029 January 2012 Added support for LTI 1.1 (including Outcome service)
Added ability for instructors to register their own tool connections within a course
Updated user interface to separate settings into multiple pages
Improved handling of return links back into Learn 9 from a tool provider
Fixed iframe sizing issue when this option is used to display a tool provider

Licence

Creative Commons License This work is written by Stephen Vickers and is released under a Creative Commons GNU General Public Licence. The BasicLTI Building Block is available for download from OSCELOT where it is also possible to report bugs and submit feature requests.

Valid XHTML 1.0 Strict