SIU-Kolla/Version 4.9.0/actualizacion
Sumario
Actualización de versión
Esquema de migración hasta la versión 4.9.X
La actualización a la versión 4.9 requiere contar con una instalación de SIU-Kolla 4.1.0 o posterior.
Dependiendo de la versión con la que se cuente, los pasos a completar pueden ser:
- Actualizar desde la versión en la que se encuentra a la versión 4.1.0
- Actualizar desde 4.1.0 a la versión 4.9 de SIU-Kolla
Los pasos para completar la actualización a 4.1.x se puede consultar en la sección correspondiente de la documentación. Una vez que se cuenta con la aplicación en la versión 4.1.0 o posterior, se puede actualizar a 4.9.x.
Este proceso se ocupa de actualizar la estructura de la base de datos de acuerdo al modelo de datos considerando las encuestas implementadas junto a las respuestas ya obtenidas. La migración no incluye desarrollos, o personalizaciones que se hayan realizado en el módulo de encuestas.
El esquema toba_kolla conservará los datos del framework de Toba, mientras que el esquema kolla será el destinatario de todas las tablas de negocio de la aplicación SIU-Kolla. Vale aclarar que estos nombres de los esquemas son los sugeridos, pero podrían ser otros de acuerdo a lo que hayan indicado al instalar la versión existente.
Librerías y módulos adicionales
Al actualizar a la versión 4.9.x se debe tener en cuenta actualizar las siguientes librerías: Postgres, Apache y PHP.
Las versiones recomendadas son:
- Apache 2.4.x
- PHP 8.1 (con las extensiones: php_gd, php_pdo, php_pdo_pgsql, php_curl, php_xsl, php_zip)
- PostgresSQL 10.x a 13
- Yarn
- Composer 2.x.x
Pasos previos a actualizar
Instalaciones con auditoría activada
Desactivar la auditoría de la fuente de datos del proyecto. Ingresar al proyecto toba_usuarios, menú Auditoría, opción Conf. Log Datos y desmarcar todas las tablas que están configuradas para auditoría. Luego es recomendado realizar un backup de estos datos con el siguiente comando, reemplazando las variables según configuración:
pg_dump -a --disable-triggers -n <schema_kolla>_auditoria -h <host> -U <usuario> -p <puerto> -d <base_kolla> -f /path/al/archivo.sql
Importante: el <usuario> debe ser un superusuario de la base de datos.
Pasos para la Actualización
1. Descargar el paquete de instalación del proyecto desde el Repositorio disponible en el Portal de Servicios de Comunidad). Se pueden consultar mas detalles de cómo acceder al instalador en la sección Acceso a última versión.
2. Una vez descargado el instalador junto con el archivo de checksum y si se desea corroborar la autenticidad y la integridad del mismo, se debe correr el siguiente comando:
sha512sum -c instalador_kolla_4_9_X.rar.sha512.txt
A través de ejecutar esta sentencia podemos detectar posibles cambios accidentales que hayan ocurrido al descargar el archivo de instalación.
3. Descomprimir el archivo y copiar el directorio donde se desea realizar la actualización.
4. Ingresar al directorio y ejecutar:
composer install --no-dev
5. Antes de comenzar con el proceso de actualización es de suma importancia realizar un dump/backup de la base de datos y del directorio completo de la instalación actual del proyecto.
6. Copiar el archivo instalador.env.dist y renombrar a instalador.env. En linux se puede utilizar el siguiente comando:
cp -a instalador.env.dist instalador.env
7. Configurar archivo instalador.env
Configurar el archivo instalador.env con los datos correspondientes al proyecto y a toba. Los datos que están comentados con el símbolo numeral # no son datos obligatorios, los demás datos son requeridos que se completen. Dentro del archivo de parámetros del instalador se debe configurar para que la base de datos de negocio de Kolla y la de Toba queden dentro de una misma base de datos (como es la opción por defecto).
###### CONFIG DE TOBA ######
TOBA_URL_BASE="http://localhost"
TOBA_USUARIO="<usuario admin inicial>"
TOBA_PASSWORD="<contraseña para el usuario admin>"
TOBA_ALIAS_PROYECTO="<alias de acceso a Kolla>"
TOBA_ALIAS_NUCLEO="<alias para toba>"
TOBA_ALIAS_TOBA_USUARIOS="<alias para toba usuarios, recomendamos <alias_de_kolla>_toba_usuarios"
8. Verificar que, en la instalación a actualizar, el archivo /kolla/instalacion/i__produccion/instancia.ini tenga el valor 1 en el parámetro usar_perfiles_propios para el proyecto kolla.
9. Dar permisos de ejecución al archivo toba que se encuentra en el directorio bin del framework Toba.
chmod +x vendor/siu-toba/framework/bin/toba
10. Ejecutar el instalador de la siguiente manera:
./bin/instalador proyecto:actualizar
11. Revisar instalador.log para verificar que el proceso haya culminado con éxito. Si se quiere seguir el log del proceso de instalación, en otra terminal ejecutar:
tail -f instalador.log
12. Seguir las instrucciones que brinda el instalador para:
- Acomodar permisos de archivos y direcotorios
sudo ./bin/instalador permisos:simple
- Configurar el servidor web (crear el enlace simbólico al toba.conf del proyecto)
- Quitar el modo mantenimiento del proyecto
./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento
13. Reiniciar el servidor web para que tome los nuevos cambios.
Configuración adicional
Una vez finalizada la actualización se deben realizar algunas configuraciones adicionales para poder acceder a la nueva versión.
Habilitaciones públicas
Configurar el acceso a Habilitaciones Públicas (desde 4.2.0). Editar el archivo "../kolla/instalacion/toba.conf", dentro de los tags <Directory> </Directory> de la sección #Proyecto: kolla se debe agregar la siguiente linea:
RewriteRule ^responder(.*)$ publica.php$1 [L]
Reiniciar Apache para que esta modificación impacte correctamente.
Protocolo HTTPS y acceso con certificado de seguridad
Si el servidor está configurado para armar URLs seguras con protocolo HTTPS habrá que editar el archivo instancia.ini (ubicado en el directorio de instalación de SIU-Kolla/kolla/instalacion/i__produccion) y agregar la siguiente línea dentro de la sección [kolla]:
protocolo_url_post_form_externo = 'https'
A partir de este momento debería ser posible acceder a SIU-Kolla v4.9.X exitosamente.
Recomendaciones
Si se realizó la actualización de una instalación originalmente versión hasta 4.6 se recomienda utilizar el comando para cambiar los permisos de la base de negocio. Este comando genera un script sql que corrige los privilegios de acceso y el owner de todos los objetos de la base y esquema de negocio con el fin de evitar el uso del superusuario postgres.
Antes de utilizar este comando se recomienda consultar con la persona responsable de la administración de las bases de datos de la institución para validar el rol a utilizar y la existencia de políticas propias de gestión de las bases de datos.
El comando puede utilizarse de dos maneras. En ambos casos el proceso solicitará que se indique el superusuario con el que se correrá el script y el usuario administrador para la base de negocio del módulo. En el primer paso se listarán todos los superusuarios disponibles para ayudar a seleccionar el que se usará, en el segundo paso se listarán todos los que no son superusuarios entre los que se podrá elegir el administrador.
Las alternativas son:
- Correrlo para generar un archivo
toba proyecto cambiar_permisos_base -p kolla
Como resultado se generará un script en la carpeta temp del proyecto. Se debeberá tomar este script y utilizarlo para realizar los ajustes mencionados sobre la base de datos.
- Correrlo con el parámetro "--ejecutar"
toba proyecto cambiar_permisos_base -p kolla --ejecutar
Como resultado el script se generará y se ejecutará sobre la base de datos antes de terminar. Esto evita tener que ejecutar el script manualmente sobre la base.
Al finalizar se deberá editar el archivo bases.ini actualizando en todas las fuentes de datos el usuario y clave del nuevo usuario con acceso de administrador de la base.
Personalizaciones
Es importante destacar que este tipo de personalización nada tiene que ver con la personalización de proyectos que propone el framework SIU-Toba, sino que son modificaciones de código que se realizan fuera ese esquema.
Para el caso de las encuestas que se hayan implementado, cuando se actualiza SIU-Kolla se migrarán todas las encuestas, sin incluir las modificaciones que se les haya hecho a las mismas modificando el código fuente, como por ejemplo archivos javascript para comportamientos determinados. Estos cambios se deben reescribir para mantenerlos en la nueva versión.
Todo cambio implementado sobre el módulo SIU-Kolla no se migra automáticamente y la complejidad de la migración de estos cambios dependerá del tipo de personalización que se haya desarrollado quedando a cargo de la Institución que lo haya realizado.