{"_id":"5864d2e079ce642d00f0ff55","parentDoc":null,"version":{"_id":"5864d2df79ce642d00f0fec7","project":"56439dfe9eebf70d00490d54","__v":4,"createdAt":"2016-12-29T09:09:51.074Z","releaseDate":"2016-12-29T09:09:51.074Z","categories":["5864d2df79ce642d00f0fec8","5864d2df79ce642d00f0fec9","5864d2df79ce642d00f0feca","5864d2df79ce642d00f0fecb","5864d2df79ce642d00f0fecc","5864d2df79ce642d00f0fecd","5864d2df79ce642d00f0fece","5864d2df79ce642d00f0fecf","5864d2df79ce642d00f0fed0","5864d2df79ce642d00f0fed1","5864d2df79ce642d00f0fed2","5864d2df79ce642d00f0fed3","5864d2df79ce642d00f0fed4","5864d2df79ce642d00f0fed5","5864d2df79ce642d00f0fed6","5864d2df79ce642d00f0fed7","5864d2df79ce642d00f0fed8","5864d2df79ce642d00f0fed9","5864d2df79ce642d00f0feda","5864d2df79ce642d00f0fedb","5864d2df79ce642d00f0fedc","5864d2df79ce642d00f0fedd","5864d2df79ce642d00f0fede","598aa64f4b6e990019b7a2d2","599bc76bc03fa2000f83db2a","599bcc3c3c5bf7000f3434fc"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"2.0.0","version":"2"},"project":"56439dfe9eebf70d00490d54","user":"5706dce42138ed0e0060f8ab","__v":0,"category":{"_id":"5864d2df79ce642d00f0fedd","version":"5864d2df79ce642d00f0fec7","project":"56439dfe9eebf70d00490d54","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-08-01T18:10:26.684Z","from_sync":false,"order":24,"slug":"lti-single-sign-on","title":"LTI Single Sign On"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-12-13T09:43:59.620Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Overview\"\n}\n[/block]\nLTI Outcomes allows consumers and providers to send score information back and forth. This document describes how a Consumer declares its support for Outcomes Management to a Provider and describes the services made available to a Provider.  The Basic Outcomes service described in this document provide a mechanism for a Provider to set, retrieve and delete LIS results for users in the Consumer gradebook.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Launch Parameters for Outcomes Management\"\n}\n[/block]\nIn order to support grade return from Gooru to the Consumer using the Basic Outcomes service described in this document, the following parameters should be passed in launch request:\n\n###lis_result_sourcedid\nThis parameter contains an identifier that indicates the LIS Result Identifier (if any) associated with this launch.  It identifies a unique row and column within the consumer gradebook. This identifier is unique for every combination of resource_link_id / user_id but its value may change from one launch to the next.\n\n###lis_outcome_service_url\n**Outcomes service URL will be configured in Gooru manually. If passed in request it will be skipped.** \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Process Flow\"\n}\n[/block]\nOn successful launch request, user will redirect to play the assessment/collection having user session established. Then Gooru player will pass the necessary information to the back end system to record the user responses. Once user submits the assessment, results are computed at Gooru back end system and outcomes is posted back on the configured API end point.\n\n[block:callout]\n{\n  \"type\": \"success\",\n  \"title\": \"On Success\",\n  \"body\": \"On success, the response will be posted by on the configured API end point of the consumer. Sample response format is as below.\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n\\t\\\"result\\\": {\\n\\t\\t\\\"lis_result_sourcedid\\\": \\\"83873872987329873264783687634\\\",\\n\\t\\t\\\"score\\\": 0.75\\n\\t},\\n\\t\\\"context\\\": {\\n\\t\\t\\\"gooru_content_id\\\": \\\"92d417e2-3f4d-4129-b71f-ab65f3c7eb54\\\",\\n\\t\\t\\\"type\\\": \\\"assessment\\\",\\n\\t\\t\\\"user_id\\\": \\\"bc669008-5d08-45cd-8f71-5afb93935e0f\\\",\\n\\t\\t\\\"class_id\\\": \\\"cb3f8e9a-6f98-44ec-8cba-105abe80252c\\\",\\n\\t\\t\\\"course_id\\\": \\\"f777d439-1c98-458e-8f6d-b6d2f6634efe\\\",\\n\\t\\t\\\"unit_id\\\": \\\"dd8a640f-e101-46d6-99ca-093d011582e4\\\",\\n\\t\\t\\\"lesson_id\\\": \\\"b6a35d12-7c65-4cb7-a635-b8032ce7a5aa\\\"\\n\\t},\\n\\t\\\"time_spend_ms\\\": 669438,\\n\\t\\\"reaction\\\": 0,\\n\\t\\\"questions_count\\\": 10,\\n\\t\\\"completed_time\\\": 4173261254453,\\n\\t\\\"student\\\": true\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Outcomes Response Format\"\n    }\n  ]\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Field Name\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Purpose\",\n    \"0-0\": \"result.lis_result_sourcedid\",\n    \"0-1\": \"String\",\n    \"1-0\": \"result.score\",\n    \"1-1\": \"Double\",\n    \"2-0\": \"context.gooru_content_id\",\n    \"3-0\": \"context.type\",\n    \"4-0\": \"context.user_id\",\n    \"5-0\": \"context.class_id\",\n    \"6-0\": \"context.course_id\",\n    \"7-0\": \"context.unit_id\",\n    \"8-0\": \"context.lesson_id\",\n    \"2-1\": \"UUID\",\n    \"3-1\": \"String\",\n    \"4-1\": \"UUID\",\n    \"5-1\": \"UUID\",\n    \"6-1\": \"UUID\",\n    \"7-1\": \"UUID\",\n    \"8-1\": \"UUID\",\n    \"0-2\": \"To identify the user in consumer system\",\n    \"1-2\": \"Score after assessment played. Range 0 to 1\",\n    \"2-2\": \"Gooru content id which played.\",\n    \"3-2\": \"Type of the content played. It could be assessment or collection\",\n    \"4-2\": \"Gooru user id\",\n    \"5-2\": \"Gooru class id. (If any).\",\n    \"6-2\": \"Gooru course id. (If any).\",\n    \"7-2\": \"Gooru unit id. (If any).\",\n    \"8-2\": \"Gooru lesson id. (If any).\",\n    \"9-0\": \"time_spend_ms\",\n    \"10-0\": \"reaction\",\n    \"11-0\": \"questions_count\",\n    \"12-0\": \"completed_time\",\n    \"13-0\": \"student\",\n    \"13-1\": \"Boolean\",\n    \"12-1\": \"Long\",\n    \"11-1\": \"Integer\",\n    \"10-1\": \"Integer\",\n    \"9-1\": \"Long\",\n    \"9-2\": \"Total time spend on the assessment\",\n    \"11-2\": \"Number of questions in the assessment\",\n    \"12-2\": \"At what time the assessment/collection is completed\",\n    \"13-2\": \"Whether its student playing the assessment/collection\"\n  },\n  \"cols\": 3,\n  \"rows\": 14\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"On Failure\",\n  \"body\": \"TBD\"\n}\n[/block]","excerpt":"This page captures the details on LTI Outcomes integration.","slug":"lti-outcomes-integration","type":"basic","title":"LTI Outcomes Integration"}

LTI Outcomes Integration

This page captures the details on LTI Outcomes integration.

[block:api-header] { "type": "basic", "title": "Overview" } [/block] LTI Outcomes allows consumers and providers to send score information back and forth. This document describes how a Consumer declares its support for Outcomes Management to a Provider and describes the services made available to a Provider. The Basic Outcomes service described in this document provide a mechanism for a Provider to set, retrieve and delete LIS results for users in the Consumer gradebook. [block:api-header] { "type": "basic", "title": "Launch Parameters for Outcomes Management" } [/block] In order to support grade return from Gooru to the Consumer using the Basic Outcomes service described in this document, the following parameters should be passed in launch request: ###lis_result_sourcedid This parameter contains an identifier that indicates the LIS Result Identifier (if any) associated with this launch. It identifies a unique row and column within the consumer gradebook. This identifier is unique for every combination of resource_link_id / user_id but its value may change from one launch to the next. ###lis_outcome_service_url **Outcomes service URL will be configured in Gooru manually. If passed in request it will be skipped.** [block:api-header] { "type": "basic", "title": "Process Flow" } [/block] On successful launch request, user will redirect to play the assessment/collection having user session established. Then Gooru player will pass the necessary information to the back end system to record the user responses. Once user submits the assessment, results are computed at Gooru back end system and outcomes is posted back on the configured API end point. [block:callout] { "type": "success", "title": "On Success", "body": "On success, the response will be posted by on the configured API end point of the consumer. Sample response format is as below." } [/block] [block:code] { "codes": [ { "code": "{\n\t\"result\": {\n\t\t\"lis_result_sourcedid\": \"83873872987329873264783687634\",\n\t\t\"score\": 0.75\n\t},\n\t\"context\": {\n\t\t\"gooru_content_id\": \"92d417e2-3f4d-4129-b71f-ab65f3c7eb54\",\n\t\t\"type\": \"assessment\",\n\t\t\"user_id\": \"bc669008-5d08-45cd-8f71-5afb93935e0f\",\n\t\t\"class_id\": \"cb3f8e9a-6f98-44ec-8cba-105abe80252c\",\n\t\t\"course_id\": \"f777d439-1c98-458e-8f6d-b6d2f6634efe\",\n\t\t\"unit_id\": \"dd8a640f-e101-46d6-99ca-093d011582e4\",\n\t\t\"lesson_id\": \"b6a35d12-7c65-4cb7-a635-b8032ce7a5aa\"\n\t},\n\t\"time_spend_ms\": 669438,\n\t\"reaction\": 0,\n\t\"questions_count\": 10,\n\t\"completed_time\": 4173261254453,\n\t\"student\": true\n}", "language": "json", "name": "Outcomes Response Format" } ] } [/block] [block:parameters] { "data": { "h-0": "Field Name", "h-1": "Type", "h-2": "Purpose", "0-0": "result.lis_result_sourcedid", "0-1": "String", "1-0": "result.score", "1-1": "Double", "2-0": "context.gooru_content_id", "3-0": "context.type", "4-0": "context.user_id", "5-0": "context.class_id", "6-0": "context.course_id", "7-0": "context.unit_id", "8-0": "context.lesson_id", "2-1": "UUID", "3-1": "String", "4-1": "UUID", "5-1": "UUID", "6-1": "UUID", "7-1": "UUID", "8-1": "UUID", "0-2": "To identify the user in consumer system", "1-2": "Score after assessment played. Range 0 to 1", "2-2": "Gooru content id which played.", "3-2": "Type of the content played. It could be assessment or collection", "4-2": "Gooru user id", "5-2": "Gooru class id. (If any).", "6-2": "Gooru course id. (If any).", "7-2": "Gooru unit id. (If any).", "8-2": "Gooru lesson id. (If any).", "9-0": "time_spend_ms", "10-0": "reaction", "11-0": "questions_count", "12-0": "completed_time", "13-0": "student", "13-1": "Boolean", "12-1": "Long", "11-1": "Integer", "10-1": "Integer", "9-1": "Long", "9-2": "Total time spend on the assessment", "11-2": "Number of questions in the assessment", "12-2": "At what time the assessment/collection is completed", "13-2": "Whether its student playing the assessment/collection" }, "cols": 3, "rows": 14 } [/block] [block:callout] { "type": "danger", "title": "On Failure", "body": "TBD" } [/block]