@@ -, +, @@ - Adding edit_digital_signs permission for managing digital signs - Adding OPACDigitalSigns, OPACDigitalSignsCSS and - Adding signs, sign_streams and signs_to_streams tables - Updating sysprefs.sql and kohastructure.sql --- .../bug_8628-digital-signs-permissions.perl | 7 ++++ .../bug_8628-digital-signs-sysprefs.perl | 11 ++++++ .../mysql/atomicupdate/bug_8628-digital-signs.perl | 37 ++++++++++++++++++ installer/data/mysql/kohastructure.sql | 45 ++++++++++++++++++++++ installer/data/mysql/sysprefs.sql | 7 +++- 5 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_8628-digital-signs-permissions.perl create mode 100644 installer/data/mysql/atomicupdate/bug_8628-digital-signs-sysprefs.perl create mode 100644 installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl --- a/installer/data/mysql/atomicupdate/bug_8628-digital-signs-permissions.perl +++ a/installer/data/mysql/atomicupdate/bug_8628-digital-signs-permissions.perl @@ -0,0 +1,7 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (13, 'edit_digital_signs', 'Create and edit digital signs for the OPAC') }); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 8628 - adding permission for managing digital signs)\n"; +} --- a/installer/data/mysql/atomicupdate/bug_8628-digital-signs-sysprefs.perl +++ a/installer/data/mysql/atomicupdate/bug_8628-digital-signs-sysprefs.perl @@ -0,0 +1,11 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{INSERT IGNORE INTO systempreferences (`variable`,`value`,`options`,`explanation`,`type`) VALUES + ('OPACDigitalSigns',0,NULL,'Turn digital signs in the OPAC on or off.','YesNo'), + ('OPACDigitalSignsCSS','',NULL,'Extra CSS to be included in all signs','Textarea'), + ('OPACDigitalSignsSwatches','abcde',NULL,'List the swatches that can be chosen when creating a new sign','free') + }); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 8628 - Adding OPACDigitalSigns, OPACDigitalSignsCSS and OPACDigitalSignsSwatches system preferences)\n"; +} --- a/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl +++ a/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl @@ -0,0 +1,37 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{DROP TABLE IF EXISTS sign_streams }); + $dbh->do(q{DROP TABLE IF EXISTS signs }); + $dbh->do(q{CREATE TABLE sign_streams ( + sign_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify streams + saved_sql_id int(11) NOT NULL, -- foreign key from the saved_sql table + name varchar(64), -- name/title of the sign + PRIMARY KEY (sign_stream_id), + CONSTRAINT sign_streams_ibfk_1 FOREIGN KEY (saved_sql_id) REFERENCES saved_sql (id) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); + $dbh->do(q{CREATE TABLE signs ( + sign_id int(11) NOT NULL auto_increment, -- primary key, used to identify signs + name varchar(64), -- name/title of the deck + webapp int(1) NOT NULL DEFAULT 0, -- display as web app or normal page + transition char(16) NOT NULL DEFAULT 'none', -- transition to use between pages, must be one of the transitions defined by jQuery Mobile (see their docs) + swatch char(1) NOT NULL DEFAULT '', -- swatches determine the colors of page elements + idleafter int(11) NOT NULL default 0, -- seconds to wait before automatic page turning cicks in + pagedelay int(11) NOT NULL default 0, -- seconds to wait before turning to a new page/record + reloadafter int(11) NOT NULL default 0, -- seconds to wait before reloading all the pages + PRIMARY KEY (sign_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); + + $dbh->do(q{DROP TABLE IF EXISTS signs_to_streams }); + $dbh->do(q{CREATE TABLE signs_to_streams ( + sign_to_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify connections between signs and streams (the same stream can be attached to a sign more than once, with different parameters) + sign_stream_id int(11) NOT NULL, -- foreign key from the decks sign_streams table + sign_id int(11) NOT NULL, -- foreign key from the signs table + params varchar(255) NOT NULL DEFAULT '', -- list of parameters for the SQL associated with the sign_stream + PRIMARY KEY (sign_to_stream_id), + CONSTRAINT signs_to_streams_ibfk_1 FOREIGN KEY (sign_stream_id) REFERENCES sign_streams (sign_stream_id) ON DELETE CASCADE, + CONSTRAINT signs_to_streams_ibfk_2 FOREIGN KEY (sign_id) REFERENCES signs (sign_id) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 8628 - add signs, sign_streams and signs_to_streams tables)\n"; +} --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -4299,6 +4299,51 @@ CREATE TABLE itemtypes_branches( -- association table between authorised_values FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +-- +-- Table structure for table 'sign_streams' +-- + +DROP TABLE IF EXISTS sign_streams; +CREATE TABLE sign_streams ( + `sign_stream_id` int(11) NOT NULL auto_increment, -- primary key, used to identify streams + `saved_sql_id` int(11) NOT NULL, -- foreign key from the saved_sql table + `name` varchar(64), -- name/title of the sign + PRIMARY KEY (`sign_stream_id`), + CONSTRAINT `sign_streams_ibfk_1` FOREIGN KEY (`saved_sql_id`) REFERENCES `saved_sql` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table 'signs' +-- + +DROP TABLE IF EXISTS signs; +CREATE TABLE signs ( + `sign_id` int(11) NOT NULL auto_increment, -- primary key, used to identify signs + `name` varchar(64), -- name/title of the deck + `webapp` int(1) NOT NULL DEFAULT 0, -- display as web app or normal page + `transition` char(16) NOT NULL DEFAULT 'none', -- transition to use between pages, must be one of the transitions defined by jQuery Mobile (see their docs) + `swatch` char(1) NOT NULL DEFAULT '', -- swatches determine the colors of page elements + `idleafter` int(11) NOT NULL default 0, -- seconds to wait before automatic page turning clicks in + `pagedelay` int(11) NOT NULL default 0, -- seconds to wait before turning to a new page/record + `reloadafter` int(11) NOT NULL default 0, -- seconds to wait before reloading all the pages + PRIMARY KEY (`sign_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table 'signs_to_streams' +-- + +DROP TABLE IF EXISTS signs_to_streams; +CREATE TABLE signs_to_streams ( + `sign_to_stream_id` int(11) NOT NULL auto_increment, -- primary key, used to identify connections between signs and streams (the same stream can be attached to a sign more than once, with different parameters) + `sign_stream_id` int(11) NOT NULL, -- foreign key from the decks sign_streams table + `sign_id` int(11) NOT NULL, -- foreign key from the signs table + `params` varchar(255) NOT NULL DEFAULT '', -- list of parameters for the SQL associated with the sign_stream + PRIMARY KEY (`sign_to_stream_id`), + CONSTRAINT `signs_to_streams_ibfk_1` FOREIGN KEY (`sign_stream_id`) REFERENCES `sign_streams` (`sign_stream_id`) ON DELETE CASCADE, + CONSTRAINT `signs_to_streams_ibfk_2` FOREIGN KEY (`sign_id`) REFERENCES `signs` (`sign_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -93,7 +93,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('BatchCheckoutsValidCategories','',NULL,'Patron categories allowed to checkout in a batch','Free'), ('BiblioAddsAuthorities','0',NULL,'If ON, adding a new biblio will check for an existing authority record and create one on the fly if one doesn\'t exist','YesNo'), ('BiblioDefaultView','normal','normal|marc|isbd','Choose the default detail view in the catalog; choose between normal, marc or isbd','Choice'), -('BibtexExportAdditionalFields', '', NULL , 'Define additional BibTex tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea'), +('BibtexExportAdditionalFields', '', NULL, 'Define additional BibTex tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea'), ('BlockExpiredPatronOpacActions','1',NULL,'Set whether an expired patron can perform opac actions such as placing holds or renew books, can be overridden on a per patron-type basis','YesNo'), ('BlockReturnOfLostItems','0','0','If enabled, items that are marked as lost cannot be returned.','YesNo'), ('BlockReturnOfWithdrawnItems','1','0','If enabled, items that are marked as withdrawn cannot be returned.','YesNo'), @@ -365,6 +365,9 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OPACdefaultSortField','relevance','relevance|popularity|call_number|pubdate|acqdate|title|author','Specify the default field used for sorting','Choice'), ('OPACdefaultSortOrder','dsc','asc|dsc|za|az','Specify the default sort order','Choice'), ('OPACdidyoumean','',NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free'), +('OPACDigitalSigns',0,NULL, 'Turn digital signs in the OPAC on or off.','YesNo'), +('OPACDigitalSignsCSS','',NULL,'Extra CSS to be included in all signs','Textarea'), +('OPACDigitalSignsSwatches','abcde',NULL,'List the swatches that can be chosen when creating a new sign','free'), ('OPACDisplay856uAsImage','OFF','OFF|Details|Results|Both','Display the URI in the 856u field as an image, the corresponding OPACXSLT option must be on','Choice'), ('OpacExportOptions','bibtex,dc,marcxml,marc8,utf8,marcstd,mods,ris,isbd','','Define export options available on OPAC detail page.','multiple'), ('OPACFallback', 'prog', 'bootstrap|prog', 'Define the fallback theme for the OPAC interface.', 'Themes'), @@ -525,7 +528,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('ReturnLog','1',NULL,'If ON, enables the circulation (returns) log','YesNo'), ('ReturnpathDefault','',NULL,'Use this email address as return path or bounce address for undeliverable emails','Free'), ('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'), -('RisExportAdditionalFields', '', NULL , 'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea'), +('RisExportAdditionalFields', '', NULL, 'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea'), ('RoutingListAddReserves','0','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'), ('RoutingListNote','To change this note edit RoutingListNote system preference.','70|10','Define a note to be shown on all routing lists','Textarea'), ('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'), --