If a record is no longer available then it is said to be deleted. Repositories must declare one of three levels of support for deleted records in the deletedRecord element of the Identify response:
- no - the repository does not maintain information about deletions. A repository that indicates this level of support must not reveal a deleted status in any response
- persistent - the repository maintains information about deletions with no time limit. A repository that indicates this level of support must persistently keep track of the full history of deletions and consistently reveal the status of a deleted record over time
- transient - the repository does not guarantee that a list of deletions is maintained persistently or consistently. A repository that indicates this level of support may reveal a deleted status for records
The DRIVER Guidelines request the DRIVER repositories to use the option 'transient'. The option 'persistent' can also be used. This option makes the harvester do an easier job to detect deleted records.
The advantage of the repository keeping track of deletions is that a service provider will not display records which are not available anymore in that repository. Besides that, this strategy allows harvesters to avoid re-loading the full repository each time and makes the harvesting process more efficient.
Use of transient: When a record is deleted, the repository must indicate the deletion for at least a month. In this period of time most harvesters have updated their database incrementally (without a full re-harvest).
If a repository does keep track of deletions, then the datestamp of the deleted record must be the date and time that it was deleted. Responses to GetRecord and ListRecords requests for a deleted record must then include a header with the attribute status="deleted". Incremental harvesting will thus discover deletions from repositories that keep track of them.