@@ -, +, @@ - {MARC} is replaced with either "MARC21" or "UNIMARC" - {FIELD} is replaced by the MARC field number, eg. "000", "048", ... - {LANG} is replaced by the UI language, eg. "en", or "fi-FI" open a window to either loc.gov or archive.ifla.org http://example.com/?field={FIELD}&marc={MARC}&lang={LANG} open a window to example.com, with the proper substitutions in the URL for the field, marc flavour and language --- .../atomicupdate/bug_11674-config_for_marc_field_doc_urls.sql | 3 +++ installer/data/mysql/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/cataloguing.pref | 8 ++++++++ koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt | 8 +++++++- 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/bug_11674-config_for_marc_field_doc_urls.sql --- a/installer/data/mysql/atomicupdate/bug_11674-config_for_marc_field_doc_urls.sql +++ a/installer/data/mysql/atomicupdate/bug_11674-config_for_marc_field_doc_urls.sql @@ -0,0 +1,3 @@ + +INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) +VALUES ('MarcFieldDocURL', NULL, NULL, 'URL used for MARC 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'); --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -256,6 +256,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('makePreviousSerialAvailable','0','','make previous serial automatically available when collecting a new serial. Please note that the item-level_itypes syspref must be set to specific item.','YesNo'), ('ManInvInNoissuesCharge','1',NULL,'MANUAL_INV charges block checkouts (added to noissuescharge).','YesNo'), ('MARCAuthorityControlField008','|| aca||aabn | a|a d',NULL,'Define the contents of MARC21 authority control field 008 position 06-39','Textarea'), +('MarcFieldDocURL', NULL, NULL, 'URL used for MARC 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'), ('MarcFieldsToOrder','',NULL,'Set the mapping values for a new order line created from a MARC record in a staged file. In a YAML format.','textarea'), ('MarcItemFieldsToOrder','',NULL,'Set the mapping values for new item records created from a MARC record in a staged file. In a YAML format.','textarea'), ('MarkLostItemsAsReturned','1','','Mark items as returned when flagged as lost','YesNo'), --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref @@ -146,6 +146,14 @@ Cataloging: no: "Don't use" - record control number ($w subfields) and control number (001) for linking of bibliographic records. - + - Use + - pref: MarcFieldDocURL + class: url + - as the URL for MARC 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} + - - pref: hide_marc choices: yes: "Don't display" --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt @@ -165,7 +165,13 @@ function PopupZ3950() { } function PopupMARCFieldDoc(field) { - [% IF ( marcflavour == 'MARC21' ) %] + [% IF Koha.Preference('marcfielddocurl') %] + var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','"') %]"; + docurl = docurl.replace("{MARC}", "[% marcflavour %]"); + docurl = docurl.replace("{FIELD}", ""+field); + docurl = docurl.replace("{LANG}", "[% lang %]"); + window.open(docurl); + [% ELSIF ( marcflavour == 'MARC21' ) %] _MARC21FieldDoc(field); [% ELSIF ( marcflavour == 'UNIMARC' ) %] _UNIMARCFieldDoc(field); --