Bugzilla – Attachment 14532 Details for
Bug 9353
Missing subfields on MARC21 frameworks
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Followup Bug 9353: Missing subfields on MARC21 frameworks
Followup-Bug-9353-Missing-subfields-on-MARC21-fram.patch (text/plain), 6.49 KB, created by
Bernardo Gonzalez Kriegel
on 2013-01-10 22:11:35 UTC
(
hide
)
Description:
Followup Bug 9353: Missing subfields on MARC21 frameworks
Filename:
MIME Type:
Creator:
Bernardo Gonzalez Kriegel
Created:
2013-01-10 22:11:35 UTC
Size:
6.49 KB
patch
obsolete
>From d9ca0402b3645c5363c2b3f42fa175e8ff8e1810 Mon Sep 17 00:00:00 2001 >From: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> >Date: Thu, 10 Jan 2013 19:01:07 -0300 >Subject: [PATCH] Followup Bug 9353: Missing subfields on MARC21 frameworks > >This followup changes updatedatabase.pl. >Only touch frameworks that have the missing subfields. > >If both patches are applied, the test plan changes. > >To test: >1) dev master system with default and example MARC21 frameworks >2) Go to Home > Administration > MARC frameworks >3) Click on 'MARC structure' of any framework >4) Search for tag 029 (or 863/4/5) >5) Click 'Subfields', there are none. >6) Apply both patches >7) run 'perl installer/data/mysql/updatedatabase.pl' >8) Repeat steps 2-4 >9) Click 'Subfields', now they are. >--- > installer/data/mysql/updatedatabase.pl | 63 ++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 77265f4..933e502 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -6339,6 +6339,69 @@ if ( CheckVersion($DBversion) ) { > SetVersion ($DBversion); > } > >+$DBversion = "3.11.00.XXX"; >+if ( CheckVersion($DBversion) ) { >+ if (C4::Context->preference("marcflavour") eq 'MARC21') { >+ $sth = $dbh->prepare("SELECT frameworkcode FROM marc_tag_structure WHERE tagfield = '029'"); >+ $sth->execute; >+ my $frameworkcodes = $sth->fetchall_hashref('frameworkcode'); >+ >+ for my $frameworkcode (keys %$frameworkcodes) { >+ $dbh->do(" >+ INSERT IGNORE INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, >+ libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, >+ value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue) VALUES >+ ('029', 'a', 'OCLC library identifier', 'OCLC library identifier', 0, 0, '', 0, '', '', '', 0, -6, '$frameworkcode', '', '', NULL), >+ ('029', 'b', 'System control number', 'System control number', 0, 0, '', 0, '', '', '', 0, -6, '$frameworkcode', '', '', NULL), >+ ('029', 'c', 'OAI set name', 'OAI set name', 0, 0, '', 0, '', '', '', 0, -6, '$frameworkcode', '', '', NULL), >+ ('029', 't', 'Content type identifier', 'Content type identifier', 0, 0, '', 0, '', '', '', 0, -6, '$frameworkcode', '', '', NULL) >+ "); >+ } >+ >+ for my $tag ( '863', '864', '865' ) { >+ $sth = $dbh->prepare("SELECT frameworkcode FROM marc_tag_structure WHERE tagfield = '$tag'"); >+ $sth->execute; >+ my $frameworkcodes = $sth->fetchall_hashref('frameworkcode'); >+ >+ for my $frameworkcode (keys %$frameworkcodes) { >+ $dbh->do(" >+ INSERT IGNORE INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, >+ libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, >+ value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue) VALUES >+ ('$tag', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', '8', 'Field link and sequence number', 'Field link and sequence number', 0, 0, '', 8, '', '', '', NULL, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'n', 'Converted Gregorian year', 'Converted Gregorian year', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'p', 'Piece designation', 'Piece designation', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'q', 'Piece physical condition', 'Piece physical condition', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 's', 'Copyright article-fee code', 'Copyright article-fee code', 1, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'v', 'Issuing date', 'Issuing date', 1, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'w', 'Break indicator', 'Break indicator', 0, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL), >+ ('$tag', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', 0, 5, '$frameworkcode', '', '', NULL) >+ "); >+ } >+ } >+ print "Upgrade to $DBversion done (Bug 9353: Missing subfields on MARC21 frameworks)\n"; >+ SetVersion ($DBversion); >+ } >+} >+ >+ > =head1 FUNCTIONS > > =head2 TableExists($table) >-- >1.7.9.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 9353
:
14440
|
14532
|
14699
|
14700
|
16466
|
16467