Feature Wiki

Information about planned and released features

Tabs

Include Delete Status in OAI-PMH Interface

1 Initial Problem

Currently, ILIAS sports a fairly slim implementation of an OAI-PMH interface (see the documentation for details about what optional features of the interface are supported by ILIAS). It does not make use of the protocol's capabilities to explicitely notify queriers about deleted objects (see here for details), related entries simply vanish from the OAI-PMH output.

This means that in OER repositories connected to ILIAS installations (e.g. ZOERR), deleted OER published by an ILIAS installations need to be handled manually.

2 Conceptual Summary

ILIAS should support deleted records in OAI-PMH at the level 'transient' as defined in the protocol.

To this end, ILIAS will keep track of previously published deleted objects (or otherwise 'unpublished' objects, e.g. via a change in copyright information) for 30 days after their deletion. During these 30 days, this deletion will be exposed via the OAI-PMH interface, and querying repositories can react accordingly.

3 User Interface Modifications

3.1 List of Affected Views

No changes to the UI.

3.2 User Interface Details

-

3.3 New User Interface Concepts

-

3.4 Accessibility Implications

-

4 Additional Information

4.1 Involved Authorities

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

4.2 Technical Aspects

Of 'unpublished' objects, only the date of unpublishing and the identifier they were previously published under are kept in the MetaData database tables, in a separate table from the published entries. The identifier contains the object's ID and type. All other information is deleted when the object is unpublished.

All of this is done by the OER Harvester cron job. If the harvester is not running, no information is collected.

In particular for deleted objects, the deletion process is not interferred with at all.

4.3 Privacy

No privacy implications, the only information exposed about deleted objects is the date of deletion, and the identifier they were previously published under (containing the object's ID and its type).

4.4 Security

No foreseeable security implications.

4.5 Contact

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

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

Klees, Richard [rklees], 2025-06-23: Hi Tim,

could you be so kind and add a little more technical information about this feature?

According to the conceptual summary it seems as if this would be interfering with the deletion process in ILIAS somehow. Is this true? This somehow bugs me, because object deletion is a crucial process for various reasons, privacy but also general sanity of data in the database. We put some serious effort into understanding that process and its implications and I worry that we might be in for unpleasant surprises.

What will be kept for 30 days exactly? I'm not only asking about the publication (which you already answered) but also about the data that is contained in the platform. This data could create a privacy issue too: Say someone asks to delete her personal information, I thought I have done so, but then it turns out the information was still existent in the database somewhere... Will the additional deletion behaviour suspended when the OER interface is disabled in general? Will there be a cron that needs to run to wipe the old data? Will there be a special table for the deleted objects or will the data be kept somewhere with the live data? How will I be able to tell them apart?

Thanks for your help!

Schmitz, Tim [tschmitz], 23 JUN 2025: Hi Richard, I updated the Technical Aspects above. In short, no data is kept of deleted objects but the date of their deletion, their object ID and their type. No information is collected at all if the OER Harvester is not running.

JourFixe, ILIAS [jourfixe], 23 JUN 2025: We highly appreciate this suggestion and accept it for trunk.

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: 23. Jun 2025, 16:01, Schmitz, Tim [tschmitz]