SIU-Kolla/Version 4.7.0/actualizacion
Sumario
Actualización de versión
Esquema de migración hasta la versión 4.7.X
La actualización a la versión 4.7 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.7 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.7.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.7.x se debe tener en cuenta actualizar las siguientes librerías: Postgres, Apache y PHP.
Las versiones recomendadas son:
- Apache 2.4.x
- PHP 7.3.x (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 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_7_0.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.7.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.7.X exitosamente.
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.