User Tools

Site Tools


dev:proposal:authorities

This is an old revision of the document!


Respect my authorities

Spurred by the International Institute of Social History, which needs to act as a source of authorities to the rest of the world, we hope to implement the following features by the end of August 2010, with Evergreen 2.0 as the integration target:

Controllable control numbers

Ability to have predictable control numbers for the records (both authority and bibliographic), suitable for use at an institution that needs to act as a source of authorities. Simplest acceptable approach is to use the record ID as the 001 and generate the corresponding 035 for the institution. The current AUTOGENERATED-TCN approach makes us sad.

Implementation thoughts: follow trunk's lead for bib records with the cat.bib.use_id_for_tcn config.global_flag setting and add a cat.auth.use_id_for_tcn setting.

UPDATE: Further implementation thought – we can use the ON UPDATE OR INSERT OR DELETE trigger, which now exists in trunk for optional update propagation (see below), to overwrites the 035$a with the id, preceded by a value stored in an OU setting (or defaulting to, say, "EVRGRN") as the agency code, surrounded by parens. IMO (miker) this should be unconditional, as the 035 is enough and it would be best to leave the 001 alone. This would also allow us to simply drop the arn_value and arn_source columns from authority.record_entry, which would be good all around.

FURTHER UPDATE (per IRC chat):

  • We will create a trigger that ensures the 901$c always contains the record ID.
  • For authority, bibliographic, and MFHD records, we will provide a global flag in config.global_flag that (if enabled), on import or record creation:
    • Pushes an existing 001/004 into a new 035 (if that combination does not yet exist); if there is no 001, then ignore this step.
    • Pushes the raw numeric record ID into the 001
    • Sets the 004 to the specified OU agency code

Strengthen the linkage between authority records and bibliographic records

Link controlled fields in bibliographic records to the authority record for that field via the $0 subfield, per the MARC specification (authority record 035 $a == bib controlled subfield $0), so that a change to an authority record will automatically generate the corresponding changes in any bibliographic records that are linked to that authority record.

Implementation thoughts: Mike mentioned that someone was concerned that the MARC limit of on $0 subfield per field meant that there would be problems if a controlled free-floating subdivision was used in a controlled field. Some examples from those directly concerned people would be helpful; in a worst-case scenario, we could ignore the MARC spec and make the $0 repeatable.

UPDATE: So, $0 is repeatable, it seems, according to the LoC docs. It's not stated explicitly, but spot-checking instances of $0 listed in specific tags suggests so, as they all say (R) by $0. Sorry for the confusion.

UPDATE 2: See r16816 which implements optional (controlled by a global flag) bib-authority linking via repeatable $0 subfields. The set of controlled fields will likely need to be expanded and adjusted, but this commit implements the same set that is used by the Validate button in the MARC Editor. The agency code in the $0 of the bib and the 035$a of the authority record are both ignored, and only the numeric code (the authority.record_entry.id, forced into the authority record) is used.

Syncs

Ensure any updates to authority records automatically update the controlled fields in the bibliographic records. Should be relatively easy as long as it only affects $0-controlled fields.

UPDATE: See r16817 for the optional (controlled by a global flag) authority update propagation functions, attached to authority.record_entry via a trigger.

An existing set of records without controlled fields will need to be taught how to be controlled.

UPDATE: This will likely be a significant project, and may be outside the scope of core functionality. Possibly a set of stored procedures that live in the proposed munge schema that extract and compare controlled fields in bibs with authority main entry fields? Note, NACO-normalized comparison would be appropriate here.

Trace

Enable appropriate use of tracing fields (the use of $w 0=g/h for broader/narrower terms). The idea is to build on the authority.tracing_links view already in Evergreen and expose its functionality at appropriate points in the staff client and user interface.

User interface

Add an authority in the flow

Make it easy to manually add an authority during bibliographic cataloguing, without interrupting the workflow of the bibliographic record the cataloguer was working on.

Fix fixed fields for authorities

The current MARC editor does not know about any kind of MARC other than bibliographic records. Teach it to properly handle authority records so that the fixed fields don't look insane.

Highlight controlled fields

Highlight in the user interface when an uncontrolled field is validated as a controlled field and linked to a specific authority record (this presupposes that we teach the "Validate" button to add the appropriate $0 to the field when a matching authority is found)

Simplify authority record selection

Improve authority selection interface during bibliographic cataloguing (such as the ability to invoke a browse list, perhaps; also to prevent cataloguers from choosing a See From tracing, etc)

Delete authority record

Make it possible to delete an authority record.

Merge authority records

Make it possible to merge authority records, so that if you discover after a period of time that two records describe the same thing, you can automatically shift all affected bibliographic records to point to the merged authority.

Exposure

Expose authority records for search and retrieval from the outside world via SRU and Z39.50. As we would need a basic set of indices to support SRU/Z39.50, we should also be able to build a fairly simple search interface into the client that would enable cataloguers to retrieve individual records for editing.

Implementation thoughts: largely cut and paste from the existing metabib indexing framework.

dev/proposal/authorities.1278425457.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.