Feature Wiki

Information about planned and released features

Tabs

Adaptive Section for the Page Editor

1 Summary

The "Section" component in the ILIAS Page Editor can carry preconditions, such that creating adaptive learning content with the page editor is easier.

2 Problem Statement

Designing adaptive learning scenarios in the ILIAS page editor is cumbersome, and requires in-depth knowledge about preconditions, RBAC, and the page editor, and how they interact. This makes those scenarios hard to configure, and hard to maintain.

Currently, the established mechanism to make page editor content change with the learning progress of users is as follows:

  1. One or multiple repository objects are used to track the learning progress of the user.
  2. A (non-accessible) "Permission Object" is configured with preconditions, such that it is only accessible to the user if they have successfully worked through the tracking objects.
  3. A section with "Permission Handling" enabled reacts to the READ/VISIBLE permission of the dummy object.

In this way, the page editor section is either shown or not shown depending on the learning progress of the user. This is quite complicated, and error prone.

3 Concept

The "Section" component in the ILIAS Page Editor aquires a new configuration option "Depends on Preconditions". When activated, preconditions can be configured for the section, analogous to how preconditions can be added to repository objects. The section is then only visible to users that fulfill the preconditions.

This way, we can cut out the middle man in the current process, no need for "Permission Objects" anymore that only exist to carry preconditions.

Copying and Import/Export?

4 User Interface Modifications

4.1 List of Affected Views

  • ILIAS Page Editor

4.2 User Interface Details

When a "Section" is selected or inserted in the page editor, a new configuration option appears in the slate on the left side as a checkbox "Depends on Preconditions".

MOCKUP: page editor mit slate, section creation, precondition checkbox not activated

Describe creation process when "Depends on Preconditions" is activated, precondition settings shown as page editor main content (see accordions). Normal block settings are shown in slate, but nothing under "Depends on Preconditions".

MOCKUPS: precondition settings in page editor

Editing existing sections with "Depends on Preconditions": a summary of preconditions is shown under "Depends on Preconditions", along with a link "Edit Preconditions" that leads to the precondition settings.

MOCKUP: page editor mit slate, section selected, precondition checkbox activated, precondition summary and link to settings

4.3 New User Interface Concepts

-

4.4 Technical Aspects

Preconditions need to be able to accomodate non-repository-objects as targets, with the help of a secondary ID.

5 Non-Functional Implications

5.1 Security

No foreseeable security implications.

5.2 Privacy

No personal data is processed or displayed.

5.3 Accessibility Implications

{ If the proposal contains potential accessibility issues that are neither covered by existing UI components nor clarified by guidelines, please list them here. For every potential issue please either propose a solution or write down a short risk assessment about potential fallout if there would be no solution for the issue. }

6 Process Information

6.1 Involved Authorities

If this request is related to multiple components, please list both authorities for all related components.

6.2 Contact

Person to be contacted in case of questions about the feature or for funding offers: Gribchenko, Kseniia [ksgrie] and Schmitz, Tim [tschmitz]

6.3 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'.

7 Discussion

8 Implementation

Feature has been implemented by {Please add related profile link of this person}

8.1 Description and Screenshots

{ Description of the final implementation and the changed behaviour in the related components. Please add screenshots to visualise the changes if possible. }

8.2 Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

8.3 Privacy

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

8.4 Approval

Approved at {date} by {user}.

Last edited: 21. Aug 2026, 11:38, Schmitz, Tim [tschmitz]