Hello Jerome,

>> [...]
>> we have a collection of records that used to belong to an OAI set.
>> For
>> several reasons, they are not exportable any more.  We have deleted
>> the
>> OAI set definition via oaiarchiveadmin, but those records continue to
>> exist in our system.  As a matter of fact, they still have their OAI
>> name set and OAI id in their records (ex,
>> http://ddd.uab.cat/record/11358?ln=en&of=hm).
>
> that's an interesting question that calls for multiple answers.
>
> First let me precise that what you describe is the expected
> behaviour of the system: to apply the settings defined for a set
> in the web interface, you have to run the 'oaiarchive' CLI by
> specifying the set you want to consider. This is also applicable
> when deleting sets:
>
> $ oaiarchive --delete po 'setname'
>
> This simply removes the OAI set(s) and OAI identifier (if needed)
> from the metadata.  Note that it implies that the corresponding
> set definition is still in the web admin interface...
>
> So in your case if you want to update the metadata of your
> records to reflect this modification, you could add this set
> again, run the oaiarchive tool, and then delete the set...

Understood.  However, and being ourselves quite newbies in this OAI
business, we already used this `oaiarchive --delete' tool to fix some
misconfiguration in our site when we started to export.  We saw at that
time that doing this, oaiarchive deletes all subfields (in our case, $9
and $a) but it leaves the tag empty.  This is a small buglet that I
didn't report at that time and I do it now.  If `oaiarchive --delete'
doesn't do any other black magic, I'll remove the whole tag myself.

> Fortunately (or not, depending on your usage of the system) this
> behaviour is going to change in future versions of CDS Invenio:
> any modification of the settings defined in the web admin
> interface will have an impact on your records, no need to
> add/remove sets! You might therefore want to get prepared and
> clean the set definitions you do not need in the admin interface
> of your repository.

Ok, thanks for reporting it.

> In the light of what precedes, how can you mark a record
> as "OAI-deleted"?  We have to turn to the the specifications of
> the OAI protocol to get a detailed answer:
> <http://www.openarchives.org/OAI/openarchivesprotocol.html#DeletedRecords 
>>
>
> By default CDS Invenio supports the "no" mode. It is also
> possible to set it to work in the "persistent" or "transient"
> modes (as you seem to have done), but they do not behave well in
> the case you describe, since we do not keep track if a record
> was ever OAI-exported, as we just remove any OAI indication from
> the metadata (however it works well when you simply delete a
> record).

Please understand that we defined our deletedRecord "persistent" as our
best guess (again, we are just starting to know OAI as we use it) and
probably without understanding the whole implications of defining it
this way.  If you think that our Invenio should be configured in some
other way, we'll follow your advice.

> So in your case, how can you mark your record as OAI-deleted in
> transient mode, without actually deleting the record?  Well you
> cannot for the moment.  A basic solution would be to set the
> value of some dedicated field to "OAIDELETED" when the record is
> no longer exported, and adapt the OAI gateway to understand this
> information. I will think about it and will provide you with a
> patch.

Oh, that would be great!

> What if you "remove" a record from your OAI repository, and bring
> it back later? Is the OAI identifier preserved? Yes, it does:
> even though we delete the OAI idenfier from the metadata, we can
> re-generate it as it was, since it is built on the basis of the
> record ID. However this case if not well defined in OAI-PMH, so
> one never know how harvesters will behave if you choose to expose
> you deleted records again.

Thank you for your explanations,

Ferran

Reply via email to