Feature Wiki

Information about planned and released features

Tabs

Deletion concepts for xAPI data

1 Initial Problem

Strictly according to the xAPI and cmi5 specifications, deletion of xAPI data is not provided for. However, this contradicts data protection requirements. This is another reason why there are Learning Record Stores (LRS) such as Learning Locker, which enable the deletion of statements via a special API. But there are xAPI data in the form of states in addition to statements. It should also be possible to delete states.

ILIAS so far only supports the deletion of data via a plugin.

2 Conceptual Summary

Since in practice data in LRS is often stored pseudonymously (e.g. for research data management), the deletion process should not be fully automated.
Times for deletion would be the removal of a user from ILIAS and / or the termination of a course or group membership.
When terminating a course or group membership, it should be checked whether the included xAPI/cmi5 object is not also used in other contexts, e.g. via a link.
If the use should also be possible outside of a course or a group, the data would not have to be deleted.
There is no provision in this feature request for users or course administrators or group administrators to manually delete xAPI data.
Events are used for the automated triggering of deletions.

3 User Interface Modifications

3.1 List of Affected Views

s. Administration -> Extending ILIAS -> LRS

3.2 User Interface Details

In the administration for the LRS type, two options are included depending on the selection of the LRS used.     
1. Deletion of data when the ILIAS user is deleted.
2. Deletion of xAPI data of users upon termination of course or group memberships.
The latter would also include deletion of data of course administrators, course tutors and group administrators.
Other objects with person assignments should be included.

3.3 New User Interface Concepts

none

3.4 Accessibility Implications

none

4 Technical Information

For technical implementation, it should be noted that the deletion process of a user can run without much delay. Therefore, a cron job must be included, which should run daily.
In the case that an LRS is not available at the time of the intended deletion process, the deletion process is triggered again during the next cron job run.
If applicable, a notification can be sent to a responsible administrator if a delete operation was unsuccessful.
The options for the delete operation cannot be included centrally independently of the LRS type, since the key and secret for the LRS type are always required for deletion.
If the LRS does not provide an API for deleting states, states must be overwritten. 

5 Privacynot

Personal data will need to be stored, but deleted.

6 Security

none

7 Contact

8 Funding

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

  • Funded via INVITE-Project 'VerDatAs'

9 Discussion

JourFixe, ILIAS [jourfixe], 21 AUG 2023 : We highly appreciate this suggestion and schedule the feature for ILIAS 9.

10 Implementation

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

Test Cases

Test cases completed at 2023/10/27 by Kohnle, Uwe [ukohnle]

  • C63608:  Löschen der Benutzeridentifikation bei gelöschtem Benutzer  
  • C63609:  Löschen der Benutzeridentifikation bei einem Benutzer, der aus einem Kurs mit xAPI-Objekten entfernt wurde
  • C63610:  Löschen der Benutzeridentifikation bei einem Benutzer, der aus einer Gruppe mit xAPI-Objekten entfernt wurde  
  • C63611:  Löschen der Benutzeridentifikation bei in den Papierkorb verschobenen Objekten  
  • C63612:   Daten werden nicht gelöscht 
  • C63613:  ohne aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei gelöschtem Benutzer  
  • C63614:  ohne aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei einem Benutzer, der aus einem Kurs mit xAPI-Objekten entfernt wurde
  • C63615:  ohne aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei einem Benutzer, der aus einer Gruppe mit xAPI-Objekten entfernt wurde
  • C63616:  ohne aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei in den Papierkorb verschobenen Objekten
  • C63617:  mit aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei gelöschtem Benutzer  
  • C63618:  mit aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei einem Benutzer, der aus einem Kurs mit xAPI-Objekten entfernt wurde
  • C63619:  mit aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei einem Benutzer, der aus einer Gruppe mit xAPI-Objekten entfernt wurde
  • C63620:  mit aktiviertem Crojob 'xAPI/cmi5 Daten löschen': Löschen von LRS-Daten bei in den Papierkorb verschobenen Objekten

Approval

Approved at  2023/10/27 by Harald Grübele  vimotion [vimotion].

Last edited: 27. Oct 2023, 16:20, [vimotion]