NotasTecnicas/ActualizarA381pers

<< Volver

Actualización de Guarani3 a la versión 3.8.1 con Personalizaciones

1 Requisitos

  • Que el sistema se encuentre en la versión 3.8. Chequear esto en el menú: Ayuda -> Acerca de.

  • Tener instalado PostgreSQL 9.1.x.

Ver Requisitos de Instalación. Si la instalación se realizara con una versión anterior de postgresql la actualización tendrá errores.


2 Migración a la versión 3.8.1

Cada actualización del sistema involucra cambios significativos, por este motivo es importante que se respeten todos los pasos involucrados en este manual y se consulte ante cualquier error con el SIU (vía foro o GDS), para evitar pérdidas de datos, personalizaciones ya implementadas o modificaciones en archivos del sistema. Si no se realizó personalización alguna, la migración a la nueva versión del sistema es casi trivial y similar a las realizadas para versiones anteriores.
Como siempre, recomendamos hacer un Backup de la carpeta de archivos del sistema (carpeta 'guarani') para realizar la migración a la nueva versión del sistema. El backup de la BD de negocios del sistema se realizará automáticamente cuando se ejecute el comando de migración de la misma a la nueva versión.


2.1 Exportar la información local de la instancia

Ejecutar:

guarani instancia_exp_local 


2.2 Resguardo de la BD de negocios y código

Antes de comenzar se debe resguardar la BD de negocios para restaurarla ante cualquier error que surja en el procedimiento de actualización de la versión. Ejecutar:

guarani resguardar_base

Se recomienda hacer un backup completo de la carpeta de código del proyecto (carpeta 'guarani'). Este paso es necesario en caso de tener archivos modificados o personalizaciones desarrolladas; si cuentan con archivos que difieren de los que se encuentran en el svn.

3 Actualizar la versión de SIU-Guaraní 3

Hacer un SVN SWITCH sobre el proyecto SIU-Guaraní a la nueva versión del sistema.

Usando la línea de comando, posicionados en la carpeta del proyecto Guaraní (<path proyecto Guaraní>):

svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/trunk/3.8.1/


3.1. Mergear la carpeta personalizaciones a la nueva versión del sistema

Una vez obtenido el código de la nueva versión, la carpeta personalizaciones tendrá los archivos estándar. Luego hay que obtener todas las personalizaciones realizadas en la versión anterior (si es que existieran). Para esto, se debe hacer un SVN MERGE sobre la carpeta 'personalizaciones'.

Usando la línea de comando, posicionados en la carpeta del proyecto Guaraní (<path proyecto Guaraní>) y ejecutar lo siguiente:

svn merge https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/trunk/3.8.0/personalizacion ./personalizacion


3.2 Desactivar el esquema de personalizaciones

Ejecutar, sin importar si está activado el esquema o no, en la carpeta bin ('<path proyecto Guaraní>\bin'):

guarani esquema_pers desactivar


3.3 Regenerar el proyecto SIU-Guaraní 3

Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:

guarani regenerar 


3.4 Actualizar la base de datos de negocio a la nueva versión

Actualizar la base de negocio con los cambios introducidos entre versiones. Ejecutar dentro de la carpeta 'bin'('<path proyecto Guaraní>\bin'):

guarani migrar_base 

Nota: si al ejecutar el comando de actualizació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. Responda "No", agregue la carpeta al path y vuelva a intentarlo.


4. Migración de personalizaciones

Luego de ejecutar todos los comandos previamente mencionados se acaba de realizar la correcta instalación de la versión 3.8.1 del sistema. Es decir, el sistema debería estar corriendo en la nueva versión con las operaciones estándares enviadas por el SIU. Sin embargo, si en la versión anterior se había activado el esquema de personalizaciones y se había realizado alguna, es necesario incorporarla/s a la nueva versión.
En el paso 3.1 se realizó el MERGE de la carpeta de personalizaciones de la versión anterior a ésta. Para la migración del esquema de personalizaciones realizar los pasos detallados.

