Feature Wiki
Tabs
Learning Sequence: Streamlining of Permission Handling
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
This entry has been completely revised. Only the entries in the "Discussion" section were carried over from the old entry.
1 Initial Problem
The current handling of JOIN und LEAVE permissions in the Learning Sequence object is different from other objects in ILIAS like course or group. This leads to problems and wrong configurations and should be changed.
The permissions JOIN and LEAVE have been introduced with the container objects 'Group' and 'Course' to handle the self-registration of users for these object types. The default permission setting for users that are not members yet is to give them VISIBLE and JOIN to see a course/group in the object lists of the repository and to register by themselves to such a course/group (assumed self-registration is allowed). This is why non-members usually do not have READ permission for these objects. They get this permission only by becoming a course or group member.
The object type 'Learning Sequence' in its current implementation behaves a bit different. It uses the JOIN permission to start a learning sequence and the LEAVE permission to finish/complete its use (and to be removed from the list of members). READ permission for the learning sequence gives the opportunity to "look into the object" and even see the linear workflow listing of the embedded objects. But users get no access to the content of learning sequence even if they have READ permission for the embedded objects – as this is only granted by JOIN permission. While JOIN has usually a lower position in the hierarchy of ILIAS permissions than READ, in the learning sequence it is vice versa.
2 Conceptual Summary
The original feature request came with two options to solve the problem and to make the learning sequence behave like other container objects in ILIAS:
- Migrate the current permissions JOIN and LEAVE to new permissions.
- Remove the permissions at all and allow starting the learning sequence with READ permission.
In the meantime, I highly recommend to make things easier and to drop these special permissions.
Suggestion : Remove the permissions at all and allow starting the learning sequence with READ permission
Preferred option is to get rid of this confusing permission handling and to remove these permissions at all.
- The actions of looking into a learning sequence, starting and finishing were all controlled by READ permission.
- If users have READ permission for a learning sequence they can start it.
- If access to the learning sequence should be controlled manually, the user or member role of the parent object should only grant VISIBLE permission and a tutor or admin has to add users manually to the participant list of a learning sequence.
The Learning Sequence would behave similar to the Exercise object where also no specific permission to join or leave the exercise has been implemented.
3 User Interface Modifications
3.1 List of Affected Views
- learning sequence - tab "Permission" - Removing Subscribe, Unsubscribe
3.2 User Interface Details
none
3.3 New User Interface Concepts
none
3.4 Accessibility Implications
none
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: Großkopf, Katrin [katrin.grosskopf], Clausen, Keven [keven.clausen], Auerbach, Jeanine [jeanine.auerbach]
4.2 Technical Aspects
To modify the existing permissions in the database, a migration is requierd
4.3 Privacy
No change requierd
4.4 Security
The implementation contains no security relevant changes to the ILIAS core.
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.
The implementation is funded by the Advisory Board‘s budget.
5 Discussion
Suittenpointner, Florian [suittenpointner], 06 Sep 2021:
I think it's still a little more complex ...
- "Join" and "Leave" do something that is very well comparable to joining/leaving a course, i.e., they assign to you a local "member" role (or remove it again).
"Start" and "Finish" wouldn't express that in a proper way and, thus, users wouldn't realize they put themselves onto a list revealing personal data.
This is particularly severe as, in contrast to courses/groups, a learning sequence still displays you in its learning progress report after you "left" the object.
The same applies to the proposal of removing those permissions entirely. - As it's also possible to be assigned to a learning sequence by some administrator, the [Start|Join] button does different things but reads the same every time.
Being a member already, it should read "Start", however, not being a member yet, it should read "Join".
The same applies to the [Finish/Leave], accordingly.
Kunkel, Matthias [mkunkel], 15 MAR 2023: I would like to fix the permission confusion in the Learning Sequence with ILIAS 9. This is why I have updated this feature request. My preference now is to get rid of the two permissions JOIN and LEAVE and to make the Learning Sequence behave like the Exercise object.
Kunkel, Matthias [mkunkel], 13 MAY 2026: Thanks for pushing this issue and offering a more user-friendly and less complex handling of this component. IMHO, the 'join' and 'leave' permissions are coming through the use of the member service in this component – please tell me, if I am wrong. So are you also removing the use of the membership service in this component? Or do you only remove the permissions?
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: 13. May 2026, 11:26, Kunkel, Matthias [mkunkel]