@@ -, +, @@ - 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 @@ -4324,6 +4324,51 @@ CREATE TABLE stockrotationitems ( ON UPDATE CASCADE 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 @@ -89,7 +89,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'), @@ -357,6 +357,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'), @@ -512,7 +515,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('ReturnpathDefault','',NULL,'Use this email address as return path or bounce address for undeliverable emails','Free'), ('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'), ('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'), ('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo'), ('RoutingListNote','To change this note edit RoutingListNote system preference.','70|10','Define a note to be shown on all routing lists','Textarea'), --