Bug 37128

Summary: Update MARC21 authority frameworks to Update 34
Product: Koha Reporter: Caroline Cyr La Rose <caroline.cyr-la-rose>
Component: MARC Authority data supportAssignee: Caroline Cyr La Rose <caroline.cyr-la-rose>
Status: RESOLVED FIXED QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: lucas, phil, philippe.blouin
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
This enhancement updates the MARC21 authority frameworks for new installations to reflect the changes from Update 34 (July 2022). NOTES: - For existing installations, manually updating the default and other frameworks with the changes is required.
Version(s) released in:
24.11.00
Circulation function:
Bug Depends on: 37123    
Bug Blocks:    
Attachments: Bug 37128: Update MARC21 authority frameworks to Update 34
Bug 37128: Update MARC21 authority frameworks to Update 34

Description Caroline Cyr La Rose 2024-06-19 16:19:49 UTC
https://www.loc.gov/marc/up34authority/adapndxf.html

■ New content designators:
Field
387Representative Expression Characteristics (R)
Indicator values
2Medium of performance of musical content of representative expression in
         382 (Medium of Performance) 1st indicator: Display constant controller
2Key of representative expression in 384 (Key) 1st indicator: Key type
3Partial medium of performance of musical content of representative expression in
         382 (Medium of Performance) 1st indicator: Display constant controller
Subfields
$eData provenance (R) in 856 (Electronic Location and Access)
$l Standardized information governing access (R) in 856 (Electronic Locationa and Access)
$nTerms governing access (R) in 856 (Electronic Location and Access)
$rStandardized information governing use and reproduction (R) in 856 (Electronic Location and Access)
$tTerms governing use and reproduction (R) in 856 (Electronic Location and Access)
$7Data provenance (R) in the following fields:
         024 (Other Standard Identifier),
         034 (Coded Cartographic Mathematical Data),
         043 (Geographic Area Code),
         065 (Other Classification Number),
         100 (Heading-Personal Name),
         110 (Heading-Corporate Name),
         111 (Heading-Meeting Name),
         130 (Heading-Uniform Title),
         147 (Heading-Named Event),
         148 (Heading-Chronological Term),
         150 (Heading-Topical Term),
         151 (Heading-Geographic Name),
         155 (Heading-Genre/Form Term),
         162 (Heading-Medium of Performance Term),
         180 (Heading-General Subdivision),
         181 (Heading-Geographic Subdivision),
         182 (Heading-Chronological Subdivision),
         185 (Heading-Form Subdivision),
         260 (Complex See Reference-Subject),
         335 (Extension Plan),
         336 (Content Type),
         348 (Format of Notated Music),
         360 (Complex See Also Reference-Subject),
         368 (Other Attributes of Person or Corporate Body),
         370 (Associated Place),
         371 (Address),
         372 (Field of Activity),
         373 (Associated Group),
         374 (Occupation),
         375 (Gender),
         376 (Family Information),
         377 (Associated Language),
         378 (Fuller Form of Personal Name),
         380 (Form of Work),
         381 (Other Distinguishing Characteristics of Work or Expression),
         382 (Medium of Performance),
         383 (Numeric Designation of Musical Work),
         384 (Key),
         385 (Audience Characteristics),
         386 (Creator/Contributor Characteristics),
         388 (Time Period of Creation),
         400 (See From Tracing-Personal Name),
         410 (See From Tracing-Corporate Name),
         411 (See From Tracing-Meeting Name),
         430 (See From Tracing-Uniform Title),
         447 (See From Tracing-Named Event),
         448 (See From Tracing-Chronological Term),
         450 (See From Tracing-Topical Term),
         451 (See From Tracing-Geographic Name),
         455 (See From Tracing-Genre/Form Term),
         462 (See From Tracing-Medium of Performance Term),
         480 (See From Tracing-General Subdivision),
         481 (See From Tracing-Geographic Subdivision),
         482 (See From Tracing-Chronological Subdivision),
         485 (See From Tracing-Form Subdivision),
         500 (See Also From Tracing-Personal Name),
         510 (See Also From Tracing-Corporate Name),
         511 (See Also From Tracing-Meeting Name),
         530 (See Also From Tracing-Uniform Title),
         547 (See Also From Tracing-Named Event),
         548 (See Also From Tracing-Chronological Term),
         550 (See Also From Tracing-Topical Term),
         551 (See Also From Tracing-Geographic Name),
         555 (See Also From Tracing-Genre/Form Term),
         562 (See Also From Tracing-Medium of Performance Term),
         580 (See Also From Tracing-General Subdivision),
         581 (See Also From Tracing-Geographic Subdivision),
         582 (See Also From Tracing-Chronological Subdivision),
         585 (See Also From Tracing-Form Subdivision),
         670 (Source Data Found),
         672 (Title Related to the Entity),
         675 (Source Data Not Found),
         677 (Definition),
         678 (Biographical or Historical Data),
         680 (Public General Note),
         700 (Established Heading Linking Entry-Personal Name),
         710 (Established Heading Linking Entry-Corporate Name),
         711 (Established Heading Linking Entry-Meeting Name),
         730 (Established Heading Linking Entry-Uniorm Title),
         747 (Established Heading Linking Entry-Named Event),
         748 (Established Heading Linking Entry-Chronological Term),
         750 (Established Heading Linking Entry-Topical Term),
         751 (Established Heading Linking Entry-Geographic Name),
         755 (Established Heading Linking Entry-Genre/Form Term),
         762 (Established Heading Linking Entry-Medium of Performance Term),
         780 (Subdivision Linking Entry-General Subdivision),
         781 (Subdivision Linking Entry-Geographic Subdivision),
         782 (Subdivision Linking Entry-Chronological Subdivision),
         785 (Subdivision Linking Entry-Form Subdivision),
         788 (Complex Linking Entry Data).
