On Mon, 29 Apr 2013, Ferran Jorba wrote: >> I was actually looking at invenio.conf but since I am new to this >> area I didn't connect the dots. What is the difference between >> external number and external OAI_ID? What takes precedence during >> replace/update? > > I think that in this case they overlap; Invenio uses OAI_ID (or OAIID) > and external identifier as synonyms; at least, I use 035 for any > external source, either OAI or batch load. If I'm wrong, please > somebody correct me.
The details can be found in bibupload.py's retrieve_rec_id(). The matching precedence goes like this: 001 - record ID 970 - external system ID (CFG_BIBUPLOAD_EXTERNAL_SYSNO_TAG) 035 - external system ID (CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG) 909COo - internal OAI ID (CFG_OAI_ID_FIELD) 0247_2 - DOI I agree the names are confusing, e.g. the difference between 035 and 970 is purely historical, so to speak. You can safely use only 001 and 035, as Ferran does. As a bonus the use of 035 is more MARC-friendly. > Sorry, I have no experience with those STRONG_TAGS, so I cannot > answer. Strong tags are meant to resist any replace operation. The wanted usage was as follows. Imagine you use another system to keep track of your holdings, say, and you have some synchronisation process running every night that will update some MARC tag in your records to store the number of copies a book has. In this scenario, if you are using BibEdit or synchronisation of metadata from some other system, you don't want to replace this information that is got from the holdings system. Hence the declaration of the concerned tag as `strong' so that it would resist replace operations and would not get erased. In the usual case, you probably don't need to use this feature. It was born before Invenio had its own circulation module. >> If you use 035, the records will be either inserted (new records) >> or updated (overwritten). You will get the list in the bibupload >> log. >> >> Does this mean that the records will be updated based on 035 even when >> the bibupload is not run in replace/update mode? In case bibupload runs with `insert' mode, and the incoming record has 035 that matches some existing record, then the bibupload process will stop with an error saying something like ``sorry you wanted to insert a new record but it seems there is already a record in the system with the some persistent ID, hence I cannot create new record''. If you use `bibupload -i -r' combination, then this combines insert mode and replace mode, and the usage of a persistent identifier tags like 035 will help bibupload to determine whether to use insert or replace for the given incoming record. The use of `-i -r' is like asking bibupload ``I want to load all these records and if they exist, update what exists, and if they don't, then insert them.''. So the behaviour of bibupload is trying to respect the input mode of the user. In case it can resolve references, it will do it. In case it would conflict with user's desired input mode, it will stop with an error. Best regards -- Tibor Simko

