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();
}