Appendix
HData Provenance Subfields

■ Fast-track changes:
New Subfields
$i Relationship Information (R) in 373 (Associated Group)
$4 Relationship (R) in 373 (Associated Group)
Comment 1 Caroline Cyr La Rose 2024-06-19 18:15:31 UTC
Some changes in this update are built on changes from Update 31 (bug 37123), so I'm marking it as depends on. We will need to apply the patch from bug 37123 before this one.
Comment 2 Caroline Cyr La Rose 2024-06-19 19:14:40 UTC
Created attachment 167896 [details] [review]
Bug 37128: Update MARC21 authority frameworks to Update 34

The patch updates the MARC21 authority frameworks to Update 34

To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
   https://www.loc.gov/marc/up34authority/adapndxf.html

- There should be a new subfield in 024
  - 7 - Data provenance (R)

- There should be a new subfield in 034
  - 7 - Data provenance (R)

- There should be a new subfield in 043
  - 7 - Data provenance (R)

- There should be a new subfield in 065
  - 7 - Data provenance (R)

- There should be a new subfield in 100
  - 7 - Data provenance (R)

- There should be a new subfield in 110
  - 7 - Data provenance (R)

- There should be a new subfield in 111
  - 7 - Data provenance (R)

- There should be a new subfield in 130
  - 7 - Data provenance (R)

- There should be a new subfield in 147
  - 7 - Data provenance (R)

- There should be a new subfield in 148
  - 7 - Data provenance (R)

- There should be a new subfield in 150
  - 7 - Data provenance (R)

- There should be a new subfield in 151
  - 7 - Data provenance (R)

- There should be a new subfield in 155
  - 7 - Data provenance (R)

- There should be a new subfield in 162
  - 7 - Data provenance (R)

- There should be a new subfield in 180
  - 7 - Data provenance (R)

- There should be a new subfield in 181
  - 7 - Data provenance (R)

- There should be a new subfield in 182
  - 7 - Data provenance (R)

- There should be a new subfield in 185
  - 7 - Data provenance (R)

- There should be a new subfield in 260
  - 7 - Data provenance (R)

- There should be a new subfield in 335
  - 7 - Data provenance (R)

- There should be a new subfield in 336
  - 7 - Data provenance (R)

- There should be a new subfield in 348
  - 7 - Data provenance (R)

