User Tools

Site Tools


dev:proposal:authorities

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:proposal:authorities [2010/07/15 03:40] – Update authority linking status dbsdev:proposal:authorities [2022/02/10 13:34] (current) – external edit 127.0.0.1
Line 17: Line 17:
  
   * Mike committed [[http://svn.open-ils.org/trac/ILS/changeset/16816|r16816]] to 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. For example, given the subfield ''$0(CONS)1234'' in bibliographic record ID ''9876'', ''1234'' will be inserted into the ''authority'' column of the ''authority.bib_linking'' table and ''9876'' will be inserted into the ''bib'' column to track the authority-to-bib relationship.   * Mike committed [[http://svn.open-ils.org/trac/ILS/changeset/16816|r16816]] to 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. For example, given the subfield ''$0(CONS)1234'' in bibliographic record ID ''9876'', ''1234'' will be inserted into the ''authority'' column of the ''authority.bib_linking'' table and ''9876'' will be inserted into the ''bib'' column to track the authority-to-bib relationship.
- +  Dan committed server-side support for ensuring that when bibliographic records merge, the bib value in the authority-to-bib linking table will be updated accordingly [[http://svn.open-ils.org/trac/ILS/changeset/16935|r16935]].
-**TODO**: Add actions to clean up ''authority.bib_linking'' when authority records are merged or deleted.+
  
 ==== Syncs ==== ==== 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. +  * **Requirement:** 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. 
- +    Mike committed [[http://svn.open-ils.org/trac/ILS/changeset/16817|r16817]] for an optional (controlled by global flag ''ingest.disable_authority_auto_update'', enabled by default) authority update propagation function, attached to ''authority.record_entry'' via a trigger. 
-**UPDATE**: See [[http://svn.open-ils.org/trac/ILS/changeset/16817|r16817]] for the optional (controlled by global flag) authority update propagation functions, attached to authority.record_entry via a trigger. +    * **TODO** One possible bug is that the old subfields are deleted and new subfields are added to the end of the field; this could play havoc with the proper order of subfields. 
- +  * **Requirement:** An existing set of records without controlled fields will need to be taught how to be controlled. 
-An existing set of records without controlled fields will need to be taught how to be controlled. +    Dan committed [[http://svn.open-ils.org/trac/ILS/browser/trunk/Open-ILS/src/support-scripts/authority_control_fields.pl|authority_control_fields.pl]] that runs through a subset or all bibliographic records in the database and checks for matching authority records (based on exact matches of field/subfield(s)/values), then adds the $0 subfield accordingly to any controlled fields it finds. This is a slow update processbut in limited testing it seems to work and it should only need to be run once for a given set of bibliographic records.
- +
-**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?  NoteNACO-normalized comparison would be appropriate here.+
  
 ==== Trace ==== ==== Trace ====
Line 35: Line 32:
 ==== Add an authority in the flow ==== ==== 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. Make it easy to manually add an authority during bibliographic cataloguing, without interrupting the workflow of the bibliographic record the cataloguer was working on.
 +  * Thought: Add **Add this as an authority** as another contextual option in the MARC editor - which would:
 +    * Create the new authority record based on the currently highlighted field
 +    * Grab the record ID for the new authority record
 +    * Add the appropriate $0 subfield using the are.id to the currently highlighted field
 +  * Also want an **Add this as an authority and edit** option that would invoke the authority record MARC editor to allow fine-tuning of the authority MARC.
  
 ==== Fix fixed fields for authorities ==== ==== 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. 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.
 +  * Dan committed [[http://svn.open-ils.org/trac/ILS/changeset/16934|r16934]] which taught the MARC editor about fixed fields for authorities.
  
 ==== Highlight controlled fields ==== ==== 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) 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 ==== ==== 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)+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)
 + 
 +  * Part 1: in the current contextual display of the selected authority record, the cataloguer is able to pick as many subfields as they like from the entire record. This is too much information. Subfields outside of the 1* and 5* fields should be disabled, possibly even hidden, in this view. 
 +  * Part 2: enable the cataloguer to generate a browse list based on the authority browse list support that Mike added (via URLs like <del>''http://localhost/opac/extras/browse/marcxml/authority.author/CONS/Mulder''</del> ''http://localhost/opac/extras/startwith/marcxml/authority.author/CONS/Mulder''). Ideally the browse list axis (''authority.author'', ''authority.subject'', ''authority.title'', ''authority.topic'') and search term could be populated from the chosen uncontrolled term. The cataloguer should then be able to select the entry they want to apply to the previously focused field in the MARC editor. The display could be generated from the MARCXML browse list using something like: <code javascript> 
 +dojo.query('record'); // to grab the list of records, then for each record: 
 +dojo.query('datafield[tag^="1"]'); // to grab the controlled list of subfields from each record 
 +dojo.query('datafield[tag="901"] subfield[code="c"]'); // to grab the authority record ID 
 +</code> The same sort of basic interface could be used to generate a list of authority records upon which the MARC editor could be invoked.  //Looks like BibTemplate to me ... ;)// 
  
 ==== Delete authority record ==== ==== Delete authority record ====
Line 56: Line 66:
  
 Implementation thoughts: largely cut and paste from the existing metabib indexing framework. Implementation thoughts: largely cut and paste from the existing metabib indexing framework.
- 
dev/proposal/authorities.1279179615.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.