A completely overhauled and generally much improved version of marc2bre from
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 1 Oct 2008 12:42:59 +0000 (12:42 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 1 Oct 2008 12:42:59 +0000 (12:42 +0000)
commiteb2baecb59df2f072baed35439bcdd5e39ea7291
tree6a35bacbc926d69e28e50179e6608a83968665b7
parentad9d22b46d6fcb635a76d8e7677b699bb78d2e89
A completely overhauled and generally much improved version of marc2bre from
Dan Wells.  Among other impovements, this contains:

1) In addition to or instead of specifying an "ID" field, one may now specify
a TCN field.  Our utter reliance on TCNs in my library may be out of the
ordinary, but maybe not, so I am hoping this option will prove useful to
others.

2) Some ambiguously named options have been deprecated and replaced with better
ones.  Either are still supported.  I considered trying to standardize the use
of underscores in option names, but didn't want to overstep on that.  The new
'tcn*' options are patterned after the 'id*' options (no underscores), but a
few other old and new options both did and still do have underscores where
readability is otherwise (subjectively) difficult.

3) Because of this new emphasis on preserving TCNs, any code which assumed the
ID and TCN to be related no longer does so.  They can of course still be the
same if desired.  Many variables have been renamed to make this distinction
much more explicit.

4) A recently added 'use901' flag has been expanded to now skip all ID/TCN
processing entirely and simply use the values in the 901.  I am unsure if that
was the intention, but it sounded good to me, and I believe many other desired
effects can be achieved by now using a combination of idfield and tcnfield
values.

5) Rather than defaulting to 'System' for TCN source, 'System' is reserved for
TCNs which are set to match the corresponding internal record IDs and
'Unknown' is used for all others.  Also, 'Sirsi_Auto' was added for
identifying imported Sirsi auto-generated TCNs (e.g. a1234567).

6) The code is now much more throughly commented, including basic explanations
of all the options.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@10742 dcc99617-32d9-48b4-a31d-7c20da2025e4
Open-ILS/src/extras/import/marc2bre.pl