- There should be a new subfield in 360
  - 7 - Data provenance (R)

- There should be a new subfield in 368
  - 7 - Data provenance (R)

- There should be a new subfield in 370
  - 7 - Data provenance (R)

- There should be a new subfield in 371
  - 7 - Data provenance (R)

- There should be a new subfield in 372
  - 7 - Data provenance (R)

- There should be three new subfield in 373
  - 4 - Relationship (R)
  - 7 - Data provenance (R)
  - i - Relationship Information (R)

- There should be a new subfield in 374
  - 7 - Data provenance (R)

- There should be a new subfield in 375
  - 7 - Data provenance (R)

- There should be a new subfield in 376
  - 7 - Data provenance (R)

- There should be a new subfield in 377
  - 7 - Data provenance (R)

- There should be a new subfield in 378
  - 7 - Data provenance (R)

- There should be a new subfield in 380
  - 7 - Data provenance (R)

- There should be a new subfield in 381
  - 7 - Data provenance (R)

- There should be a new subfield in 382
  - 7 - Data provenance (R)

- There should be a new subfield in 383
  - 7 - Data provenance (R)

- There should be a new subfield in 384
  - 7 - Data provenance (R)

- There should be a new subfield in 385
  - 7 - Data provenance (R)

- There should be a new subfield in 386
  - 7 - Data provenance (R)

- There should be a new field 387 called REPRESENTATIVE EXPRESSION CHARACTERISTICS, with the following subfields
  - 0 - Authority record control number or standard number (R)
  - 1 - Real World Object URI (R)
  - 2 - Source of term (NR)
  - 3 - Materials specified (NR)
  - 6 - Linkage (NR)
  - 7 - Data provenance (R)
  - 8 - Field link and sequence number (R)
  - a - Aspect ratio of representative expression (R)
  - b - Color content of representative expression (R)
  - c - Content type of representative expression (R)
  - d - Date of capture of representative expression (R)
  - e - Date of representative expression (R)
  - f - Duration of representative expression (R)
  - g - Intended audience of representative expression (R)
  - h - Language of representative expression (R)
  - i - Place of capture of representative expression (R)
  - j - Projection of cartographic content of representative expression (R)
  - k - Scale of representative expression (R)
  - l - Script of representative expression (R)
  - m - Sound content of representative expression (R)

- There should be a new subfield in 388
  - 7 - Data provenance (R)

- There should be a new subfield in 400
  - 7 - Data provenance (R)

- There should be a new subfield in 410
  - 7 - Data provenance (R)

- There should be a new subfield in 411
  - 7 - Data provenance (R)

- There should be a new subfield in 430
  - 7 - Data provenance (R)

- There should be a new subfield in 447
  - 7 - Data provenance (R)

- There should be a new subfield in 448
  - 7 - Data provenance (R)

- There should be a new subfield in 450
  - 7 - Data provenance (R)

- There should be a new subfield in 451
  - 7 - Data provenance (R)

- There should be a new subfield in 455
  - 7 - Data provenance (R)

- There should be a new subfield in 462
  - 7 - Data provenance (R)

- There should be a new subfield in 480
  - 7 - Data provenance (R)

- There should be a new subfield in 481
  - 7 - Data provenance (R)

- There should be a new subfield in 482
  - 7 - Data provenance (R)

- There should be a new subfield in 485
  - 7 - Data provenance (R)

- There should be a new subfield in 500
  - 7 - Data provenance (R)

- There should be a new subfield in 510
  - 7 - Data provenance (R)

- There should be a new subfield in 511
  - 7 - Data provenance (R)

- There should be a new subfield in 530
  - 7 - Data provenance (R)

- There should be a new subfield in 547
  - 7 - Data provenance (R)

- There should be a new subfield in 548
  - 7 - Data provenance (R)

- There should be a new subfield in 550
  - 7 - Data provenance (R)

- There should be a new subfield in 551
  - 7 - Data provenance (R)

- There should be a new subfield in 555
  - 7 - Data provenance (R)

- There should be a new subfield in 562
  - 7 - Data provenance (R)

