@@ -, +, @@ - {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. --- cataloguing/addbiblio.pl | 1 + installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 10 ++++++++++ .../prog/en/modules/admin/preferences/cataloguing.pref | 7 +++++++ .../intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt | 8 +++++++- 5 files changed, 26 insertions(+), 1 deletion(-) --- a/cataloguing/addbiblio.pl +++ a/cataloguing/addbiblio.pl @@ -997,6 +997,7 @@ elsif ( $op eq "delete" ) { $template->param( title => $record->title() ) if ( $record ne "-1" ); $template->param( + marcfielddocurl => C4::Context->preference("MarcFieldDocURL"), popup => $mode, frameworkcode => $frameworkcode, itemtype => $frameworkcode, --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -176,6 +176,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('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'), ('MARCOrgCode','OSt','','Define MARC Organization Code for MARC21 records - http://www.loc.gov/marc/organizations/orgshome.html','free'), +('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'), ('MaxFine',NULL,'','Maximum fine a patron can have for all late returns at one moment. Single item caps are specified in the circulation rules matrix.','Integer'), ('MaxItemsForBatch','1000',NULL,'Max number of items record to process in a batch (modification or deletion)','Integer'), ('maxItemsInSearchResults','20',NULL,'Specify the maximum number of items to display for each result on a page of results','free'), --- a/installer/data/mysql/updatedatabase.pl +++ a/installer/data/mysql/updatedatabase.pl @@ -8097,6 +8097,16 @@ if (CheckVersion($DBversion)) { SetVersion($DBversion); } +$DBversion = "3.15.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do(" + INSERT 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'); + "); + print "Upgrade to $DBversion done (Bug 11674: Configuration for MARC field doc URLs)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref @@ -120,6 +120,13 @@ Cataloging: - pref: URLLinkText - as the text of links embedded in MARC records. - + - Use + - pref: MarcFieldDocURL + - 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: UseControlNumber choices: yes: Use --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt @@ -135,7 +135,13 @@ function PopupZ3950() { } function PopupMARCFieldDoc(field) { - [% IF ( marcflavour == 'MARC21' ) %] + [% IF (marcfielddocurl) %] + var docurl = "[% 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); --