7 Replies Latest reply on Oct 13, 2017 1:40 AM by scott.bradey

    LTI 2.0: Tool Consumer guid missing

    scott.bradey

      I’ve been working with PebblePad to test an LTI 2.0 integration of their tool in a SaaS Ultra environment and experienced an issue when trying to register the tool. The diagnostic test we ran (LTI 2.0 Test Harness) suggests that the Tool Consumer guid is missing from the retrieved consumer profile which is a required parameter when setting up the tool proxy. Can anyone confirm whether this is a known issue with the Bb implementation of LTI 2.0?

       

      Thanks,

      Scott

        • Re: LTI 2.0: Tool Consumer guid missing
          vickers.stephen

          Are you referring to the guid element of the Tool Consumer Profile?  If so, and this is missing, then this suggests that the IMS certification tests are inadequate.

          Just out of interest, is the importance of this because the tool provider does not want to have it passed on each launch?

            • Re: LTI 2.0: Tool Consumer guid missing
              scott.bradey

              Yes, the Tool Consumer guid appears to be missing from the Tool Consumer Profile. I don't think there's any concern about passing on this parameter at launch.

              The developer has debugged the request and Blackboard appears to be returning 500 when the ToolProxy registration request is made. They initially thought this was because the guid was missing but after a little more digging it may not be. The code calling the registration request that threw the error is as follows:

               

              {"@context":["http://purl.imsglobal.org/ctx/lti/v2/ToolProxy",{"tcp":"https://jcu-eval.blackboard.com/learn/api/v1/lti/profile#"}],"@type":"ToolProxy","lti_version":"LTI-2p0","tool_consumer_profile":"https://jcu-eval.blackboard.com/learn/api/v1/lti/profile","tool_profile":{"lti_version":"LTI-2p0","product_instance":{"guid":"18afa72c-65af-4525-87bf-8a7bed507776","product_info":{"product_name":{"default_value":"PebblePad"},"product_version":"1611","product_family":{"vendor":{"code":"pebblepad.co.uk","vendor_name":{"default_value":"PebblePad"},"timestamp":"2017-06-14T09:01:36Z","website":"https://www.pebblepad.co.uk/"},"code":"PebblePad"}}},"base_url_choice":[{"default_base_url":"http://localhost:50235"}],"resource_handler":[{"resource_type":{"code":"urn:lti:ResourceType:pebblepad.co.uk/atlas"},"resource_name":{"default_value":"PebblePad ATLAS"},"description":{"default_value":"ATLAS"},"message":[{"message_type":"basic-lti-launch-request","path":"/pebble/OAuth/","parameter":[{"na

              me":"pebble_username","variable":"User.username"}],"enabled_capability":["User.id","Membership.role","Person.email.primary","Person.name.family","Person.name.full","Person.name.given","Person.sourcedId","Result.autocreate","Result.sourcedId","ToolConsumerProfile.url","User.username"]}]}]},"security_contract":{"shared_secret":"a5ac3a07-4b9f-4ab9-bd96-6cca6667bd51","tool_service":[]},"tool_proxy_guid":"c070fa86a47cb432c587687ec98927ef4fb310a0663e493f1bc5d109af36c569"}

               

              I was wondering if anyone might provide some insight into why the 500 error was being thrown with the above registration request?

               

              Thanks,

              Scott.

                • Re: LTI 2.0: Tool Consumer guid missing
                  fm0056063

                  Hi Scott,

                   

                  In case you are still having this issue, I just noticed that you're sending an empty array on "tool_service". You should be sending something like:

                   

                  "tool_service":[{"@type":"RestServiceProfile","service":"https://jcu-eval.blackboard.com/learn/api/v1/lti/profile#ToolProxy","action":["POST"]}]

                    • Re: LTI 2.0: Tool Consumer guid missing
                      scott.bradey

                      Hi Frederico. The developer has suggested that tool_service array being empty isn't a problem as it just means that they haven't accepted any of the services I have requested that they don't support.

                       

                      The services currently supported in this tool are:

                      application/vnd.ims.lis.v2.lineitemcontainer+json

                      application/vnd.ims.lis.v2.lineitem+json

                      application/vnd.ims.lis.v2.lineitemresults+json

                      application/vnd.ims.lis.v2.result+json

                      application/vnd.ims.lis.v2p1.result+json

                      application/vnd.ims.lis.v2.resultcontainer+json

                      application/vnd.ims.lis.v2.membershipcontainer+json

                       

                      Having said that, I can't get to the stage when registering the tool where any capabilities or services can be selected in the first place.

                       

                      Thanks,

                      Scott.

                        • Re: LTI 2.0: Tool Consumer guid missing
                          vickers.stephen

                          Technically that is not the case.  In order to complete the registration you will have used both the Tool Consumer Profile service and the Tool Proxy service.  I would recommend that you at least include these in your Tool Proxy.  But if you are getting a 500 response, I would also expect an error to have been logged in Learn which may give an indication as to what caused this.

                      • Re: LTI 2.0: Tool Consumer guid missing
                        vickers.stephen

                        Sorry, I missed your reply last month.  In addition to Frederico's response, the presence of the tool_proxy_guid in the Tool Proxy also looks suspect.  This value is provided by the Tool Consumer and would not be known by the Tooll Provider until after the Tool Proxy had been accepted.  Hence it should not be present when a Tool Provider sends a Tool Proxy to the Tool Consumer's Tool Proxy service.

                    • Re: LTI 2.0: Tool Consumer guid missing
                      scott.bradey

                      Just an update on this. As of SaaS Release 3300.0.0 the LTI 2.0 tool mentioned in this post now registers successfully. The issue appeared to be that the capabilities and services offered by tool were not selectable in the first step of the registration process resulting in no capabilities being registered causing tool registration to fail. From Release 3300.0.0 it appears that all available capabilities are selected automatically and can therefore be registered.

                       

                      Some observations made during testing:

                      • It appears that the Outcomes service has not been included in Bb's implementation of LTI 2.0 at this stage. There are no options to make gradable placements and grades were not returned to the Grade Centre in testing.
                      • There is no functionality to create new placements and minimal ability to modify pre-configured placements
                      • LTI 2.0 supports icon files but there is no option to add an icon in the current implementation.

                       

                      Does LTI 2.0 allow placements and icons to be added at the consumer end (Bb Learn) or are these elements configurable only by the producer?

                      1 of 1 people found this helpful