Feature Wiki
Tabs
Adaptive Learning Paths: Extention of Object Conditions – Input & Output Conditions
Page Overview
[Hide]- 1 Initial Problem
- 2 Conceptual Summary
- 3 User Interface Modifications
- 4 Additional Information
- 4.1 Involved Authorities
- 4.2 Technical Aspects
- 4.3 Privacy
- 4.4 Security
- 4.5 Contact
- 4.6 Funding
- 5 Discussion
- 6 Implementation
- 6.1 Description and Screenshots
- 6.2 Test Cases
- 6.3 Privacy
- 6.4 Approval
1 Initial Problem
Currently, ILIAS does not offer native core solutions for adaptive learning paths within the learning sequence. Existing approaches using preconditions or external plugins are complex and difficult to maintain. For true adaptivity, more flexible conditions are required that go beyond a purely linear sequence.
The first thing to note is that the input and output conditions of objects in the learning sequence cannot be directly set, thus limiting the setting of learning sequences. At present, the only configurable setting is when a user is permitted to proceed to the next piece of learning content—a limitation that renders learning sequences linear. To enable adaptivity, input and output conditions are missing, so that it can be set when the user is allowed to access which object.
2 Conceptual Summary
As part of Phase 1, the "Learning Sequence" component will be supplemented with extended object conditions. The goal is to make path control more dynamic. As a first step, the expansion of input and output conditions will be introduced. Meaning, there will be adjustments based on learning progress and user decisions.
Input conditions
Input conditions are conditions that must be met in order to enter or start an object. In this process, object x is selected; its exit conditions must be met in order to proceed with object z. Additional input conditions are defined in later FR‘s.
Output conditions
Output conditions are conditions/rules that define ‘what happens when exiting an object‘. The following options for output conditions will be available:
- not started (based on learning progress),
- in progress (based on learning progress),
- completed (based on learning progress),
- failed (based on learning progress), and
- always.
Defining Conditions
The start and end objects of the learning sequence are defined using the "Set Start Object" and "Set End Object" actions.

In addition, the content management table is being migrated to KitchenSink and displayed as a presentation table (see 3.2 for mockups).
3 User Interface Modifications
3.1 List of Affected Views
- Learning Sequence > Content > Manage
3.2 User Interface Details
Following KS elements will likely be used:
- Presentation Table
- Drilldown
Mockup for closed presentation table:

Mockup for opened presentation table:

The action menu includes the following actions:
- Edit Condition
- Add Condition
- Set Start Object
- Set End Object
- Object Settings
- Delete Object
Mockup for adding input condition:


Mockups for adding output condition:


After that, a modal may open where further editing options can be selected.
The "edit condition" action also opens a modal where you select the condition you wish to edit.
3.3 New User Interface Concepts
none
3.4 Accessibility Implications
The implementation utilizes Kitchen Sink elements to ensure accessibilty.
4 Additional Information
4.1 Involved Authorities
- Authority to Sign off on Conceptual Changes: Großkopf, Katrin [katrin.grosskopf]
- Authority to Sign off Code Changes: Clausen, Keven [keven.clausen], Großkopf, Katrin [katrin.grosskopf], Auerbach, Jeanine [jeanine.auerbach]
4.2 Technical Aspects
With the new version of ILIAS in which the FR is being released, the existing content management for the learning sequence must be migrated to the new table. During this process, the "User may proceed" column is transferred into the new logic as a set of output conditions.
4.3 Privacy
Learning progress data is processed to evaluate the conditions. No new categories of personal data are introduced.
4.4 Security
No special security-relevant changes beyond the standard.
4.5 Contact
Person to be contacted in case of questions about the feature or for funding offers: Auerbach, Jeanine [jeanine.auerbach], Clausen, Keven [keven.clausen]
4.6 Funding
Funding status and funding parties are listed in the block 'Status of Feature' in the right column of this page.
If you are interested to give funding for this feature, please get into contact with the person mentioned above as 'Contact'.
5 Discussion
Kunkel, Matthias [mkunkel], 22 JUL 2026: To force the acceptance and use of this valuable extension of the Learning Sequence by users we should make its easy to use and understandable. Therefore, information of required input and output conditions should be easy to understand. In the current mockup we see information like "Input conditions: Object C" or "Output conditions: always". At least for me these messages are not really clear. Couldn't we give a more meaningful and clearer message?
6 Implementation
Feature has been implemented by {Please add related profile link of this person}
6.1 Description and Screenshots
{ Description of the final implementation and screenshots if possible. }
6.2 Test Cases
Test cases completed at {date} by {user}
- {Test case number linked to Testrail} : {test case title}
6.3 Privacy
Information in privacy.md of component: updated at {date} by {user} | no change required
6.4 Approval
Approved at {date} by {user}.
Last edited: 22. Jul 2026, 09:41, Kunkel, Matthias [mkunkel]