LTI1.3 Gradebook integration after upgrading to sakai 22.3

7 views
Skip to first unread message

CIELLIE JANSEN VAN VUUREN

unread,
Oct 18, 2023, 8:17:44 AM10/18/23
to Sakai Development
Hallo everyone

We are getting this error in the Catalina logs after our upgrade from v 21.3  to 22.3 when scores are sent back from Cirrus assessment to Sakai. The Grade book item were created successfully.

POST 
/imsblis/lti13/lineitems/34cdd8f7c6d6f3c9aaeae6a927fdb159913bfd241051224682d2c579611bdc00:::eaa78349-3ff1-4ae4-9d7e-c34fa97908eb:::content:10563/337933/scores
HTTP/1.1

error 400

Further digging we saw this error as well that's related to the HTTP 400 error
ERROR [http-apr-8080-exec-1341] o.s.b.u.SakaiBLTIUtil.handleGradebookLTI13 Could not determine assignment_name title 11380

From the vendor I now got this back I just want to figure out what changed between 21.3 and 22.3 in this regard
Thanx for the help

__________________________________________________________________________________

I checked with the team, we checked the LTI standard and we are as we are passing the optional “label” field

We recommend reaching out to the Sakai team (or your Sakai partner) to address this issue

SakaiBLTIUtil.java

public static Object handleGradebookLTI13(Site site, Long tool_id, MapString, Object content, String userId, Long lineitem_key, Score scoreObj) { Object retval; String title; // An empty / null score given means to delete the score SakaiLineItem lineItem = new SakaiLineItem(); String siteId = site.getId(); org.sakaiproject.grading.api.Assignment gradebookColumn; // Are we in the default lineitem for the content object? // Check if this is as assignment placement and handle it if it is if ( lineitem_key == null ) { org.sakaiproject.assignment.api.model.Assignment assignment = getAssignment(site, content); if ( assignment != null ) { retval = handleAssignment(assignment, userId, scoreObj); return retval; } title = (String) content.get(LTIService.LTI_TITLE); if (title == null || title.length() < 1) { log.error("Could not determine content title {}", content.get(LTIService.LTI_ID)); return "Could not determine content title key="+content.get(LTIService.LTI_ID); } gradebookColumn = getGradebookColumn(site, userId, title, lineItem); } else { gradebookColumn = LineItemUtil.getColumnByKeyDAO(siteId, tool_id, lineitem_key); if ( gradebookColumn == null || gradebookColumn.getName() == null ) { log.error("Could not determine assignment_name title {}", content.get(LTIService.LTI_ID)); return "Unable to load column for lineitem_key="+lineitem_key; } title = gradebookColumn.getName(); }





Reply all
Reply to author
Forward
0 new messages