From 70865269f372bcc19cc212354cd2d3e6d3d2d66c Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Thu, 8 Nov 2018 13:55:53 +0100 Subject: #872: Defining version 1.1.0a. --- admin/Database/ogAdmBD-1.0.6b-1.1.0.sql | 160 ----------------- admin/Database/ogAdmBD-1.0.6b-1.1.0a.sql | 160 +++++++++++++++++ admin/Database/ogAdmBD-1.1.0-postinst.sql | 49 ------ admin/Database/ogAdmBD-1.1.0a-postinst.sql | 49 ++++++ admin/Database/ogAdmBD-1.1.0pre-1.1.0.sql | 270 ----------------------------- admin/Database/ogAdmBD-1.1.0pre-1.1.0a.sql | 270 +++++++++++++++++++++++++++++ doc/CHANGELOG.es.txt | 1 + doc/VERSION.txt | 2 +- installer/opengnsys_update.sh | 1 + 9 files changed, 482 insertions(+), 480 deletions(-) delete mode 100644 admin/Database/ogAdmBD-1.0.6b-1.1.0.sql create mode 100644 admin/Database/ogAdmBD-1.0.6b-1.1.0a.sql delete mode 100644 admin/Database/ogAdmBD-1.1.0-postinst.sql create mode 100644 admin/Database/ogAdmBD-1.1.0a-postinst.sql delete mode 100644 admin/Database/ogAdmBD-1.1.0pre-1.1.0.sql create mode 100644 admin/Database/ogAdmBD-1.1.0pre-1.1.0a.sql diff --git a/admin/Database/ogAdmBD-1.0.6b-1.1.0.sql b/admin/Database/ogAdmBD-1.0.6b-1.1.0.sql deleted file mode 100644 index 8db4d183..00000000 --- a/admin/Database/ogAdmBD-1.0.6b-1.1.0.sql +++ /dev/null @@ -1,160 +0,0 @@ -### Fichero de actualización de la base de datos. -# OpenGnSys 1.0.6b - OpenGnsys 1.1.0 -#use ogAdmBD - -### NOTA: la configuración de MySQL solo puede modificarla el usuario "root". -# Soportar cláusuloas GROUP BY especiales para configuración de equipos. -#SET GLOBAL sql_mode = TRIM(BOTH ',' FROM REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); -# Activar calendario de eventos de MySQL. -#SET GLOBAL event_scheduler = ON; - -# Nuevos tipos de particiones y de sistemas de ficheros (ticket #758). -INSERT INTO tipospar (codpar, tipopar, clonable) VALUES - (CONV('A9',16,10), 'NETBSD', 1), - (CONV('2700',16,10), 'WIN-RECOV', 1), - (CONV('8302',16,10), 'LINUX', 1), - (CONV('A504',16,10), 'FREEBSD', 1), - (CONV('A901',16,10), 'NETBSD-SWAP', 0), - (CONV('A902',16,10), 'NETBSD', 1), - (CONV('A903',16,10), 'NETBSD', 1), - (CONV('A904',16,10), 'NETBSD', 1), - (CONV('A905',16,10), 'NETBSD', 1), - (CONV('A906',16,10), 'NETBSD-RAID', 1), - (CONV('AF02',16,10), 'HFS-RAID', 1), - (CONV('FB00',16,10), 'VMFS', 1), - (CONV('FB01',16,10), 'VMFS-RESERV', 1), - (CONV('FB02',16,10), 'VMFS-KRN', 1), - (CONV('10000',16,10), 'LVM-LV', 1), - (CONV('10010',16,10), 'ZFS-VOL', 1) - ON DUPLICATE KEY UPDATE - codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); -INSERT INTO sistemasficheros (idsistemafichero, nemonico, descripcion) VALUES - (20, 'F2FS', 'F2FS'), - (21, 'NILFS2', 'NILFS2') - ON DUPLICATE KEY UPDATE - idsistemafichero=VALUES(idsistemafichero), nemonico=VALUES(nemonico), descripcion=VALUES(descripcion); - -# Eliminar campos sin uso (ticket #730). -# Modificar número de puestos del aula para valores hasta 32768 (ticket #747) -# Añadir campos para aulas: servidor NTP, inclusión en proyecto Remote PC y directorio de ogLive (tickets #725, #708 y #768) -ALTER TABLE aulas - DROP cuadro_x, - DROP cuadro_y, - MODIFY puestos SMALLINT DEFAULT NULL, - ADD ntp VARCHAR(30) AFTER proxy, - ADD inremotepc TINYINT DEFAULT 0, - ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; -# Añadir campos para nº de revisión de imágenes y su inclusión en proyecto Remote PC (tickets #737 y #708). -ALTER TABLE imagenes - ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca, - ADD inremotepc TINYINT DEFAULT 0; - -# Adaptar campo para codificar claves de usuarios (ticket #778), -# eliminar campo sin uso (ticket #730), -# añadir clave de acceso a la API REST (tickets #708). -ALTER TABLE usuarios - MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT '', - ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; -# Preparar generación de clave de acceso a la API REST para el usuario principal (ticket #708). -UPDATE usuarios - SET apikey = 'APIKEY' - WHERE idusuario = 1 AND apikey = ''; -# Codificar claves de usuarios (ticket #) -INSERT INTO usuarios (idusuario, pasguor) - SELECT idusuario, pasguor FROM usuarios - ON DUPLICATE KEY UPDATE - idusuario=VALUES(idusuario), pasguor=SHA2(VALUES(pasguor),224); - -# Añadir nº de revisión de imagen restaurada (ticket #737), -# añadir porcentaje de uso de sistema de ficheros (ticket #711), -# evitar errores "TEXT NOT NULL" y "NO_ZERO_DATE" (ticket #730). -ALTER TABLE ordenadores_particiones - MODIFY cache TEXT, - ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen, - ADD uso TINYINT NOT NULL DEFAULT 0; -ALTER TABLE acciones - MODIFY restrambito TEXT, - MODIFY fechahorareg DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00', - MODIFY fechahorafin DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'; -ALTER TABLE parametros - MODIFY descripcion TEXT; -ALTER TABLE tareas - MODIFY restrambito TEXT; - -# Actualizar componentes hardware y añadir nº de serie, clave de acceso a API REST de OGAgent y directorio de ogLive (tickets #713, #718 y #768) -ALTER TABLE tipohardwares - DROP pci; -INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES - (17, 'Chasis del Sistema', '', 'cha'), - (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), - (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo'); -ALTER TABLE ordenadores - ADD numserie VARCHAR(25) DEFAULT NULL AFTER nombreordenador, - ADD agentkey VARCHAR(32) DEFAULT NULL, - ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; - -# Directorios en repo para distintas UO (ticket #678). -ALTER TABLE entidades - ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; -ALTER TABLE centros - ADD directorio VARCHAR(50) DEFAULT ''; - -# Incluir campo ID sistema operativo en el perfil de software (tickets #738 #713) -ALTER TABLE perfilessoft - ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; - -# Añadir campo y generar clave de acceso a la API REST del repositorio (ticket #743). -ALTER TABLE repositorios - ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; -UPDATE repositorios - SET apikey = 'REPOKEY' - WHERE idrepositorio = 1 AND apikey = ''; - -# Nuevas tablas para datos del proyecto Remote PC y operaciones de OGAgent (ticket #708). -CREATE TABLE IF NOT EXISTS remotepc ( - id INT(11) NOT NULL, - reserved DATETIME DEFAULT NULL, - urllogin VARCHAR(100), - urllogout VARCHAR(100), - PRIMARY KEY (id) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE IF NOT EXISTS ogagent_queue ( - id INT(11) NOT NULL AUTO_INCREMENT, - clientid INT(11) NOT NULL, - exectime DATETIME DEFAULT NULL, - operation VARCHAR(25), - PRIMARY KEY (id) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8; - - -# Nuevo comando "Enviar mensaje" (ticket #779) -INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, - aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES - (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', - 31, 'tit;msj', 'nfn;iph;tit;msj', '', 1, '' ); -INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES - (39, 'tit', 'Título', '', '', '', 0, 1), - (40, 'msj', 'Contenido', '', '', '', 0, 1); - -# Crear tabla de log para la cola de acciones (ticket #782) -CREATE TABLE IF NOT EXISTS acciones_log LIKE acciones; -ALTER TABLE acciones_log ADD fecha_borrado DATETIME; -DELIMITER // -CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW BEGIN - INSERT INTO acciones_log VALUES - (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, - OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, - OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, - OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, - OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, NOW()); -END// -DELIMITER ; - -# Ampliar programación de tareas hasta 2025 (ticket #732). -ALTER TABLE programaciones - MODIFY annos SMALLINT DEFAULT NULL, - MODIFY meses SMALLINT DEFAULT NULL; - -# Eliminar tabla sin uso (ticket #730). -DROP TABLE IF EXISTS campus; - diff --git a/admin/Database/ogAdmBD-1.0.6b-1.1.0a.sql b/admin/Database/ogAdmBD-1.0.6b-1.1.0a.sql new file mode 100644 index 00000000..8db4d183 --- /dev/null +++ b/admin/Database/ogAdmBD-1.0.6b-1.1.0a.sql @@ -0,0 +1,160 @@ +### Fichero de actualización de la base de datos. +# OpenGnSys 1.0.6b - OpenGnsys 1.1.0 +#use ogAdmBD + +### NOTA: la configuración de MySQL solo puede modificarla el usuario "root". +# Soportar cláusuloas GROUP BY especiales para configuración de equipos. +#SET GLOBAL sql_mode = TRIM(BOTH ',' FROM REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); +# Activar calendario de eventos de MySQL. +#SET GLOBAL event_scheduler = ON; + +# Nuevos tipos de particiones y de sistemas de ficheros (ticket #758). +INSERT INTO tipospar (codpar, tipopar, clonable) VALUES + (CONV('A9',16,10), 'NETBSD', 1), + (CONV('2700',16,10), 'WIN-RECOV', 1), + (CONV('8302',16,10), 'LINUX', 1), + (CONV('A504',16,10), 'FREEBSD', 1), + (CONV('A901',16,10), 'NETBSD-SWAP', 0), + (CONV('A902',16,10), 'NETBSD', 1), + (CONV('A903',16,10), 'NETBSD', 1), + (CONV('A904',16,10), 'NETBSD', 1), + (CONV('A905',16,10), 'NETBSD', 1), + (CONV('A906',16,10), 'NETBSD-RAID', 1), + (CONV('AF02',16,10), 'HFS-RAID', 1), + (CONV('FB00',16,10), 'VMFS', 1), + (CONV('FB01',16,10), 'VMFS-RESERV', 1), + (CONV('FB02',16,10), 'VMFS-KRN', 1), + (CONV('10000',16,10), 'LVM-LV', 1), + (CONV('10010',16,10), 'ZFS-VOL', 1) + ON DUPLICATE KEY UPDATE + codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); +INSERT INTO sistemasficheros (idsistemafichero, nemonico, descripcion) VALUES + (20, 'F2FS', 'F2FS'), + (21, 'NILFS2', 'NILFS2') + ON DUPLICATE KEY UPDATE + idsistemafichero=VALUES(idsistemafichero), nemonico=VALUES(nemonico), descripcion=VALUES(descripcion); + +# Eliminar campos sin uso (ticket #730). +# Modificar número de puestos del aula para valores hasta 32768 (ticket #747) +# Añadir campos para aulas: servidor NTP, inclusión en proyecto Remote PC y directorio de ogLive (tickets #725, #708 y #768) +ALTER TABLE aulas + DROP cuadro_x, + DROP cuadro_y, + MODIFY puestos SMALLINT DEFAULT NULL, + ADD ntp VARCHAR(30) AFTER proxy, + ADD inremotepc TINYINT DEFAULT 0, + ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; +# Añadir campos para nº de revisión de imágenes y su inclusión en proyecto Remote PC (tickets #737 y #708). +ALTER TABLE imagenes + ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca, + ADD inremotepc TINYINT DEFAULT 0; + +# Adaptar campo para codificar claves de usuarios (ticket #778), +# eliminar campo sin uso (ticket #730), +# añadir clave de acceso a la API REST (tickets #708). +ALTER TABLE usuarios + MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT '', + ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; +# Preparar generación de clave de acceso a la API REST para el usuario principal (ticket #708). +UPDATE usuarios + SET apikey = 'APIKEY' + WHERE idusuario = 1 AND apikey = ''; +# Codificar claves de usuarios (ticket #) +INSERT INTO usuarios (idusuario, pasguor) + SELECT idusuario, pasguor FROM usuarios + ON DUPLICATE KEY UPDATE + idusuario=VALUES(idusuario), pasguor=SHA2(VALUES(pasguor),224); + +# Añadir nº de revisión de imagen restaurada (ticket #737), +# añadir porcentaje de uso de sistema de ficheros (ticket #711), +# evitar errores "TEXT NOT NULL" y "NO_ZERO_DATE" (ticket #730). +ALTER TABLE ordenadores_particiones + MODIFY cache TEXT, + ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen, + ADD uso TINYINT NOT NULL DEFAULT 0; +ALTER TABLE acciones + MODIFY restrambito TEXT, + MODIFY fechahorareg DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00', + MODIFY fechahorafin DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'; +ALTER TABLE parametros + MODIFY descripcion TEXT; +ALTER TABLE tareas + MODIFY restrambito TEXT; + +# Actualizar componentes hardware y añadir nº de serie, clave de acceso a API REST de OGAgent y directorio de ogLive (tickets #713, #718 y #768) +ALTER TABLE tipohardwares + DROP pci; +INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES + (17, 'Chasis del Sistema', '', 'cha'), + (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), + (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo'); +ALTER TABLE ordenadores + ADD numserie VARCHAR(25) DEFAULT NULL AFTER nombreordenador, + ADD agentkey VARCHAR(32) DEFAULT NULL, + ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; + +# Directorios en repo para distintas UO (ticket #678). +ALTER TABLE entidades + ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; +ALTER TABLE centros + ADD directorio VARCHAR(50) DEFAULT ''; + +# Incluir campo ID sistema operativo en el perfil de software (tickets #738 #713) +ALTER TABLE perfilessoft + ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; + +# Añadir campo y generar clave de acceso a la API REST del repositorio (ticket #743). +ALTER TABLE repositorios + ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; +UPDATE repositorios + SET apikey = 'REPOKEY' + WHERE idrepositorio = 1 AND apikey = ''; + +# Nuevas tablas para datos del proyecto Remote PC y operaciones de OGAgent (ticket #708). +CREATE TABLE IF NOT EXISTS remotepc ( + id INT(11) NOT NULL, + reserved DATETIME DEFAULT NULL, + urllogin VARCHAR(100), + urllogout VARCHAR(100), + PRIMARY KEY (id) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS ogagent_queue ( + id INT(11) NOT NULL AUTO_INCREMENT, + clientid INT(11) NOT NULL, + exectime DATETIME DEFAULT NULL, + operation VARCHAR(25), + PRIMARY KEY (id) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; + + +# Nuevo comando "Enviar mensaje" (ticket #779) +INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, + aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES + (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', + 31, 'tit;msj', 'nfn;iph;tit;msj', '', 1, '' ); +INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES + (39, 'tit', 'Título', '', '', '', 0, 1), + (40, 'msj', 'Contenido', '', '', '', 0, 1); + +# Crear tabla de log para la cola de acciones (ticket #782) +CREATE TABLE IF NOT EXISTS acciones_log LIKE acciones; +ALTER TABLE acciones_log ADD fecha_borrado DATETIME; +DELIMITER // +CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW BEGIN + INSERT INTO acciones_log VALUES + (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, + OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, + OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, + OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, + OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, NOW()); +END// +DELIMITER ; + +# Ampliar programación de tareas hasta 2025 (ticket #732). +ALTER TABLE programaciones + MODIFY annos SMALLINT DEFAULT NULL, + MODIFY meses SMALLINT DEFAULT NULL; + +# Eliminar tabla sin uso (ticket #730). +DROP TABLE IF EXISTS campus; + diff --git a/admin/Database/ogAdmBD-1.1.0-postinst.sql b/admin/Database/ogAdmBD-1.1.0-postinst.sql deleted file mode 100644 index 7ebbfd14..00000000 --- a/admin/Database/ogAdmBD-1.1.0-postinst.sql +++ /dev/null @@ -1,49 +0,0 @@ -### Procedimiento para actualización de la base de datos. -# Postinstalación de OpenGnsys 1.1.0 -#use ogAdmBD - -# Nota: retocar el fichero para sustituir KERNELVERSION por la versión del -# Kernel del cliente ogLive con el formato V.RR (V=versión, RR=revisión). - -# Cambiar parámetro de resolución de pantalla para Kernel anteriores a 3.7. -UPDATE menus - SET resolucion = CASE resolucion - WHEN 'uvesafb:1152x864-16' THEN '355' - WHEN 'uvesafb:800x600-16' THEN '788' - WHEN 'uvesafb:800x600-24' THEN '789' - WHEN 'uvesafb:800x600-32' THEN '814' - WHEN 'uvesafb:1024x768-16' THEN '791' - WHEN 'uvesafb:1024x768-24' THEN '792' - WHEN 'uvesafb:1024x768-32' THEN '824' - WHEN 'uvesafb:1280x1024-16' THEN '794' - WHEN 'uvesafb:1280x1024-24' THEN '795' - WHEN 'uvesafb:1280x1024-32' THEN '829' - WHEN 'uvesafb:1600x1200-16' THEN '798' - WHEN 'uvesafb:1600x1200-24' THEN '799' - WHEN 'uvesafb:1600x1200-32' THEN '834' - WHEN NULL or '0' THEN '788' - ELSE resolucion - END - WHERE KERNELVERSION < 3.07; - -# Cambiar parámetro de resolución de pantalla para Kernel 3.7 o superior. -UPDATE menus - SET resolucion = CASE resolucion - WHEN '355' THEN 'uvesafb:1152x864-16' - WHEN '788' THEN 'uvesafb:800x600-16' - WHEN '789' THEN 'uvesafb:800x600-24' - WHEN '791' THEN 'uvesafb:1024x768-16' - WHEN '792' THEN 'uvesafb:1024x768-24' - WHEN '794' THEN 'uvesafb:1280x1024-16' - WHEN '795' THEN 'uvesafb:1280x1024-24' - WHEN '798' THEN 'uvesafb:1600x1200-16' - WHEN '799' THEN 'uvesafb:1600x1200-24' - WHEN '814' THEN 'uvesafb:800x600-32' - WHEN '824' THEN 'uvesafb:1024x768-32' - WHEN '829' THEN 'uvesafb:1280x1024-32' - WHEN '834' THEN 'uvesafb:1600x1200-32' - WHEN NULL or '0' THEN 'uvesafb:800x600-16' - ELSE resolucion - END - WHERE KERNELVERSION >= 3.07; - diff --git a/admin/Database/ogAdmBD-1.1.0a-postinst.sql b/admin/Database/ogAdmBD-1.1.0a-postinst.sql new file mode 100644 index 00000000..7ebbfd14 --- /dev/null +++ b/admin/Database/ogAdmBD-1.1.0a-postinst.sql @@ -0,0 +1,49 @@ +### Procedimiento para actualización de la base de datos. +# Postinstalación de OpenGnsys 1.1.0 +#use ogAdmBD + +# Nota: retocar el fichero para sustituir KERNELVERSION por la versión del +# Kernel del cliente ogLive con el formato V.RR (V=versión, RR=revisión). + +# Cambiar parámetro de resolución de pantalla para Kernel anteriores a 3.7. +UPDATE menus + SET resolucion = CASE resolucion + WHEN 'uvesafb:1152x864-16' THEN '355' + WHEN 'uvesafb:800x600-16' THEN '788' + WHEN 'uvesafb:800x600-24' THEN '789' + WHEN 'uvesafb:800x600-32' THEN '814' + WHEN 'uvesafb:1024x768-16' THEN '791' + WHEN 'uvesafb:1024x768-24' THEN '792' + WHEN 'uvesafb:1024x768-32' THEN '824' + WHEN 'uvesafb:1280x1024-16' THEN '794' + WHEN 'uvesafb:1280x1024-24' THEN '795' + WHEN 'uvesafb:1280x1024-32' THEN '829' + WHEN 'uvesafb:1600x1200-16' THEN '798' + WHEN 'uvesafb:1600x1200-24' THEN '799' + WHEN 'uvesafb:1600x1200-32' THEN '834' + WHEN NULL or '0' THEN '788' + ELSE resolucion + END + WHERE KERNELVERSION < 3.07; + +# Cambiar parámetro de resolución de pantalla para Kernel 3.7 o superior. +UPDATE menus + SET resolucion = CASE resolucion + WHEN '355' THEN 'uvesafb:1152x864-16' + WHEN '788' THEN 'uvesafb:800x600-16' + WHEN '789' THEN 'uvesafb:800x600-24' + WHEN '791' THEN 'uvesafb:1024x768-16' + WHEN '792' THEN 'uvesafb:1024x768-24' + WHEN '794' THEN 'uvesafb:1280x1024-16' + WHEN '795' THEN 'uvesafb:1280x1024-24' + WHEN '798' THEN 'uvesafb:1600x1200-16' + WHEN '799' THEN 'uvesafb:1600x1200-24' + WHEN '814' THEN 'uvesafb:800x600-32' + WHEN '824' THEN 'uvesafb:1024x768-32' + WHEN '829' THEN 'uvesafb:1280x1024-32' + WHEN '834' THEN 'uvesafb:1600x1200-32' + WHEN NULL or '0' THEN 'uvesafb:800x600-16' + ELSE resolucion + END + WHERE KERNELVERSION >= 3.07; + diff --git a/admin/Database/ogAdmBD-1.1.0pre-1.1.0.sql b/admin/Database/ogAdmBD-1.1.0pre-1.1.0.sql deleted file mode 100644 index db52865b..00000000 --- a/admin/Database/ogAdmBD-1.1.0pre-1.1.0.sql +++ /dev/null @@ -1,270 +0,0 @@ -### Fichero de actualización de la base de datos. -# OpenGnsys 1.1.0pre - 1.1.0 -#use ogAdmBD - -### NOTA: la configuración de MySQL solo puede modificarla el usuario "root". -# Soportar cláusuloas GROUP BY especiales para configuración de equipos. -#SET GLOBAL sql_mode = TRIM(BOTH ',' FROM REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); -# Activar calendario de eventos de MySQL. -#SET GLOBAL event_scheduler = ON; - -# Eliminar procedimiento y disparador para evitar errores de ejecución. -DROP PROCEDURE IF EXISTS addcols; -DROP TRIGGER IF EXISTS registrar_acciones; -# Procedimiento para actualización condicional de tablas. -DELIMITER '//' -CREATE PROCEDURE addcols() BEGIN - # Añadir campo para incluir aulas en proyecto Remote PC (ticket #708). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE aulas - ADD inremotepc TINYINT DEFAULT 0; - END IF; - # Añadir campo para incluir imágenes en proyecto Remote PC (ticket #708). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE imagenes - ADD inremotepc TINYINT DEFAULT 0; - END IF; - # Añadir campo para clave de acceso a la API REST (ticket #708). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='apikey' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE usuarios - ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; - END IF; - # Añadir porcentaje de uso de sistema de ficheros (ticket #711) - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='uso' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores_particiones - ADD uso TINYINT NOT NULL DEFAULT 0; - END IF; - # Añadir nº de serie (ticket #713) - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='numserie' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores - ADD numserie varchar(25) DEFAULT NULL AFTER nombreordenador; - END IF; - # Añadir campo para clave de acceso a la API REST de OGAgent (ticket #718). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='agentkey' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores - ADD agentkey VARCHAR(32) DEFAULT NULL; - END IF; - # Añadir índice para mostrar correctamente el formulario de estado. - IF NOT EXISTS (SELECT * FROM information_schema.STATISTICS - WHERE INDEX_NAME='idaulaip' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores - ADD KEY idaulaip (idaula ASC, ip ASC); - END IF; - # Añadir campo para directorio de ogLive asociado al cliente (ticket #768). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='oglivedir' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores - ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; - END IF; - # Añadir campo para directorio de ogLive asociado al cliente (ticket #768). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='oglivedir' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE aulas - ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; - END IF; - # Eliminar campos sin uso en aulas (ticket #730). - IF EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='cuadro_x' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE aulas - DROP cuadro_x, - DROP cuadro_y; - END IF; - # Eliminar campos no usado en inventario de hardware (ticket #713). - IF EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='pci' AND TABLE_NAME='tipohardwares' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE tipohardwares - DROP pci; - END IF; - # Añadir servidor de sincronización horaria NTP (ticket #725). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='ntp' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE aulas - ADD ntp VARCHAR(30) AFTER proxy; - END IF; - # Directorios en repo para distintas UO (ticket #678). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='ogunit' AND TABLE_NAME='entidades' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE entidades - ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; - END IF; - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='directorio' AND TABLE_NAME='centros' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE centros - ADD directorio VARCHAR(50) DEFAULT ''; - END IF; - # Nº de revisión de imagen (ticket #737). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='revision' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE imagenes - ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca; - END IF; - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='revision' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE ordenadores_particiones - ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen; - END IF; - # Incluir campo sistema operativo en el perfil de software (tickets #738 #713) - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='idnombreso' AND TABLE_NAME='perfilessoft' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE perfilessoft - ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; - END IF; - # Añadir campo para clave de acceso a la API REST del repositorio (ticket #743). - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE COLUMN_NAME='apikey' AND TABLE_NAME='repositorios' AND TABLE_SCHEMA=DATABASE()) - THEN - ALTER TABLE repositorios - ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; - END IF; - # Codificar claves de los usuarios, si fuese necesario (ticket #778) - IF ((SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS - WHERE COLUMN_NAME='pasguor' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) != 56) - THEN - ALTER TABLE usuarios - MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT ''; - INSERT INTO usuarios (idusuario, pasguor) - SELECT idusuario, pasguor FROM usuarios - ON DUPLICATE KEY UPDATE - pasguor=SHA2(VALUES(pasguor), 224); - END IF; - # Crear tabla de log para la cola de acciones (ticket #782) - IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS - WHERE TABLE_NAME='acciones_log' AND TABLE_SCHEMA=DATABASE()) - THEN - CREATE TABLE acciones_log LIKE acciones; - ALTER TABLE acciones_log ADD fecha_borrado DATETIME; - END IF; -END// -# Disparador para mover acciones borradas a la tabla de registro de acciones. -CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW -BEGIN - INSERT INTO acciones_log VALUES - (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, - OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, - OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, - OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, - OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, - NOW()); -END// -# Ejecutar actualización condicional. -DELIMITER ';' -CALL addcols(); -DROP PROCEDURE addcols; - -# Nuevos tipos de particiones y de sistemas de ficheros. -INSERT INTO tipospar (codpar, tipopar, clonable) VALUES - (CONV('A9',16,10), 'NETBSD', 1), - (CONV('2700',16,10), 'WIN-RECOV', 1), - (CONV('8302',16,10), 'LINUX', 1), - (CONV('A504',16,10), 'FREEBSD', 1), - (CONV('A901',16,10), 'NETBSD-SWAP', 0), - (CONV('A902',16,10), 'NETBSD', 1), - (CONV('A903',16,10), 'NETBSD', 1), - (CONV('A904',16,10), 'NETBSD', 1), - (CONV('A905',16,10), 'NETBSD', 1), - (CONV('A906',16,10), 'NETBSD-RAID', 1), - (CONV('AF02',16,10), 'HFS-RAID', 1), - (CONV('FB00',16,10), 'VMFS', 1), - (CONV('FB01',16,10), 'VMFS-RESERV', 1), - (CONV('FB02',16,10), 'VMFS-KRN', 1), - (CONV('10000',16,10), 'LVM-LV', 1), - (CONV('10010',16,10), 'ZFS-VOL', 1) - ON DUPLICATE KEY UPDATE - codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); -INSERT INTO sistemasficheros (idsistemafichero, nemonico, descripcion) VALUES - (19, 'LINUX-SWAP', 'LINUX-SWAP'), - (20, 'F2FS', 'F2FS'), - (21, 'NILFS2', 'NILFS2') - ON DUPLICATE KEY UPDATE - idsistemafichero=VALUES(idsistemafichero), nemonico=VALUES(nemonico), descripcion=VALUES(descripcion); - - -# Preparar generación de claves de acceso a la API REST para el usuario principal y a la del repositorio principal (tickets #708 y #743). -UPDATE usuarios - SET apikey = 'APIKEY' - WHERE idusuario = 1 AND apikey = ''; -UPDATE repositorios - SET apikey = 'REPOKEY' - WHERE idrepositorio = 1 AND apikey = ''; - -# Nuevos componentes hardware (ticket #713) -INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES - (17, 'Chasis del Sistema', '', 'cha'), - (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), - (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo') - ON DUPLICATE KEY UPDATE - descripcion=VALUES(descripcion), urlimg=VALUES(urlimg), nemonico=VALUES(nemonico); - -# Número de puestos del aula permite valores hasta 32768 (ticket #747) -ALTER TABLE aulas - MODIFY puestos SMALLINT DEFAULT NULL; - -# Nuevas tablas para datos del proyecto Remote PC y operaciones de OGAgent (ticket #708). -DROP TABLE IF EXISTS remotepc; -CREATE TABLE remotepc ( - id INT(11) NOT NULL, - reserved DATETIME DEFAULT NULL, - urllogin VARCHAR(100), - urllogout VARCHAR(100), - language VARCHAR(5), - PRIMARY KEY (id) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -DROP TABLE IF EXISTS ogagent_queue; -CREATE TABLE ogagent_queue ( - id INT(11) NOT NULL AUTO_INCREMENT, - clientid INT(11) NOT NULL, - exectime DATETIME DEFAULT NULL, - operation VARCHAR(25), - PRIMARY KEY (id) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -# Nuevo comando "Enviar mensaje" (ticket #779) -INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, - aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES - (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', 31, '', '', '', 1, '' ) - ON DUPLICATE KEY UPDATE - descripcion=VALUES(descripcion), pagina=VALUES(pagina), - gestor=VALUES(gestor), funcion=VALUES(funcion), - aplicambito=VALUES(aplicambito), activo=VALUES(activo); -INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES - (39, 'tit', 'Título', '', '', '', 0, 1), - (40, 'msj', 'Contenido', '', '', '', 0, 1) - ON DUPLICATE KEY UPDATE - nemonico=VALUES(nemonico), descripcion=VALUES(descripcion), - tipopa=VALUES(tipopa), visual=VALUES(visual); - -# Evitar error de MySQL con modo NO_ZERO_DATE (ticket #730). -ALTER TABLE acciones - MODIFY fechahorareg DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00', - MODIFY fechahorafin DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'; - -# Ampliar programación de tareas hasta 2025 (ticket #732). -ALTER TABLE programaciones - MODIFY annos SMALLINT DEFAULT NULL; - -# Eliminar tabla sin uso (ticket #730). -DROP TABLE IF EXISTS campus; - diff --git a/admin/Database/ogAdmBD-1.1.0pre-1.1.0a.sql b/admin/Database/ogAdmBD-1.1.0pre-1.1.0a.sql new file mode 100644 index 00000000..db52865b --- /dev/null +++ b/admin/Database/ogAdmBD-1.1.0pre-1.1.0a.sql @@ -0,0 +1,270 @@ +### Fichero de actualización de la base de datos. +# OpenGnsys 1.1.0pre - 1.1.0 +#use ogAdmBD + +### NOTA: la configuración de MySQL solo puede modificarla el usuario "root". +# Soportar cláusuloas GROUP BY especiales para configuración de equipos. +#SET GLOBAL sql_mode = TRIM(BOTH ',' FROM REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); +# Activar calendario de eventos de MySQL. +#SET GLOBAL event_scheduler = ON; + +# Eliminar procedimiento y disparador para evitar errores de ejecución. +DROP PROCEDURE IF EXISTS addcols; +DROP TRIGGER IF EXISTS registrar_acciones; +# Procedimiento para actualización condicional de tablas. +DELIMITER '//' +CREATE PROCEDURE addcols() BEGIN + # Añadir campo para incluir aulas en proyecto Remote PC (ticket #708). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE aulas + ADD inremotepc TINYINT DEFAULT 0; + END IF; + # Añadir campo para incluir imágenes en proyecto Remote PC (ticket #708). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE imagenes + ADD inremotepc TINYINT DEFAULT 0; + END IF; + # Añadir campo para clave de acceso a la API REST (ticket #708). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='apikey' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE usuarios + ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; + END IF; + # Añadir porcentaje de uso de sistema de ficheros (ticket #711) + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='uso' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores_particiones + ADD uso TINYINT NOT NULL DEFAULT 0; + END IF; + # Añadir nº de serie (ticket #713) + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='numserie' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores + ADD numserie varchar(25) DEFAULT NULL AFTER nombreordenador; + END IF; + # Añadir campo para clave de acceso a la API REST de OGAgent (ticket #718). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='agentkey' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores + ADD agentkey VARCHAR(32) DEFAULT NULL; + END IF; + # Añadir índice para mostrar correctamente el formulario de estado. + IF NOT EXISTS (SELECT * FROM information_schema.STATISTICS + WHERE INDEX_NAME='idaulaip' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores + ADD KEY idaulaip (idaula ASC, ip ASC); + END IF; + # Añadir campo para directorio de ogLive asociado al cliente (ticket #768). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='oglivedir' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores + ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; + END IF; + # Añadir campo para directorio de ogLive asociado al cliente (ticket #768). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='oglivedir' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE aulas + ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; + END IF; + # Eliminar campos sin uso en aulas (ticket #730). + IF EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='cuadro_x' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE aulas + DROP cuadro_x, + DROP cuadro_y; + END IF; + # Eliminar campos no usado en inventario de hardware (ticket #713). + IF EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='pci' AND TABLE_NAME='tipohardwares' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE tipohardwares + DROP pci; + END IF; + # Añadir servidor de sincronización horaria NTP (ticket #725). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='ntp' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE aulas + ADD ntp VARCHAR(30) AFTER proxy; + END IF; + # Directorios en repo para distintas UO (ticket #678). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='ogunit' AND TABLE_NAME='entidades' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE entidades + ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; + END IF; + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='directorio' AND TABLE_NAME='centros' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE centros + ADD directorio VARCHAR(50) DEFAULT ''; + END IF; + # Nº de revisión de imagen (ticket #737). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='revision' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE imagenes + ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca; + END IF; + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='revision' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE ordenadores_particiones + ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen; + END IF; + # Incluir campo sistema operativo en el perfil de software (tickets #738 #713) + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='idnombreso' AND TABLE_NAME='perfilessoft' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE perfilessoft + ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; + END IF; + # Añadir campo para clave de acceso a la API REST del repositorio (ticket #743). + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE COLUMN_NAME='apikey' AND TABLE_NAME='repositorios' AND TABLE_SCHEMA=DATABASE()) + THEN + ALTER TABLE repositorios + ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; + END IF; + # Codificar claves de los usuarios, si fuese necesario (ticket #778) + IF ((SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS + WHERE COLUMN_NAME='pasguor' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) != 56) + THEN + ALTER TABLE usuarios + MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT ''; + INSERT INTO usuarios (idusuario, pasguor) + SELECT idusuario, pasguor FROM usuarios + ON DUPLICATE KEY UPDATE + pasguor=SHA2(VALUES(pasguor), 224); + END IF; + # Crear tabla de log para la cola de acciones (ticket #782) + IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS + WHERE TABLE_NAME='acciones_log' AND TABLE_SCHEMA=DATABASE()) + THEN + CREATE TABLE acciones_log LIKE acciones; + ALTER TABLE acciones_log ADD fecha_borrado DATETIME; + END IF; +END// +# Disparador para mover acciones borradas a la tabla de registro de acciones. +CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW +BEGIN + INSERT INTO acciones_log VALUES + (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, + OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, + OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, + OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, + OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, + NOW()); +END// +# Ejecutar actualización condicional. +DELIMITER ';' +CALL addcols(); +DROP PROCEDURE addcols; + +# Nuevos tipos de particiones y de sistemas de ficheros. +INSERT INTO tipospar (codpar, tipopar, clonable) VALUES + (CONV('A9',16,10), 'NETBSD', 1), + (CONV('2700',16,10), 'WIN-RECOV', 1), + (CONV('8302',16,10), 'LINUX', 1), + (CONV('A504',16,10), 'FREEBSD', 1), + (CONV('A901',16,10), 'NETBSD-SWAP', 0), + (CONV('A902',16,10), 'NETBSD', 1), + (CONV('A903',16,10), 'NETBSD', 1), + (CONV('A904',16,10), 'NETBSD', 1), + (CONV('A905',16,10), 'NETBSD', 1), + (CONV('A906',16,10), 'NETBSD-RAID', 1), + (CONV('AF02',16,10), 'HFS-RAID', 1), + (CONV('FB00',16,10), 'VMFS', 1), + (CONV('FB01',16,10), 'VMFS-RESERV', 1), + (CONV('FB02',16,10), 'VMFS-KRN', 1), + (CONV('10000',16,10), 'LVM-LV', 1), + (CONV('10010',16,10), 'ZFS-VOL', 1) + ON DUPLICATE KEY UPDATE + codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); +INSERT INTO sistemasficheros (idsistemafichero, nemonico, descripcion) VALUES + (19, 'LINUX-SWAP', 'LINUX-SWAP'), + (20, 'F2FS', 'F2FS'), + (21, 'NILFS2', 'NILFS2') + ON DUPLICATE KEY UPDATE + idsistemafichero=VALUES(idsistemafichero), nemonico=VALUES(nemonico), descripcion=VALUES(descripcion); + + +# Preparar generación de claves de acceso a la API REST para el usuario principal y a la del repositorio principal (tickets #708 y #743). +UPDATE usuarios + SET apikey = 'APIKEY' + WHERE idusuario = 1 AND apikey = ''; +UPDATE repositorios + SET apikey = 'REPOKEY' + WHERE idrepositorio = 1 AND apikey = ''; + +# Nuevos componentes hardware (ticket #713) +INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES + (17, 'Chasis del Sistema', '', 'cha'), + (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), + (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo') + ON DUPLICATE KEY UPDATE + descripcion=VALUES(descripcion), urlimg=VALUES(urlimg), nemonico=VALUES(nemonico); + +# Número de puestos del aula permite valores hasta 32768 (ticket #747) +ALTER TABLE aulas + MODIFY puestos SMALLINT DEFAULT NULL; + +# Nuevas tablas para datos del proyecto Remote PC y operaciones de OGAgent (ticket #708). +DROP TABLE IF EXISTS remotepc; +CREATE TABLE remotepc ( + id INT(11) NOT NULL, + reserved DATETIME DEFAULT NULL, + urllogin VARCHAR(100), + urllogout VARCHAR(100), + language VARCHAR(5), + PRIMARY KEY (id) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +DROP TABLE IF EXISTS ogagent_queue; +CREATE TABLE ogagent_queue ( + id INT(11) NOT NULL AUTO_INCREMENT, + clientid INT(11) NOT NULL, + exectime DATETIME DEFAULT NULL, + operation VARCHAR(25), + PRIMARY KEY (id) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +# Nuevo comando "Enviar mensaje" (ticket #779) +INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, + aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES + (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', 31, '', '', '', 1, '' ) + ON DUPLICATE KEY UPDATE + descripcion=VALUES(descripcion), pagina=VALUES(pagina), + gestor=VALUES(gestor), funcion=VALUES(funcion), + aplicambito=VALUES(aplicambito), activo=VALUES(activo); +INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES + (39, 'tit', 'Título', '', '', '', 0, 1), + (40, 'msj', 'Contenido', '', '', '', 0, 1) + ON DUPLICATE KEY UPDATE + nemonico=VALUES(nemonico), descripcion=VALUES(descripcion), + tipopa=VALUES(tipopa), visual=VALUES(visual); + +# Evitar error de MySQL con modo NO_ZERO_DATE (ticket #730). +ALTER TABLE acciones + MODIFY fechahorareg DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00', + MODIFY fechahorafin DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'; + +# Ampliar programación de tareas hasta 2025 (ticket #732). +ALTER TABLE programaciones + MODIFY annos SMALLINT DEFAULT NULL; + +# Eliminar tabla sin uso (ticket #730). +DROP TABLE IF EXISTS campus; + diff --git a/doc/CHANGELOG.es.txt b/doc/CHANGELOG.es.txt index 196664d8..9953c0db 100644 --- a/doc/CHANGELOG.es.txt +++ b/doc/CHANGELOG.es.txt @@ -77,6 +77,7 @@ Tickets resueltos en módulo OpenGnsys Client: #774 Soportar clientes ogLive de 64 bits #783 Browser registra salida de comandos ejecutados al pulsar enlace (mejora) #786 Adaptar el ogLive-precise-3.2.0-23-generic-r4820.iso como ogLive de 32 bits +#788 grubSyntax compatible con grub_probe version 1.99 #813 Restaurar Imagen no muestra el error en la cola de acciones Tickets resueltos en módulo OpenGnsys Server: diff --git a/doc/VERSION.txt b/doc/VERSION.txt index 823ab7c1..121e4fbb 100644 --- a/doc/VERSION.txt +++ b/doc/VERSION.txt @@ -1 +1 @@ -OpenGnsys 1.1.0 +OpenGnsys 1.1.0a diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh index 1c87874e..8461f2ec 100755 --- a/installer/opengnsys_update.sh +++ b/installer/opengnsys_update.sh @@ -1161,6 +1161,7 @@ if [ $? -ne 0 ]; then exit 1 fi # Actaulizar ficheros descargables. +NEWVERSION=1.1.0 ### Temporal. updateDownloadableFiles # Generar páginas Doxygen para instalar en el web makeDoxygenFiles -- cgit v1.2.3-18-g5258