- There should be a new subfield in 580
  - 7 - Data provenance (R)

- There should be a new subfield in 581
  - 7 - Data provenance (R)

- There should be a new subfield in 582
  - 7 - Data provenance (R)

- There should be a new subfield in 585
  - 7 - Data provenance (R)

- There should be a new subfield in 670
  - 7 - Data provenance (R)

- There should be a new subfield in 672
  - 7 - Data provenance (R)

- There should be a new subfield in 675
  - 7 - Data provenance (R)

- There should be a new subfield in 677
  - 7 - Data provenance (R)

- There should be a new subfield in 678
  - 7 - Data provenance (R)

- There should be a new subfield in 680
  - 7 - Data provenance (R)

- There should be a new subfield in 700
  - 7 - Data provenance (R)

- There should be a new subfield in 710
  - 7 - Data provenance (R)

- There should be a new subfield in 711
  - 7 - Data provenance (R)

- There should be a new subfield in 730
  - 7 - Data provenance (R)

- There should be a new subfield in 747
  - 7 - Data provenance (R)

- There should be a new subfield in 748
  - 7 - Data provenance (R)

- There should be a new subfield in 750
  - 7 - Data provenance (R)

- There should be a new subfield in 751
  - 7 - Data provenance (R)

- There should be a new subfield in 755
  - 7 - Data provenance (R)

- There should be a new subfield in 762
  - 7 - Data provenance (R)

- There should be a new subfield in 780
  - 7 - Data provenance (R)

- There should be a new subfield in 781
  - 7 - Data provenance (R)

- There should be a new subfield in 782
  - 7 - Data provenance (R)

- There should be a new subfield in 785
  - 7 - Data provenance (R)

- There should be a new subfield in 788
  - 7 - Data provenance (R)

- There should be a new subfield in 856
  - e - Data provenance (R)

- These 856 subfields should be renamed
  - l - Standardized information governing access (R)
  - n - Terms governing access (R)
  - r - Standardized information governing use and reproduction (R)
  - t - Terms governing use and reproduction (R)

5. Optional: Check other authority frameworks, they should all be changed
Comment 3 Caroline Cyr La Rose 2024-06-19 19:15:24 UTC
Hopefully, I made this correctly. Let me know if the commit is not correct.
Comment 4 Phil Ringnalda 2024-06-19 20:17:37 UTC
Created attachment 167899 [details] [review]
Bug 37128: Update MARC21 authority frameworks to Update 34

The patch updates the MARC21 authority frameworks to Update 34

To test:
1. Apply patch and reset_all
2. Go to Administration > Authority types
3. Click Actions next to the Default framework and choose MARC structure
4. Check for the changes detailed in the update
   https://www.loc.gov/marc/up34authority/adapndxf.html

- There should be a new subfield in 024
  - 7 - Data provenance (R)

- There should be a new subfield in 034
  - 7 - Data provenance (R)

- There should be a new subfield in 043
  - 7 - Data provenance (R)

- There should be a new subfield in 065
  - 7 - Data provenance (R)

- There should be a new subfield in 100
  - 7 - Data provenance (R)

- There should be a new subfield in 110
  - 7 - Data provenance (R)

- There should be a new subfield in 111
  - 7 - Data provenance (R)

- There should be a new subfield in 130
  - 7 - Data provenance (R)

- There should be a new subfield in 147
  - 7 - Data provenance (R)

- There should be a new subfield in 148
  - 7 - Data provenance (R)

- There should be a new subfield in 150
  - 7 - Data provenance (R)

- There should be a new subfield in 151
  - 7 - Data provenance (R)

- There should be a new subfield in 155
  - 7 - Data provenance (R)

- There should be a new subfield in 162
  - 7 - Data provenance (R)

- There should be a new subfield in 180
  - 7 - Data provenance (R)

- There should be a new subfield in 181
  - 7 - Data provenance (R)

- There should be a new subfield in 182
  - 7 - Data provenance (R)

- There should be a new subfield in 185
  - 7 - Data provenance (R)

- There should be a new subfield in 260
  - 7 - Data provenance (R)

- There should be a new subfield in 335
  - 7 - Data provenance (R)

