LTI-Tool-Provider-Library-PHP
LTI-Tool-Provider-Library-PHP copied to clipboard
Blackboard LTI2: Can not deserialize instance of out of START_OBJECT token
Tested using:
https://community.blackboard.com/docs/DOC-4242-using-the-developer-ami
When doing a LTI2 registration with Blackboard, the LMS errors with:
{"status":400,"message":"Could not read document: Can not deserialize instance of out of START_OBJECT token\
at [Source: @3fe45ab9; line: 1, column: 1263] (through reference chain: [\\"tool_profile\\"]->[\\"resource_handler\\"]->[0]->[\\"icon_info\\"]); nested exception is : Can not deserialize instance of out of START_OBJECT token\
at [Source: @3fe45ab9; line: 1, column: 1263] (through reference chain: [\\"tool_profile\\"]->[\\"resource_handler\\"]->[0]->[\\"icon_info\\"])","extraInfo":"b711870c01384a0cb406dbda5c4ef919"}
If I If comment out the icon_info node then the LTI2 registration works fine.
// $this->icon_info = new \stdClass;
// $this->icon_info->default_location = new \stdClass;
// $this->icon_info->default_location->path = $resourceHandler->icon;
// $this->icon_info->key = "{$resourceHandler->item->id}.icon.path";
https://github.com/Izumi-kun/LTI-Tool-Provider-Library-PHP/blob/master/src/ToolProvider/MediaType/ResourceHandler.php#L36
IMHO the icon is fine and follows the standard this is a bug in Blackboard.
https://www.imsglobal.org/lti/model/uml/purl.imsglobal.org/vocab/lti/v2/lti/index.html#IconInfo
I emailed developers<at>blackboard.com with this info and am waiting for a reply. If they do nothing then it would be nice to have the option of not building icon_info somehow....
Sent an email to devs and got (abridged):
"Blackboard is no longer supporting/developing LTI 2. [...] Icons and thumbnail support isn’t required. We have passed all the certification suites from IMS. [...] We’re considering this as a future enhancement, but it wouldn’t be in 2018. Focused on certification of LTI Advantage and this isn’t a requirement in spec."