4.1. Activar el esquema de personalizaciones

Este paso es fundamental y usualmente demora varios minutos. Genera un nuevo esquema en la BD para incorporar los metadatos que se personalizaran en el proyecto. Ejecutar el comando:

    guarani esquema_pers iniciar 

4.2 Chequear conflictos de las personalizaciones con la nueva versión

Dado que el sistema Guarani funciona sobre el framework Toba, utilizando su esquema de metadatos, es necesario chequear si existe algún conflicto entre las personalizaciones realizadas y la nueva versión. Para ello ejecutar el siguiente comando:

    guarani esquema_pers conflictos

Nota: si al ejecutar el comando de chequeo de conflictos, llegaran a reportarse conflictos, consultar con el SIU a través del foro para ser guiados en el tratamiento de los mismos.

4.3. Importar las personalizaciones

Incorpora las personalizaciones desarrolladas en la versión anterior a la actual. Ejecutar el comando:

    guarani esquema_pers importar

Para interiorizarse en el trabajo diario del desarrollo de personalizaciones del sistema en un grupo de desarrolladores, consultar Trabajo Diario con Personalizaciones

5. Creación de una nueva versión propia del sistema

Se recomienda sacar una versión propia del sistema, a partir de la nueva versión proporcionada por el SIU sumando las personalizaciones migradas. La idea es que a medida que se van desarrollando y testeando personalizaciones, se proceda con la creación de una nueva versión propia incluyendo un cuarto dígito para pasar estos cambios a producción (Ej.: 3.8.1.1, 3.8.1.2, etc.). La idea es que el servidor de producción, a diferencia del de desarrollo, apunte siempre a versiones propias (de 4 dígitos). Esto es una buena práctica ya que evita errores y se tiene un mejor control acerca de los cambios y personalizaciones aplicadas.

5.1 Verificar personalizaciones

Es necesario verificar en el ambiente de desarrollo que las personalizaciones funcionen correctamente y corregirlas si es necesario. A medida que se van corrigiendo se van subiendo al svn, haciendo un update si es que hay más desarrolladores trabajando y verificando su correcto funcionamiento.

   guarani esquema_pers exportar

   svn update (de la carpeta guarani)

   svn commit -m "Personalizaciones <Branch uunn> 3.8.1.1: Personalización XXXXX"

5.2 Generar versión propia de 4 dígitos

Una vez que se definieron todas las personalizaciones que van a formar parte de la versión, se debe proceder con la creación de la rama de SVN propia que contendrá los archivos que componen la misma Crear la nueva versión 3.8.1.X

    svn cp https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/trunk/3.8.1 https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/versiones/3.8.1.X -m "Creación de la version 3.8.1.X"

5.3 SWITCH a la rama de la nueva versión para ultimar detalles

Una vez que se crea la rama de la nueva versión, hay que realizar un SVN SWITCH del código a la nueva rama creada (carpeta 'guarani') para realizar los commits finales previos a la actualización del servidor de producción. Para esto ejecutar ubicados en la carpeta 'guarani':

    svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/versiones/3.8.1.X (Donde X corresponde a la versión recién creada)

5.4 Modificaciones finales a la versión Propia

Una vez realizado el paso anterior y ya apuntando a la rama mencionada (se puede ejecutar el comando 'svn info' para verificar a que repositorio apunta la carpeta 'guarani'), restaría exportar los metadatos personalizados sobrescribiendo los metadatos originales con los mismos, para sacar la nueva versión y luego poder actualizar el servidor de producción. IMPORTANTE: Realizar estos pasos sólo para la creación de la versión en la rama de la misma y nunca como forma de trabajo habitual. La idea es que en el trunk siempre se conserven los metadatos originales enviados por el SIU y todas las personalizaciones se incluyan solamente en la carpeta personalizaciones. Sin embargo, como indicamos los mismos se sobrescriben y comitean en la rama propia para actualizar el servidor de producción. Para esto:

