The Latest Enhancements to 1EdTech LTI Core, AGS, and Deep Linking Standards
LTI is a 1EdTech standard that provides a secure way for a user to seamlessly access educational tools like TurnitIn from within an LMS such as Canvas, Blackboard, D2L, Moodle, or Sakai. Additionally, 1EdTech also wrote specifications for three initial LTI Advantage services: Assignments & Grades Service (AGS), Names & Roles Provisioning Service (NRPS), and Deep Linking. These three services allow for educational tools to create gradebook columns in the LMS, submit scores for students to the LMS, fetch the class roster from the LMS, and provide a custom content selection menu to instructors which lets them choose which LTI links to insert into their course within the LMS.
1EdTech’s LTI workgroup is always very busy discussing the issues and additional features that its members need from an LMS, vendor, and institution perspective. As these issues are discussed, the workgroup implements changes to the LTI specifications. Excitingly, a large batch of these changes were just published in January 2023. Following are the highlights of the changes that have been made to the LTI 1.3 Core specification, Assignments & Grades Service (AGS), Deep Linking, and the Best Practices for LTI Assessment Tools guide.
LTI 1.3 Core Specification Updates
The LTI 1.3 Core specification now states that when a tool generates the client assertion JWT to request an OAuth 2.0 token from the LMS for permission to use the Assignments & Grades Service (AGS) or Names & Roles Provisioning Service (NRPS), the client assertion JWT should contain the official deployment ID claim. Previously, the specification had stated that the deployment ID may be included, but this did not allow for the LMS to properly validate whether the tool could properly identify their customer’s LMS instance, since the customer’s LMS instance is only fully identified by the issuer, client ID, and deployment ID combined. If an LMS did not support the deployment ID claim but then went on to support it later, this could have been a breaking change for many users if the deployment ID suddenly started being properly validated.
The LTI 1.3 Core specification has also been updated to clarify the acceptable values within the custom claim. It explains that the custom claim contains a map of key value pairs in which the values are always strings. In the event that the LMS has no value to provide for a certain key, the LMS should return an empty string and is not permitted to return a value of null.
In accordance with the OpenID Connect Standard claims, the LTI 1.3 Core specification now lists locale as an appropriate user identity claim. The value of the locale claim should be in the format of a BCP47 language tag.
The LTI 1.3 Core specification had already specified custom substitution parameters for the dates for which each resource or assignment starts and stops being available, the dates for which submissions start and stop being accepted for a resource, and the dates for which the grades of a resource may be released. However, LMSs also support making these dates personalized to specific users. This led to the necessity of adding substitution parameters for the values of these dates which are specific to the user who performed the LTI launch. This change will allow for more continuity in providing accommodations and accessibility to students in need.
Assignments & Grades Service Updates
In the Assignments & Grades Service specification, a boolean field has been added to the schema for individual line items (assignment with an associated grade book column) to indicate whether the line item has had its grades released to students or not.
The specification has also been updated to indicate that when posting a student’s score, the user ID refers to the “LTI user ID” in an attempt to make it more clear that the “sub” value from the ID token received in a user’s LTI launch should be referred to as the user’s ID value when posting a score for them.
When posting a score for a user, there is now a new optional submission JSON block that may contain two fields. One of the fields indicates the ISO 8601 date when the user started working on the submission, and the other field indicates the ISO 8601 date when the user submitted their completed assignment.
The specification was also updated to indicate that tools should be posting “scores” to the LMS gradebook for every state change of the activity, including when the user starts the activity and when the grading process starts. These changes should be indicated using the activity progress and grading progress fields for the “score” even if no numeric score value exists at the time.
An update to the name of the “GradebookResultLaunch” was also made to now be “Submission Review.” This corresponds to the new Submission Review specification which enables an additional message type for the LMS to pass to the tool to indicate that the instructor is in a UI for reviewing or grading students’ submissions for a particular assignment. However, the Submission Review specification is still only visible to 1EdTech members and is not yet available to the public.
Deep Linking Updates
The LTI Deep Linking specification now has the ability for an LMS to optionally indicate to a tool when its Deep Linking menu is launched if the menu was opened from a context in which the LMS will ignore the tool’s request to associate a deep linked resource with a line item (grade book column).
In accordance with the update to the LTI Core specification that custom parameters must be strings and cannot be null, this change was also carried through to the Deep Linking specification.
Following the update to the Assignments & Grades Service specification, a tool may now indicate within a deep linked resource’s line item claim a boolean value indicating whether or not the LMS should release the grades of that line item to students.
This specification was also updated to no longer require that a “sub” (user ID) value be included in the ID token sent to the tool when an instructor opens the tool’s Deep Linking menu.
Clarity was also added to the Deep Linking specification for a few of small items. For example, it now indicates that the resource link claim is not required in Deep Linking request ID tokens. Additionally, it indicates that while a tool may set dates for which resource links start and stop being available to students in their Deep Linking responses, LMSs will not be able to guarantee their adherence to these dates. An update was also made to clarify that the url value that a tool provides for a content item in its Deep Linking response must be used by the LMS as the target link URI when a user clicks on the link to view the content item.
Best Practices for LTI Assessment Tools Guide Updates
1EdTech’s LTI workgroup has also published a new guide of best practices for LTI assessment tools. However, much of the advice in this guide can apply to a variety of different types of tools, not just assessment tools. This guide covers a very broad range of topics from account binding for rostering strategies to how to handle course copy. Excitingly, the guide also hints at many of the new specifications which the LTI workgroup has authored that are currently only available to 1EdTech members. Stay tuned for my next blog where I deep dive into the highlights of this best practice guide.
1EdTech’s LTI workgroup listens when the community brings up items of issue and works to get them resolved as soon as possible. With the changes 1EdTech is making to the LTI specification updating process, these updates should now be able to make it to the public even faster. If you are an institution, LMS, or edtech vendor with needs regarding certain updates to the LTI specification to make interoperability easier for teachers, learners, and administrators, please join us in the discussion in the LTI workgroup as 1EdTech members. If you are unsure about where to start and how to navigate these new changes or are looking for a personalized introduction to LTI and an evaluation of your current state of interoperability, Unicon can help!