Using the Outcomes service

The Outcomes service is part of LTI 1.1 as well as also being available as an unofficial extension. It allows a grade (decimal value between 0 and 1) to be returned to a user's entry in a grade book column. The value may also be read and deleted.

Sample code

Open the outcomes.php file in a text editor and replace the "[RESOURCE_LINK_ID]" text with the resource link ID displayed in the earlier launch exercise and the "[RESULT_SOURCEDID]" text with the result sourcedid for a user with the learner role. Open the page in a browser and check the result of the request. Check the grade book entry for this student in the VLE. Try using the EXT_READ and EXT_DELETE actions as well.

outcomes.php

<?php

// Load LTI classes
require_once('LTI_Tool_Provider.php');

$db = new PDO('sqlite:lti-workshop.sqlitedb');

$consumer = new LTI_Tool_Consumer('jisc.ac.uk', $db);
$resource_link = new LTI_Resource_Link($consumer, '[RESOURCE_LINK_ID]');

$outcome = new LTI_Outcome('[RESULT_SOURCEDID]');
$outcome->setValue('0.65');
$ok = $resource_link->doOutcomesService(LTI_Resource_Link::EXT_WRITE, $outcome);

echo "Result = {$ok}\n\n";
echo $resource_link->ext_response;

?>