@@ -, +, @@
- {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);
--