Bug 40311 - New authority framework plugin for UNIMARC (unimarc_field_676a_authorities.pl)
Summary: New authority framework plugin for UNIMARC (unimarc_field_676a_authorities.pl)
Status: Needs Signoff
Alias: None
Product: Koha
Classification: Unclassified
Component: MARC Authority data support (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement
Assignee: Andreas Roussos
QA Contact: Testopia
URL:
Keywords:
Depends on: 40308
Blocks:
  Show dependency treegraph
 
Reported: 2025-07-06 21:02 UTC by Andreas Roussos
Modified: 2025-07-07 00:19 UTC (History)
0 users

See Also:
GIT URL:
Change sponsored?: ---
Patch complexity: Medium patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments
Bug 40311: add new Authority Framework plugin for UNIMARC 676$a (9.44 KB, patch)
2025-07-07 00:19 UTC, Andreas Roussos
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Roussos 2025-07-06 21:02:28 UTC
Background information
----------------------
Dewey Decimal Classification (DDC) [1] numbers can be stored in UNIMARC
authority records as follows ('R' and 'NR' denoting 'Repeatable' and
'Non-Repeatable' fields/subfields, respectively):

676 - DEWEY DECIMAL CLASSIFICATION (DDC) (R)
676$a - DDC Number, Single or Beginning of a Range (NR)
676$b - DDC number, End of a Range (NR)

Since 2024, both MARC21 and UNIMARC standards have been updated to enable
storing information in the form of Real World Object URIs, corresponding
to either a single DDC number or a DDC number range. Such URIs are stored
in UNIMARC subfield 676$R (notice: uppercase 'r'). An example would be:

676 # # $a 248.4819
        $c Orthodox Church--guides to Christian life
        $v 23
        $R https://id.oclc.org/worldcat/ddc/E3C6vtHXW4B47QbmtQWxmmH3PQ

For more information, please refer to the IFLA UNIMARC Authorities Format
Manual (online edition) [2].

The OCLC Dewey Linked Data API
------------------------------
OCLC recently [3] started offering a Linked Data (LD) [4] API [5] that
allows looking up DDC numbers to obtain unique URIs/URLs and Descriptions
for a particular DDC number (or range). In addition to API searches, a
smaller subset of the LD can also be browsed online in a hierarchical
manner [6].

Reasoning behind this Bug report
--------------------------------
We believe that Koha users who include DDC numbers in their authority
cataloguing would benefit from an integration with the OCLC Dewey LD API
that would allow them to easily lookup DDCs in exchange for LD URIs/URLs
and Descriptions.

To this end, we propose the addition of a new Authority Framework plugin
for UNIMARC that will offer this functionality. This plugin builds on the
groundwork laid by Bug 40308, in order to offer 1-click DDC lookups from within
the Authorities cataloguing editor.

References:
[1] https://www.oclc.org/content/dam/oclc/dewey/versions/print/intro.pdf
[2] https://www.ifla.org/unimarc-updates/unimarc-authorities-format-manual-online-ed/
[3] https://www.oclc.org/en/news/releases/2024/20240815-uniform-resource-identifiers-for-ddc-numbers.html
[4] https://www.oclc.org/en/linked-data.html
[5] https://developer.api.oclc.org/dewey-ld
[6] https://entities.oclc.org/worldcat/ddc/
Comment 1 Andreas Roussos 2025-07-07 00:19:44 UTC
Created attachment 183816 [details] [review]
Bug 40311: add new Authority Framework plugin for UNIMARC 676$a

This Authority Framework plugin should be attached to UNIMARC
authority field 676$a, which will then allow the cataloguer to
lookup a single DDC (or a DDC range if 676$b is also filled in)
in exchange for a Dewey Linked Data URL and Description that
will be copied to subfields 676$R and 676$c, respectively.

Test plan:

1) Go to Administration > Authority types, and for each authtype
   associate subfield 676$a with the unimarc_field_676a_authorities.pl
   plugin.

2) For each authtype, also add subfield $R (notice the uppercase
   'r') under field 676 with a description that reads: "Real
   World Object URI" (repeatable, not mandatory, managed in tab 6,
   and is a URL).

3) Create a new authority, or edit an existing one. Click on the
   'Tag editor' button on the far right of the 676$a subfield.
   Experiment with the behaviour of the plugin when no DDC has
   been filled in, or when an erroneous DDC has been filled in,
   or when 676$b has also been filled in. Monitor your browser's
   JavaScript console for warnings/errors (there shouldn't be any!).

4) Experiment with changing the values of the related System
   Preferences (found under the 'OCLC Dewey Linked Data API'
   heading) and seeing how it affects the behaviour of the
   plugin.