The LTI Delivery extension allows test-takers to take a delivery (delivered test) via LTI
The endpoint for this service to proctor a specific delivery is:
This link can retrieved using the LTI button in the deliveries section in the TAO admin user interface.
Alternatively a configurable link can be used by omitting the delivery parameter
In this scenario the instructor would need to call the LTI service first, and will be presented with a list of deliveries. Once he has chosen one of these deliveries it can no longer be changed. Test-takers subsequently clicking on the same link (as identified by Resource ID) will start the delivery chosen by the instructor.
The expected roles are:
Learnerfor people taking a test
Instructorfor people configuring a link
max_attemptsOverrides the number of executions allowed on the delivery. Expects a positive integer value or 0 for unlimited attempts. Attempts on LTI calls are calculated per
resource_link_idinstead of per delivery.
log messagewill contain the status of the delivery execution
- 100 for an active delivery
- 101 for a paused delivery
- 200 for a finished delivery
- 201 for a terminated delivery
These instructions assume that you have already a TAO installation on your system. If you don't, go to package/tao and follow the installation instructions.
If you installed your TAO instance through package/tao,
oat-sa/extension-tao-ltideliveryprovider is very likely already installed. You can verify this under Settings -> Extension
manager, where it would appear on the left hand side as
ltiDeliveryProvider. Alternatively you would find it in
the code at
Note, that you have to be logged in as System Administrator to do this.
Add the extension to your TAO composer and to the autoloader:
composer require oat-sa/extension-tao-ltideliveryprovider
Install the extension on the CLI from the project root:
sudo php tao/scripts/installExtension oat-sa/extension-tao-ltideliveryprovider
php tao\scripts\installExtension oat-sa/extension-tao-ltideliveryprovider
As a system administrator you also install it through the TAO Extension Manager:
- Settings (the gears on the right hand side of the menu) -> Extension manager
- Select ltiDeliveryProvider on the right hand side, check the box and hit install
Description: specifies time (in seconds) for a test taker to wait before the page is reloaded when waiting in LTI queue
- Any numerical value (> 0)
Description: specifies time (in seconds) to pick a random amount of seconds between 0 and
relaunchIntervalDeviation, then the random result is randomly added to or subtracted from relaunchInterval for each time the queue page is being reloaded.
The goal of this option is to prevent knocking the backend simultaneously by multiple clients.
- Any numerical value between 0 and
Description: a persistence that LTI delivery execution service should work based on. Should be a persistence name that's registered in
Description: whether the 'thank you' screen should be shown once a test is passed through LTI.
It only takes effect if the
custom_skip_thankyou LTI parameter is omitted. Otherwise, it's only depends on the LTI parameter.
Description: if enabled, the
deliveryExecutionStatus return parameter will be included in a consumer return URL.
This parameter will always be set to a delivery execution state label.
true: include the parameter in consumer return URLs
false: omit the parameter
Description: a factory for producing LTI messages
- an instance of any class that has the
Description: a persistence that LTI result aliases should be stored in. Should be a persistence name that's registered in
You can find the extension wiki here.