- There should be a new subfield in 336
  - 7 - Data provenance (R)

- There should be a new subfield in 348
  - 7 - Data provenance (R)

- There should be a new subfield in 360
  - 7 - Data provenance (R)

- There should be a new subfield in 368
  - 7 - Data provenance (R)

- There should be a new subfield in 370
  - 7 - Data provenance (R)

- There should be a new subfield in 371
  - 7 - Data provenance (R)

- There should be a new subfield in 372
  - 7 - Data provenance (R)

- There should be three new subfield in 373
  - 4 - Relationship (R)
  - 7 - Data provenance (R)
  - i - Relationship Information (R)

- There should be a new subfield in 374
  - 7 - Data provenance (R)

- There should be a new subfield in 375
  - 7 - Data provenance (R)

- There should be a new subfield in 376
  - 7 - Data provenance (R)

- There should be a new subfield in 377
  - 7 - Data provenance (R)

- There should be a new subfield in 378
  - 7 - Data provenance (R)

- There should be a new subfield in 380
  - 7 - Data provenance (R)

- There should be a new subfield in 381
  - 7 - Data provenance (R)

- There should be a new subfield in 382
  - 7 - Data provenance (R)

- There should be a new subfield in 383
  - 7 - Data provenance (R)

- There should be a new subfield in 384
  - 7 - Data provenance (R)

- There should be a new subfield in 385
  - 7 - Data provenance (R)

- There should be a new subfield in 386
  - 7 - Data provenance (R)

- There should be a new field 387 called REPRESENTATIVE EXPRESSION CHARACTERISTICS, with the following subfields
  - 0 - Authority record control number or standard number (R)
  - 1 - Real World Object URI (R)
  - 2 - Source of term (NR)
  - 3 - Materials specified (NR)
  - 6 - Linkage (NR)
  - 7 - Data provenance (R)
  - 8 - Field link and sequence number (R)
  - a - Aspect ratio of representative expression (R)
  - b - Color content of representative expression (R)
  - c - Content type of representative expression (R)
  - d - Date of capture of representative expression (R)
  - e - Date of representative expression (R)
  - f - Duration of representative expression (R)
  - g - Intended audience of representative expression (R)
  - h - Language of representative expression (R)
  - i - Place of capture of representative expression (R)
  - j - Projection of cartographic content of representative expression (R)
  - k - Scale of representative expression (R)
  - l - Script of representative expression (R)
  - m - Sound content of representative expression (R)

- There should be a new subfield in 388
  - 7 - Data provenance (R)

- There should be a new subfield in 400
  - 7 - Data provenance (R)

- There should be a new subfield in 410
  - 7 - Data provenance (R)

- There should be a new subfield in 411
  - 7 - Data provenance (R)

- There should be a new subfield in 430
  - 7 - Data provenance (R)

- There should be a new subfield in 447
  - 7 - Data provenance (R)

- There should be a new subfield in 448
  - 7 - Data provenance (R)

- There should be a new subfield in 450
  - 7 - Data provenance (R)

- There should be a new subfield in 451
  - 7 - Data provenance (R)

- There should be a new subfield in 455
  - 7 - Data provenance (R)

- There should be a new subfield in 462
  - 7 - Data provenance (R)

- There should be a new subfield in 480
  - 7 - Data provenance (R)

- There should be a new subfield in 481
  - 7 - Data provenance (R)

- There should be a new subfield in 482
  - 7 - Data provenance (R)

- There should be a new subfield in 485
  - 7 - Data provenance (R)

- There should be a new subfield in 500
  - 7 - Data provenance (R)

- There should be a new subfield in 510
  - 7 - Data provenance (R)

- There should be a new subfield in 511
  - 7 - Data provenance (R)

- There should be a new subfield in 530
  - 7 - Data provenance (R)

- There should be a new subfield in 547
  - 7 - Data provenance (R)

- There should be a new subfield in 548
  - 7 - Data provenance (R)

- There should be a new subfield in 550
  - 7 - Data provenance (R)

- There should be a new subfield in 551
  - 7 - Data provenance (R)

