From ede4582862abe1023bcd32594eb80a35eacc8716 Mon Sep 17 00:00:00 2001 From: Ere Maijala Date: Fri, 22 Feb 2019 13:45:02 +0200 Subject: [PATCH] Bug 21280: Add pref for MARC authority documentation url Makes the documentation url for authorities separately configurable. --- installer/data/mysql/atomicupdate/bug_21280.perl | 12 ++++++++++++ installer/data/mysql/sysprefs.sql | 1 + .../intranet-tmpl/prog/en/includes/marc_editor.inc | 4 ++-- .../en/modules/admin/preferences/authorities.pref | 8 ++++++++ .../prog/en/modules/authorities/authorities.tt | 2 +- .../prog/en/modules/cataloguing/addbiblio.tt | 2 +- 6 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_21280.perl diff --git a/installer/data/mysql/atomicupdate/bug_21280.perl b/installer/data/mysql/atomicupdate/bug_21280.perl new file mode 100644 index 0000000000..f52a3ceee7 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_21280.perl @@ -0,0 +1,12 @@ + +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do(q| + INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES + ('AuthorityMarcFieldDocURL', NULL, NULL, 'URL used for MARC authority record field documentation. Following substitutions are available: {MARC} = marc flavour, eg. "MARC21" or "UNIMARC". {FIELD} = field number, eg. "000" or "048". {LANG} = user language, eg. "en" or "fi-FI"', 'free') + |); + + # Always end with this (adjust the bug info) + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 21280 - Add AuthorityMarcFieldDocURL pref)\n"; +} diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index d142b14a0e..f1b933e1c2 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -59,6 +59,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('AuthDisplayHierarchy','0','','Display authority hierarchies','YesNo'), ('AuthoritiesLog','1',NULL,'If ON, log edit/create/delete actions on authorities.','YesNo'), ('AuthorityControlledIndicators','# PERSO_NAME 100 600 696 700 796 800 896\nmarc21, 100, ind1:auth1\nmarc21, 600, ind1:auth1, ind2:thesaurus\nmarc21, 696, ind1:auth1\nmarc21, 700, ind1:auth1\nmarc21, 796, ind1:auth1\nmarc21, 800, ind1:auth1\nmarc21, 896, ind1:auth1\n# CORPO_NAME 110 610 697 710 797 810 897\nmarc21, 110, ind1:auth1\nmarc21, 610, ind1:auth1, ind2:thesaurus\nmarc21, 697, ind1:auth1\nmarc21, 710, ind1:auth1\nmarc21, 797, ind1:auth1\nmarc21, 810, ind1:auth1\nmarc21, 897, ind1:auth1\n# MEETI_NAME 111 611 698 711 798 811 898\nmarc21, 111, ind1:auth1\nmarc21, 611, ind1:auth1, ind2:thesaurus\nmarc21, 698, ind1:auth1\nmarc21, 711, ind1:auth1\nmarc21, 798, ind1:auth1\nmarc21, 811, ind1:auth1\nmarc21, 898, ind1:auth1\n# UNIF_TITLE 130 440 630 699 730 799 830 899\nmarc21, 130, ind1:auth2\nmarc21, 240, , ind2:auth2\nmarc21, 440, , ind2:auth2\nmarc21, 630, ind1:auth2, ind2:thesaurus\nmarc21, 699, ind1:auth2\nmarc21, 730, ind1:auth2\nmarc21, 799, ind1:auth2\nmarc21, 830, , ind2:auth2\nmarc21, 899, ind1:auth2\n# CHRON_TERM 648 \nmarc21, 648, , ind2:thesaurus\n# TOPIC_TERM 650 654 656 657 658 690\nmarc21, 650, , ind2:thesaurus\n# GEOGR_NAME 651 662 691\nmarc21, 651, , ind2:thesaurus\n# GENRE/FORM 655 \nmarc21, 655, , ind2:thesaurus\n\n# UNIMARC: Always copy the indicators from the authority\nunimarc, *, ind1:auth1, ind2:auth2',NULL,'Authority controlled indicators per biblio field','Free'), +('AuthorityMarcFieldDocURL', NULL, NULL, 'URL used for MARC authority record field documentation. Following substitutions are available: {MARC} = marc flavour, eg. "MARC21" or "UNIMARC". {FIELD} = field number, eg. "000" or "048". {LANG} = user language, eg. "en" or "fi-FI"', 'free'), ('AuthorityMergeLimit','50',NULL,'Maximum number of biblio records updated immediately when an authority record has been modified.','integer'), ('AuthorityMergeMode','loose','loose|strict','Authority merge mode','Choice'), ('AuthoritySeparator','--','10','Used to separate a list of authorities in a display. Usually --','free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/marc_editor.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/marc_editor.inc index a17b65803c..4c65353699 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/marc_editor.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/marc_editor.inc @@ -42,8 +42,8 @@ $(document).ready(function() { }); function PopupMARCFieldDoc(field) { - [% IF Koha.Preference('marcfielddocurl') %] - var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','"') | html %]"; + [% IF Koha.Preference(doc_url_pref) %] + var docurl = "[% Koha.Preference(doc_url_pref).replace('"','"') | html %]"; docurl = docurl.replace("{MARC}", "[% marcflavour | html %]"); docurl = docurl.replace("{FIELD}", ""+field); docurl = docurl.replace("{LANG}", "[% lang | html %]"); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref index 1de239b315..ba27d0e2fd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref @@ -63,6 +63,14 @@ Authorities: "loose": loose "strict": strict - mode. In strict mode subfields that are not found in the authority record, are deleted. Loose mode will keep them. Loose mode is the historical behavior and still the default. + - + - Use + - pref: AuthorityMarcFieldDocURL + class: url + - as the URL for MARC authority record field documentation. + - Possible substitutions are {MARC} (marc flavour, eg. "MARC21" or "UNIMARC"), {FIELD} (field number, eg. "000" or "048"), {LANG} (user language, eg. "en" or "fi-FI"). + - If left empty, the format documentation on http://loc.gov (MARC21) or http://archive.ifla.org (UNIMARC) is used. + - For example http://fielddoc.example.com/?marc={MARC}&field={FIELD}&language={LANG} Linker: - diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt index c0138eb63f..0ffefefd27 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt @@ -159,7 +159,7 @@ function confirmnotdup(redirect){ - [% INCLUDE 'marc_editor.inc' maindiv='authoritytabs' marc21_doc_base='http://www.loc.gov/marc/authority/ad' unimarc_doc_base='https://www.ifla.org/publications/unimarc-authorities--3rd-edition--updates' %] + [% INCLUDE 'marc_editor.inc' maindiv='authoritytabs' marc21_doc_base='http://www.loc.gov/marc/authority/ad' unimarc_doc_base='https://www.ifla.org/publications/unimarc-authorities--3rd-edition--updates' doc_url_pref='AuthorityMarcFieldDocURL' %] [% IF ( oldauthnumtagfield ) %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt index cfdd9c312e..aef376ad01 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt @@ -336,7 +336,7 @@ function Changefwk() { - [% INCLUDE 'marc_editor.inc' maindiv='addbibliotabs' marc21_doc_base='http://www.loc.gov/marc/bibliographic/bd' unimarc_doc_base='https://www.ifla.org/publications/unimarc-bibliographic--3rd-edition--updates-2012-and-updates-2016' %] + [% INCLUDE 'marc_editor.inc' maindiv='addbibliotabs' marc21_doc_base='http://www.loc.gov/marc/bibliographic/bd' unimarc_doc_base='https://www.ifla.org/publications/unimarc-bibliographic--3rd-edition--updates-2012-and-updates-2016' doc_url_pref='MarcFieldDocURL' %] [%# Fields for fast cataloging %] -- 2.17.1