a) Desactivar el chequeo de SVN para exportaciones accidentales de metadatos. Para esto, editar el archivo: instalacion.ini ubicado en guarani/lib/toba/instalacion/instalacion.ini y setear:

   chequea_sincro_svn=0

b) Ejecutar:

    guarani exportar

    svn commit -m "Personalizaciones <Branch uunn>/versiones/3.8.1.X: Se comitean las personalizaciones como metadatos originales del proyecto" (Si hay cambios para commitear)

c) Volver a activar el chequeo de sincronizacion SVN para evitar errores accidentales. Editar nuevamente instalacion.ini:

   chequea_sincro_svn=1

Una vez realizados todos estos pasos, se está en condiciones de actualizar el servidor de producción. Realizar esta etapa, los 4 pasos mencionados, cada vez que se desee sacar una nueva versión propia del sistema.

IMPORTANTE: PARA CONTINUAR DESARROLLANDO PERSONALIZACIONES EN LA VERSION ORIGINAL Y LUEGO SACAR UNA NUEVA VERSION DEL SISTEMA SE DEBE VOLVER A REALIZAR UN 'SVN SW' DE LA MISMA FORMA YA EXPLICADA PERO APUNTANDO A  https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/trunk/3.8.1

6. Actualización del Entorno de Producción

Los pasos de aquí en adelante se realizan sobre el ambiente de Producción


Configuraciones del servidor de producción:

Indicar lo siguiente para manejar los usuarios y perfiles del sistema de forma local facilitando la actualización de versiones en el servidor y evitando cometer errores en el pasaje desde desarrollo. En el archivo instalacion.ini ubicado en guarani/lib/toba/instalacion/instalacion.ini

es_produccion = 1

En el archivo instancia.ini ubicado en guarani/lib/toba/instalacion/i__desarrollo/instancia.ini, dentro de la sección destinada para configuraciones del proyecto guarani indicada por [guarani] incluir la directiva "usar_perfiles_propios". La combinación de estos dos flags permite que la exportación de perfiles se haga en la carpeta guarani/lib/toba/instalacion/i__desarrollo/p__guarani/perfiles en lugar de la carpeta usual guarani/metadatos/permisos. Cuando se actualiza el sistema se toma este nuevo lugar para intentar insertar los perfiles definidos localmente.
Se recomienda también incluir en este archivo la directiva "metadatos_compilados" y proceder con el punto 4.5 que genera los metadatos en el sistema de archivos para que el sistema funcione de manera mas eficientemente en producción, sin tener que consultar a la BD para la creación y navegación de operaciones del sistema. Incluir entonces lo siguiente:

[guarani]
usar_perfiles_propios = 1
metadatos_compilados = 1

Ya creada la nueva versión hay que proceder a actualizar producción. Realizar todos estos pasos cada vez que se genera una nueva versión propia del sistema para la actualización del servidor de producción.

6.1 Exportar datos locales

Como primera medida se exportan los datos locales para preservarlos

      guarani instancia_exp_local

6.2 Apuntar el servidor de producción a la nueva versión

Realizar un switch a la version 3.8.1.X: en la carpeta guaraní:

     svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<Branch uunn>/gestion/versiones/3.8.1.X 

6.3 Regenerar el proyecto guaraní

Este paso es necesario para impactar los metadatos en la base de producción.

     guarani regenerar (si llegara a dar warning por algún perfil funcional, revisar el mismo)

6.4 Migrar la base de negocio

Migrar la base de negocio de producción a la nueva versión.

     guarani migrar_base

6.5 Compilar metadatos

Finalmente, y para optimizar el sistema en producción se recomienda ejecutar el siguiente comando para compilar los metadatos en el sistema de archivos, optimizar la navegación y ejecución de operaciones. Este comando generará la carpeta 'guarani/metadatos_compilados' que no debe versionarse (svn commit) ya que se regenerará cada vez que se actualice el servidor.

     guarani compilar

<< volver