25. Internationale ILIAS-Konferenz

Feature Wiki

Information about planned and released features

Tabs

Advanced Grading Service as Provider/Tool

1 Initial Problem

ILIAS does not support Assignment and Grade Services (AGS) when it acts as an LTI 1.3 Provider/Tool. An external Platform cannot receive line items and scores from ILIAS through the LTI 1.3 AGS standard.
ILIAS 12 needs AGS Provider/Tool support for interoperable grade exchange with external LTI Platforms.

2 Conceptual Summary

ILIAS 12 shall implement AGS as an LTI 1.3 Provider/Tool. For an enabled Provider/Tool integration, ILIAS shall create or update line items and publish scores to the external Platform.
Grades may originate from learning progress and from graded ILIAS objects. AGS is enabled per Provider/Tool integration and may be configured for published objects. Scores are sent when relevant values change, with a cron-based fallback.
The scope is limited to line items and scores. It does not include processing gradebook changes from the Platform.

https://www.imsglobal.org/sites/default/files/specs/images/lti-ags/2p0/GradebookServicesOverview.png

The planned implementation is based on https://www.imsglobal.org/spec/lti-ags/v2p0/ , i.e. version No. 2 of January 24, 2023.
This implementation does not take into account changes in the gradebook on the part of the platform. These are currently not to be implemented in ILIAS as a tool, since profound effects on the determination of the learning progress are to be expected.

The feature therefore only aims at transferring learning progress from released ILIAS objects (for courses and groups including the objects contained therein that are relevant for the learning progress) to the LTI Platform. If learning progress is not activated in general or for individual objects, nothing will be transferred.
The data is transferred to the LTI Platform at two points in time: when the learning progress changes and, as an option, additionally with the LTI cronjob. In the future, the cronjob will be called "LTI Grade Service" instead of "LTI Outcome Service".

3 User Interface Modifications

3.1 List of Affected Views

  • nothing

3.2 User Interface Details

nothing

3.3 New User Interface Concepts

nothing

3.4 Accessibility Implications

nothing

4 Technical Information

No potential security issue known for this LTI feature. Tiny performance issues because data is transmitted.

5 Privacy

It could be discussed whether a separate activation of the Grade Service via Administration -> LTI -> ILIAS as LTI Provider -> LTI Consumers -> Edit or at the released object is required. I suggest that this be omitted. Thus the simple rule can apply: Learning progress activated and object released for LTI Platform means at the same time Grade Service active.

6 Security

Institutions that want to display the learning progress data generated in ILIAS in their platforms have to rely on the Outcome Service of LTI 1.1 so far. LTI 1.1 uses OAuth 1.0 (deprecated). It means an increase in security if Oauth 1.0 no longer needs to be used by switching to LTI 1.3. Instead of the Outcome Service, it requires the Assignment and Grade Service. 
As described above, however, the Assignment and Grade Service is not to be fully implemented. As with the Outcome Service, ILIAS only sends data, but does not take into account changes in the gradebook of the platform.
This small feature would make it easier for many to switch to LTI 1.3 and I hope to be able to get rid of ILIAS support for LTI 1.1 with ILIAS 10.

7 Contact

Author of the Request: Díaz, Saúl [sdiaz]
Maintainer: Díaz, Saúl [sdiaz]
Implementation of the feature is done by: Díaz, Saúl [sdiaz]

8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

9 Discussion

10 Implementation

{ The maintainer has to give a description of the final implementation and add screenshots if possible. }

Test Cases

Test cases completed at {date} by {user}
  • {Test case number linked to Testrail} : {test case title}

Privacy

Information in privacy.md of component: updated on {date} by {user} | no change required

Approval

Approved at {date} by {user}.

Last edited: 24. Jul 2026, 14:35, Díaz, Saúl [sdiaz]