Feature Wiki
Tabs
Streamlining behavior when deleting user accounts
Page Overview
[Hide]1 Requirements
1.1 Current state in ILIAS v5.0
First an analysis of the current state what happens to existing objects and content fragments when a user will be deleted:
Own objects | Content fragments of foreign objects | What happens on the deletion of the belonging user? | ||
Personal Workspace | ||||
Folder | object will be deleted | |||
File | object will be deleted | |||
Weblink | object will be deleted | |||
Blog | object will be deleted | |||
public comment | comment persists but no related user will be displayed | (-) | ||
Portfolio | object will be deleted | |||
public comment | comment persists but no related user will be displayed | (-) | ||
Repository | ||||
Category | object persists but becomes ownerless | |||
role membership | object will be deleted | |||
Course | object persists but becomes ownerless | |||
membership | object will be deleted | |||
Folder | object persists but becomes ownerless | |||
Group | object persists but becomes ownerless | |||
membership | object will be deleted | |||
Item Group | object persists but becomes ownerless | |||
Booking Pool | object persists but becomes ownerless | |||
booking object | (a booking object is not assigned to a user, it is owned by the owner of the object) | |||
Forum | object persists but becomes ownerless | |||
thread | The former login name of a deleted user will be preserved and labelled as „Pseudonym“ (even if "posting with pseudonym" is disabled in the settings of the forum) | (L) | ||
answer | ||||
File | object persists but becomes ownerless | |||
Weblink | object persists but becomes ownerless | |||
weblink | (a weblink is not assigned to a user, it is owned by the owner of the object) | |||
Web Feed | object persists but becomes ownerless | |||
Wiki | object persists but becomes ownerless | |||
wiki page | page and revisions persist but no related user will be displayed | (-) | ||
revision of a page | ||||
public comment | comment persists but no related user will be displayed | (-) | ||
Blog | object persists but becomes ownerless | |||
posting | posting persists but the contributor will be displayed as „unknown“ | (U) | ||
public comment | comment persists but no related user will be displayed | (-) | ||
Learning Module ILIAS | object persists but becomes ownerless | |||
learning module page | page and revisions persist but no related user will be displayed | (-) | ||
revision of a page | ||||
public comment | comment persists but no related user will be displayed | (-) | ||
Learning Module HTML | object persists but becomes ownerless | |||
Learning Module SCORM/AICC | object persists but becomes ownerless | |||
Glossary | object persists but becomes ownerless | |||
term | (a term is not assigned to a user, it is owned by the owner of the object) | |||
Data Collection | object persists but becomes ownerless | |||
record | record persists but „Owner“ und „Last edited by“ will be displayed as „unknown“ | (U) | ||
Mediacast | object persists but becomes ownerless | |||
mediacast item | (an item is not assigned to a user, it is owned by the owner of the object) | |||
Media Pool | object persists but becomes ownerless | |||
media object | (a media object is not assigned to a user, it is owned by the owner of the object) | |||
Exercise | object persists but becomes ownerless | |||
submission | will be deleted (including: grading, mark, note, comment, and feedback) | |||
Test | object persists but becomes ownerless
| | ||
test pass | The name of the participant will be displayed as "The user has been deleted." | (D) | ||
Question Pool Test | object persists but becomes ownerless | |||
question | (a question is not assigned to a user, it is owned by the owner of the object)
| | ||
Poll | object persists but becomes ownerless | |||
voting | voting persists (voting is anonymized anyway) | |||
Survey | object persists but becomes ownerless
| | ||
survey pass | The name of the participant will be displayed as "The user has been deleted." | (D) | ||
Question Pool Survey | object persists but becomes ownerless | |||
question | (a question is not assigned to a user, it is owned by the owner of the object)
| | ||
Portfolio Template | object persists but becomes ownerless |
Summary
| All objects, which a user added to the personal workspace, will be deleted. | |
| On the contrary all objects, which a user added to the repository, loose their ownership and therefore will become orphaned.[1] | |
Content fragments of foreign objects (e.g. contributions to forums, submissions to exercises, passes and results of tests and surveys, public comments) are handled differently according to the type of object: | ||
| At some objects the content fragments will be anonymized when a user will be deleted. Here either no user is displayed (-), the user is dispayed as "unknown" (U), or the user will be mentioned as "deleted" (D). | |
| At some other objects (test, survey, question of a question pool for tests/surveys) the name (academic title, firstname, lastname) of a deleted user will be preserved as a data fragment (N). In contributions of personalized forums the login name of a deleted user will be preserved as a data fragment (L). This could lead to a problem concerning data privacy. | |
| A submission to an exercise will be deleted. |
1.2 Conclusion and presupposition for a proposal
Ownerless objects should be avoided if possible, because in many cases they cannot be continued to use anymore.
Displaying the information that a user was deleted should be uniform in all objects.
Preserving the full name of a deleted user should be avoided for privacy reasons if not clearly specified.
1.3 Proposal
Based on these analysis of the current state I will here develop a proposal for streamlining the behavior of ILIAS when a user will be deleted.
Own objects in the personal workspace
should be deleted as in the current state
Own objects in the repository
Different behavior could be desired dependent on the user and the objects in question:
The object persists and looses its ownership. Therefore it becomes ownerless.
The object persists and changes the ownership to the owner of the next higher object in the repository tree (the surrounding folder, group, course or category). [Should be the default behavior]
When the object is on the highest level of the repository, then root becomes the owner.The object persists and changes the ownership to a user-defined or selected owner.
If the object is a content object:
The object will be deleted. A warning should be thrown prior to the deletion.
If the object is a container object (category, course, group, folder):
If the object contains objects of other owners, the object should persist and an other rule has to be chosen concerning the ownership (see above).
If the object only contains objects of the same owner, the object should be deleted including all embedded objects. A warning should be thrown prior to the deletion.
Content fragments of foreign objects
The behavior of all objects should be consistent but different behavior could be desired:
The content fragment persists and the user is displayed as "The user has been deleted.". [Should be the default behavior]
The content fragment persists and the name (academic title, firstname, lastname) of the user will be preserved.[2]
The content fragment will be deleted. A warning should be thrown prior to the deletion.
Content fragments where the user is displayed as "unknown" or where the user field is empty after the deletion of a user are not desirable.
1.4 Mock-ups
Administration » User Management:
(in preparation)
Administration » General Settings: Cron Jobs:
Delete inactivated user accounts
![](./data/docu/mobs/mm_44842/Administration Cron Jobs.png?il_wac_token=c0172d578b5539c3fa3f7ad9dcbc6a2dca6a28d3&il_wac_ttl=5&il_wac_ts=1725755069)
and when selecting the last option of "User objects in the repository":
![](./data/docu/mobs/mm_44843/Administration Cron Jobs 2.png?il_wac_token=c0172d578b5539c3fa3f7ad9dcbc6a2dca6a28d3&il_wac_ttl=5&il_wac_ts=1725755069)
Delete inactive user accounts
Mock-up analogous to the mock-up of "Delete inactivated user accounts" above.
1.5 Enhancements
Maybe it should be possible to define the default behavior based on global roles.
Considering authors of learning content. It won't make sense if their objects (e.g. learning modules, question pools and glossaries) would be deleted when they leave an institution. Contrary to tests passes which could be deleted because they are mostly for test purposes.
Considering students, this could be the other way round. Here test passes could be examination fragments and the name of the student user should be preserved in the test results even if the student already left the university.
Furthermore, it could be desired to define the default behavior in more detail based on object types.
2 Additional Information
- Idea / concept: Mirco Hilbert, JLU Gießen, Mirco.Hilbert@hrz.uni-giessen.de
- Interest in funding: (please indicate if you are interested/able to fund this feature)
- Maintainer: (will be set by Jour Fixe / maintainer)
- Implementation of the feature is done by (will be set by Jour Fixe / maintainer)
- Testcases by: (please add your name if you want to create the testcases for this feature)
3 Discussion
4 Implementation
{please give a descripiton of the final implementation and add screenshots if possible}
Test Cases
Test cases completed at {date} by {user}
- {Test case numberlinked to Testrail} : {test case title}
Approval
Tested successfully and approved at {date} by {user}.
Last edited: 3. Jul 2015, 10:01, Hilbert, Mirco [mirco.hilbert]