Diferencia entre revisiones de «SIU-Guarani/version3.19.0/actualizacion con personalizaciones/gestion»

De SIU
Saltar a: navegación, buscar
(Sin diferencias)

Revisión del 11:16 5 nov 2020

Actualización de SIU-Guaraní Gestión a la versión 3.19.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.19.x: por la versión a la que se quiere actualizar

Pasos a realizar por el Concentrador

  1. Verificar que se cumplan todos los requisitos técnicos de la versión.
  2. Versionar los diferenciales de metadatos personalizados.
    1. 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.
    2. 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
    3. 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 ?)>
    4. 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"
  3. Mover la carpeta de procesos background de <path_guarani>/temp a <path_guarani>/instalacion/i__desarrollo/p__guarani/logs/ mas info
  4. Actualizar el entorno de desarrollo a la nueva versión
    1. 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.19.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.19.x --ignore-ancestry
    2. 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'.
    3. 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.
    4. 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
    5. 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.
    1. 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
    2. 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.
      Luego compilar los metadatos de Toba Usuarios:
      ./toba proyecto compilar -i desarrollo -p toba_usuarios
    3. 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.
    4. 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
    5. Configurar la API REST
      API SIU-Guaraní - Perfil Funcional
  5. Migrar las personalizaciones
    Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.19.x del sistema tal como la distribuye el SIU. Ahora es el turno de incorporar las personalizaciones desarrolladas en versiones anteriores.
    1. 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/
    2. Activar el esquema de personalizaciones
      Dentro de la carpeta 'bin' del proyecto Guaraní (<path proyecto Guaraní>/bin) ejecutar:
      ./guarani esquema_pers iniciar
    3. 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.
    4. 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
    5. Agregar al repositorio las personalizaciones importadas
      Posicionados en la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
      svn commit -m "3.19.x Merge de las personalizaciones realizadas en versiones anteriores"
    6. 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
    7. Versionar las personalizaciones
      Posicionados en la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
      svn commit -m "3.19.x Se versionan metadatos exportados de las personalizaciones realizadas 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
sobre la raíz del proyecto.

Una vez que el Concentrador terminó de actualizar todo, el resto del equipo deberá realizar los siguientes pasos:

  1. Verificar que se cumplan en cada servidor de desarrollo todos los requisitos técnicos de la versión.
  2. Mover la carpeta de procesos background de <path_guarani>/temp a <path_guarani>/instalacion/i__desarrollo/p__guarani/logs/ mas info
  3. Exportar la información local de la instancia. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
    ./guarani instancia_exp_local
  4. 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.19.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.19.x --ignore-ancestry
  5. 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
  6. 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.
  7. 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.
  8. Seguir las instrucciones finales brindadas por el comando, relativo al ajuste de archivos de configuración de Apache.
  9. Reiniciar Apache.
    service apache2 restart
  10. 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.
  11. 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.
  12. 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

Ir al esquema de instalación y actualización de la versión