- There should be a new subfield in 555
  - 7 - Data provenance (R)

- There should be a new subfield in 562
  - 7 - Data provenance (R)

- There should be a new subfield in 580
  - 7 - Data provenance (R)

- There should be a new subfield in 581
  - 7 - Data provenance (R)

- There should be a new subfield in 582
  - 7 - Data provenance (R)

- There should be a new subfield in 585
  - 7 - Data provenance (R)

- There should be a new subfield in 670
  - 7 - Data provenance (R)

- There should be a new subfield in 672
  - 7 - Data provenance (R)

- There should be a new subfield in 675
  - 7 - Data provenance (R)

- There should be a new subfield in 677
  - 7 - Data provenance (R)

- There should be a new subfield in 678
  - 7 - Data provenance (R)

- There should be a new subfield in 680
  - 7 - Data provenance (R)

- There should be a new subfield in 700
  - 7 - Data provenance (R)

- There should be a new subfield in 710
  - 7 - Data provenance (R)

- There should be a new subfield in 711
  - 7 - Data provenance (R)

- There should be a new subfield in 730
  - 7 - Data provenance (R)

- There should be a new subfield in 747
  - 7 - Data provenance (R)

- There should be a new subfield in 748
  - 7 - Data provenance (R)

- There should be a new subfield in 750
  - 7 - Data provenance (R)

- There should be a new subfield in 751
  - 7 - Data provenance (R)

- There should be a new subfield in 755
  - 7 - Data provenance (R)

- There should be a new subfield in 762
  - 7 - Data provenance (R)

- There should be a new subfield in 780
  - 7 - Data provenance (R)

- There should be a new subfield in 781
  - 7 - Data provenance (R)

- There should be a new subfield in 782
  - 7 - Data provenance (R)

- There should be a new subfield in 785
  - 7 - Data provenance (R)

- There should be a new subfield in 788
  - 7 - Data provenance (R)

- There should be a new subfield in 856
  - e - Data provenance (R)

- These 856 subfields should be renamed
  - l - Standardized information governing access (R)
  - n - Terms governing access (R)
  - r - Standardized information governing use and reproduction (R)
  - t - Terms governing use and reproduction (R)

5. Optional: Check other authority frameworks, they should all be changed

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Comment 5 Phil Ringnalda 2024-06-19 20:24:45 UTC
Ah, this update. This was the one where I stopped applying all updates to my production system, since I wasn't about to manually create ninety Data provenance subfields nine times over in nine separate frameworks. I'm still hoping that someday someone will figure out a way to update existing frameworks with new data, so I can benefit from you creating 90 rather than me (and everyone else) creating 810.
Comment 6 Caroline Cyr La Rose 2024-06-19 20:42:13 UTC
(In reply to Phil Ringnalda from comment #5)
> Ah, this update. This was the one where I stopped applying all updates to my
> production system, since I wasn't about to manually create ninety Data
> provenance subfields nine times over in nine separate frameworks. I'm still
> hoping that someday someone will figure out a way to update existing
> frameworks with new data, so I can benefit from you creating 90 rather than
> me (and everyone else) creating 810.

LOL yes, It's a big one... I wonder if we could do optional database updates... If someone changed their framework, I wouldn't want to mess up whatever they did, but if libraries keep the default framework or don't mind overwriting their own changes, they could run the optional updates and get the changes.

In the mean time, I think you can copy the YAML file and remove everything but the header and field definitions you want to keep and use load_yaml.pl to load the changes to the framework. I haven't tried it, but it would be my first idea.

Also, as far as I know, subfields $7 aren't really used yet. I just had a meeting with the Canadian Committee on Metadata Exchange and no one in the group had used it yet.
Comment 7 Katrin Fischer 2024-06-28 12:14:03 UTC
Thanks a lot Caroline for keeping on top of these updates for us!
Comment 8 Katrin Fischer 2024-06-28 12:14:20 UTC
Picking this from the QA queue for pushing directly to main.
Comment 9 Katrin Fischer 2024-06-28 12:56:51 UTC
Pushed for 24.11!

Well done everyone, thank you!