Hello Vít,

> We need to track to which library a record belongs. Also the record
> has it's physical id and a local id which are library specific.

Great, you have everything you need!

> 1. When replacing a record with marcXML without the 001 tag we need to
> check whether there is a record in the invenio database with the same
> library + local_id combination and if it is replace it with the
> marcXML data. (This I think can be done using bibmatch.)

Not necessarily.  You can use the 035 Marc tag to store this «external
identifier»:

 http://www.loc.gov/marc/bibliographic/bd035.html

If those libraries have an oficial identification, you can use the
(librarycode)idientifier value in $a, or a simpler $9 librarycode $a
number.  Invenio will use those values so that even if you reload your
records several times, they will overwrite old records, not creating new
ones.

 http://invenio-software.org/repo/invenio/tree/config/invenio.conf#n1573

> 2. Duplicity checking should take into account library + phys_id
> combination. I do not see any other way than to hack bibupload for
> this. Am I missing something?

No need to hack bibload.  You can use the library code as 980 $a (or $b)
in case you need to create a collection for each library, but it depends
on how you'd like to display those records on your database.

> 3. We would like to move marcXML files to directories OK and NOT_OK
> after they are uploaded based on the result of the upload. Is there a
> way how a bibtakslet can get this information or do I need to use
> callback machine for that?

If you use 035, the records will be either inserted (new records) or
updated (overwritten).  You will get the list in the bibupload log.

Hope it helps,

Ferran

Reply via email to