SIU-Guarani/version3.22.0/actualizacion con personalizaciones/gestion
Actualización de SIU-Guaraní Gestión a la versión 3.22.x en entorno de desarrollo con personalizaciones
Importante: Antes de comenzar el proceso de actualización, verificar las novedades técnicas de la versión. |
---|
Requisitos previos
- Que no queden desarrollos parciales de ningún miembro del equipo sin subir al repositorio SVN.
- Se deben quitar las directivas echo dentro del archivo <path proyecto Guaraní>/entorno_toba.env.
Pasos para la actualización
Cada actualización del sistema implica modificaciones importantes, por este motivo es primordial que se respeten todos los pasos detallados. Ante cualquier inconveniente consulte con el equipo SIU-Guaraní (vía foro o GdS).
A continuación se diferenciarán las tareas que debe llevar a cabo el Concentrador y las que debe realizar el resto del equipo.
Importante: el resto del equipo de trabajo debe realizar los pasos que le corresponden una vez que el Concentrador terminó de actualizar todo.
A lo largo de los pasos se deberá reemplazar:
- <path proyecto Guaraní>: por el path donde está instalado el proyecto
- <siglas institución>: por las siglas correspondientes al nodo de Colab de la institución que realiza la instalación.
- 3.y.z: por la versión actual del sistema
- 3.22.x: por la versión a la que se quiere actualizar
Pasos a realizar por el Concentrador
- Verificar que se cumplan todos los requisitos técnicos de la versión.
- Versionar los diferenciales de metadatos personalizados.
- Calcular los diferenciales de metadatos, en formato XML que facilitará su incorporación en la próxima versión, ejecutando, desde la carpeta bin (<path proyecto Guaraní>/bin):
- ./guarani esquema_pers exportar
- El resultado de dicha acción quedará en la carpeta <path proyecto Guaraní>/personalizacion/metadatos
- Importante: Controlar los mensajes que surgen de aplicar el comando anterior.
- Desactivar el esquema de personalizaciones para evitar conflictos de SVN al cambiar de versión. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani esquema_pers desactivar
- Verificar si hay cambios para subir al repositorio, ejecutando dentro de la carpeta de Guaraní (<path proyecto Guaraní>)
- svn status
- Si dentro del directorio de personalizaciones aparece el signo ?, se debe ejecutar el siguiente comando para que luego el directorio que tiene el ? sea considerado para agregar a SVN:
- svn add <path del directorio que se tiene que agregar (el que tiene el signo ?)>
- Versionar el resultado de los comandos anteriores. Para ello, posicionados en la carpeta de Guaraní (<path proyecto Guaraní>) ejecutar:
- svn commit -m "Se versionan las personalizaciones para cambio de versión"
- Calcular los diferenciales de metadatos, en formato XML que facilitará su incorporación en la próxima versión, ejecutando, desde la carpeta bin (<path proyecto Guaraní>/bin):
- Actualizar el entorno de desarrollo a la nueva versión
- Cambiar la versión del código
- Dentro de la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
- svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.22.x
- En versiones nuevas de svn puede salir un error:
- svn: E195012: Path '.' does not share common version control ancestry with the requested switch location. Use --ignore-ancestry to disable this check.
- en este caso ejecutar el comando anterior siguiendo lo recomendado en el mensaje:
- svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.22.x --ignore-ancestry
- Una vez concluído el switch debemos verificar que el mismo se haya completado correctamente. Para ello, dentro de la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
- svn status
- y verificar que no existan archivos con estado 'S'.
- En caso de existir un conflicto SVN en el archivo personalizacion.ini, resolverlo dejando la opción de la nueva versión del SIU. Una forma de hacerlo es borrando los archivos en conflicto y realizando un svn update de la carpeta <path proyecto Guaraní>/personalizacion.
- Antes de ejecutar el siguiente paso, es fundamental asegurar tener composer y yarn instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
- composer --version
yarn --version
- Instalar vía Composer las dependencias del proyecto. Posicionados en la raíz <path proyecto Guaraní>, ejecutar:
- composer install
- Verificar que el comando anterior finalice sin errores para continuar.
- Nota: Si ha modificado algún archivo de la carpeta vendor y obtiene algún mensaje como este:
- Updating siu-arai/documentos-cli (v1.0.2 => v1.0.3):
- The package has modified files: M tests/src/SIU/Queue/QueueTest.php Discard changes [y,n,v,d,s,?]? y
- Contestar y para descartar los cambios que se hayan realizado.
- Si se está actualizando desde una versión 3.15.0 o posterior, omitir este paso.
- Realizar un backup de la carpeta <path_proyecto>/lib/toba/instalacion.
- En una consola en <path_proyecto>/bin ejecutar:
- ./reestructurar
- Es un comando que se corre por única vez para reubicar la carpeta instalacion, que pasa a estar en la raíz del proyecto, eliminar recursos obsoletos y ajustar paths en los archivos de configuración.
- Seguir las instrucciones finales brindadas por el comando, relativo al ajuste de archivos de configuración de Apache.
- Reiniciar Apache.
- service apache2 restart
- Regenerar la instancia Toba. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
- ./toba instancia regenerar -i desarrollo
- Nota: ante la pregunta "Desea conservar datos locales como usuarios y logs? (Si o No)" responder n.
- Migrar la base de datos de negocio. Dentro de la carpeta 'bin'(<path proyecto Guaraní>/bin) ejecutar:
- ./guarani migrar_base
- Importante:: si como parte de las personalizaciones tienen el caso de vistas que referencian a tablas (u otras vistas) que desde el SIU modificamos, pueden tener errores en la migración. En ese escenario, lo recomendado es borrarlas, migrar y luego volver a crearlas.
- En caso de no tener una configuración anterior de la manera de ver el menú de la aplicación, se puede establecer de la siguiente manera:
- Para ello, dentro de la carpeta <path proyecto Guaraní> ejecutar:
- cp menu.ini.tmpl menu.ini
- Completar el archivo menu.ini
- Configurar la API REST
- Cambiar la versión del código
- Migrar las personalizaciones
- Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.22.x del sistema tal como la distribuye el SIU. Ahora es el turno de incorporar las personalizaciones desarrolladas en versiones anteriores.
- Mergear la carpeta personalizacion a la nueva versión
- En la instancia actual de la actualización, la carpeta personalizacion tiene únicamente los archivos distribuidos por el SIU. Se debe combinar con las personalizaciones realizadas en la versión anterior, realizando la acción svn merge. Usando la línea de comandos, posicionados en la carpeta raíz del proyecto (<path proyecto Guaraní>) ejecutar:
- svn merge -r0:HEAD https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.y.z/personalizacion/ ./personalizacion/
- Activar el esquema de personalizaciones
- Dentro de la carpeta 'bin' del proyecto Guaraní (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani esquema_pers iniciar
- Chequear conflictos de las personalizaciones con la nueva versión
- Dado que el sistema Guaraní funciona sobre el framework SIU-Toba, utilizando su esquema de metadatos, es necesario chequear si existe algún conflicto entre las personalizaciones realizadas y la nueva versión. Dentro de la carpeta 'bin' del proyecto Guaraní (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani esquema_pers conflictos
- Importante: si al ejecutar el comando llegara a reportarse algún conflicto irresoluble, consultar con el equipo SIU-Guaraní (vía foro o GdS) para ser guiados en el tratamiento de los mismos. Si los conflictos son solubles, cuando se proceda con el proceso de importación de personalizaciones se preguntará si desea incorporar o no este cambio.
- Importar las personalizaciones
- A continuación se procede a incorporar las personalizaciones desarrolladas en la versión anterior a la actual. Dentro de la carpeta 'bin' del proyecto Guaraní (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani esquema_pers importar
- Agregar al repositorio las personalizaciones importadas
- Posicionados en la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
- svn commit -m "3.22.x Merge de las personalizaciones realizadas en versiones anteriores"
- Exportar las personalizaciones
- Deben exportarse las personalizaciones para que las mismas queden disponibles para los demás miembros del equipo (recordar que el único que ejecuta los comandos relativos a personalización es el concentrador). Dentro de la carpeta 'bin' del proyecto Guaraní (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani exportar
- Versionar las personalizaciones
- Posicionados en la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
- svn commit -m "3.22.x Se versionan metadatos exportados de las personalizaciones realizadas en versiones anteriores"
- Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.22.x del sistema tal como la distribuye el SIU. Ahora es el turno de incorporar las personalizaciones desarrolladas en versiones anteriores.
Pasos a realizar por el resto del equipo
Observación: Recordar que, tal como se indicó en los Requisitos Previos, todos los miembros del equipo deberán haber subido sus cambios al SVN, por lo que en las working copies del resto del equipo no habrá cambios locales antes de ejecutar los siguientes pasos. Esto puede verificarse ejecutando un svn status
Una vez que el Concentrador terminó de actualizar todo, el resto del equipo deberá realizar los siguientes pasos:
- Verificar que se cumplan en cada servidor de desarrollo todos los requisitos técnicos de la versión.
- Exportar la información local de la instancia. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani instancia_exp_local
- Cambiar a la nueva versión del sistema. Dentro de la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
- svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.22.x
- En versiones nuevas de svn puede salir un error:
- svn: E195012: Path '.' does not share common version control ancestry with the requested switch location. Use --ignore-ancestry to disable this check.
- en este caso ejecutar el comando anterior siguiendo lo recomendado en el mensaje:
- svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.22.x --ignore-ancestry
- Antes de ejecutar el siguiente paso, es fundamental asegurar tener composer y yarn instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
- composer --version
yarn --version
- Instalar vía Composer las dependencias del proyecto. Posicionados en la raíz <path proyecto Guaraní>, ejecutar:
- composer install
- Verificar que el comando anterior finalice sin errores para continuar.
- Si se está actualizando desde una versión 3.15.0 o posterior, omitir este paso.
- Realizar un backup de la carpeta <path_proyecto>/lib/toba/instalacion.
- En una consola en <path_proyecto>/bin ejecutar:
- ./reestructurar
- Es un comando que se corre por única vez para reubicar la carpeta instalacion, que pasa a estar en la raíz del proyecto, eliminar recursos obsoletos y ajustar paths en los archivos de configuración.
- Seguir las instrucciones finales brindadas por el comando, relativo al ajuste de archivos de configuración de Apache.
- Reiniciar Apache.
- service apache2 restart
- Regenerar la instancia Toba. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
- ./toba instancia regenerar -i desarrollo
- Nota: ante la pregunta "Desea conservar datos locales como usuarios y logs? (Si o No)" responder n.
- Migrar la base de datos de negocio. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
- ./guarani migrar_base
- Nota: si al ejecutar el comando de migración se muestra el mensaje No pudo resguardarse la base actual. Desea continuar? (Si o No), probablemente no se encuentre el directorio 'bin' de PostgreSQL en el path del sistema operativo. Responder n, agregue la carpeta al path y vuelva a intentarlo.
- En caso de no tener una configuración anterior de la manera de ver el menú de la aplicación, se puede establecer de la siguiente manera:
- Para ello, dentro de la carpeta <path proyecto Guaraní> ejecutar:
- cp menu.ini.tmpl menu.ini
- Completar el archivo menu.ini