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

De SIU
Saltar a: navegación, buscar
(Backup de <path>/lib/toba/instalacion.)
 
(No se muestran 17 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
__TOC__
 
== Actualización del SIU-Guaraní Gestión a la versión 3.15.x en entorno de desarrollo con personalizaciones ==
 
  
{| border=1 class="simple"
+
<span style="float: right; margin: 0 0 15px 15px;">__TOC__</span>
! Solicitar en forma previa, mediante una solicitud en el Gestor de Solicitudes (GdS), una carpeta en el repositorio Colab para la institución.
+
== Actualización de SIU-Guaraní Gestión a la versión 3.15.x en entorno de desarrollo con personalizaciones ==
 +
 
 +
{| class="simple" border="1"
 +
! <u>Importante</u>: Antes de comenzar el proceso de actualización, verificar las <u>[[SIU-Guarani/Version3.15.0/Novedades tecnicas|novedades técnicas]]</u> de la versión.
 
|}
 
|}
 
=== Requisitos previos ===
 
=== Requisitos previos ===
#Que todos los miembros del equipo hayan subido sus cambios al SVN.
+
* Que no queden desarrollos parciales de ningún miembro del equipo sin subir al repositorio SVN.
  
 
=== Pasos para la actualización ===
 
=== 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).<br>
+
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 '''[[SIU-Guarani/Version3.15.0/concentrador|Concentrador]]''' y las que debe realizar el resto del equipo.<br>
+
 
 +
A continuación se diferenciarán las tareas que debe llevar a cabo el '''[[SIU-Guarani/Version3.15.0/concentrador|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.
 
'''Importante:''' el resto del equipo de trabajo debe realizar los pasos que le corresponden una vez que el Concentrador terminó de actualizar todo.
<br><br>
+
 
 
'''A lo largo de los pasos se deberá reemplazar:'''
 
'''A lo largo de los pasos se deberá reemplazar:'''
* <path proyecto Guaraní>: por el path donde está instalado el proyecto
+
* '''<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.
+
* '''<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.y.z''': por la versión actual del sistema
* 3.15.x: por la versión a la que se quiere actualizar
+
* '''3.15.x''': por la versión a la que se quiere actualizar
 +
 
 
== Pasos a realizar por el Concentrador ==
 
== Pasos a realizar por el Concentrador ==
#'''Resguardar los datos de la versión actual (backup de las personalizaciones)'''
+
#Verificar que se cumplan todos los [[SIU-Guarani/Version3.15.0/instalacion_desde_cero/requisitos_previos/linux|requisitos técnicos de la versión]].
##Exportar la información local de la instancia
+
#Versionar los diferenciales de metadatos personalizados.
##:Dentro de la carpeta 'bin' de Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##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'''):
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
./guarani instancia_exp_local
 
</source>
 
##Resguardar la base de datos de negocio
 
##:Dentro de la carpeta 'bin' de Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
 
##:<source lang="php" enclose="div">
 
./guarani resguardar_base
 
</source>
 
##Verificar y versionar personalizaciones
 
###Antes de continuar con la actualización, se deben exportar las personalizaciones existentes en la carpeta ''/guarani/personalizaciones'':
 
###:<source lang="php" enclose="div">
 
 
./guarani esquema_pers exportar
 
./guarani esquema_pers exportar
 
</source>
 
</source>
###:'''Importante:''' Controlar los mensajes que surgen de aplicar el comando anterior.
+
##:El resultado de dicha acción quedará en la carpeta '''<path proyecto Guaraní>/personalizacion/metadatos'''
###Desactivar el esquema de personalizaciones para evitar conflictos de SVN  
+
##:'''Importante:''' Controlar los mensajes que surgen de aplicar el comando anterior.  
###:Dentro de la carpeta 'bin' de Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##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:
###:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
./guarani esquema_pers desactivar
 
./guarani esquema_pers desactivar
 
</source>
 
</source>
###Verificar si hay cambios para subir, ejecutando dentro de la carpeta de Guaraní (<tt><path proyecto Guaraní></tt>)
+
##Verificar si hay cambios para subir al repositorio, ejecutando dentro de la carpeta de Guaraní ('''<path proyecto Guaraní>''')
###:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn status
 
svn status
 
</source>
 
</source>
###: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 subir al SVN:
+
##: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:
###:<source lang = "php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn add <path del directorio que se tiene que agregar (el que tiene el signo ?)>
 
svn add <path del directorio que se tiene que agregar (el que tiene el signo ?)>
 
</source>
 
</source>
###Versionar el resultado de los comandos anteriores. Para ello, posicionados en la carpeta de Guaraní (<tt><path proyecto Guaraní></tt>) ejecutar:
+
##Versionar el resultado de los comandos anteriores. Para ello, posicionados en la carpeta de Guaraní ('''<path proyecto Guaraní>''') ejecutar:
###:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn commit -m "Se versionan las personalizaciones para cambio de versión"
 
svn commit -m "Se versionan las personalizaciones para cambio de versión"
 
</source>
 
</source>
#'''Actualizar el entorno de desarrollo a la nueva versión'''
+
#Actualizar el entorno de desarrollo a la nueva versión
 
##Cambiar la versión del código  
 
##Cambiar la versión del código  
##:Dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:  
+
##:Dentro de la carpeta del proyecto ('''<path proyecto Guaraní>''') ejecutar:  
##:<source lang="php" enclose="div">
+
##:(*) '''Si está actualizando desde la versión 3.15.0:''' Eliminar el archivo composer.lock de la raíz de la aplicación antes de ejecutar el comando.
 +
##:<source lang="bash" enclose="div">
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x
 
</source>
 
</source>
 
##:En versiones nuevas de svn puede salir un error:
 
##:En versiones nuevas de svn puede salir un error:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn: E195012: Path '.' does not share common version control ancestry with the requested switch location.  Use --ignore-ancestry to disable this check.
 
svn: E195012: Path '.' does not share common version control ancestry with the requested switch location.  Use --ignore-ancestry to disable this check.
 
</source>
 
</source>
##:en este caso Ejecutar el comando anterior siguiendo lo recomendado en el mensaje:
+
##:en este caso ejecutar el comando anterior siguiendo lo recomendado en el mensaje:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x --ignore-ancestry
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x --ignore-ancestry
 
</source>
 
</source>
##Una vez concluído el switch debemos verificar que el mismo se haya completado correctamente. Para ello, dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:  
+
##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:  
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn status
 
svn status
 
</source>
 
</source>
 
##:y verificar que no existan archivos con estado 'S'.
 
##: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 <tt><path proyecto Guaraní>/personalizacion</tt>.
+
##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'''.
##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:
+
##Antes de ejecutar el siguiente paso, es fundamental asegurar tener '''composer''' y '''bower''' instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
##:Para ello, dentro de la carpeta <tt><path proyecto Guaraní></tt> ejecutar:
+
##:<source lang="ini" enclose="div">
##:<source lang="php" enclose="div">
+
composer --version
cp menu.ini.tmpl menu.ini
+
bower --version
 +
</source>
 +
##Instalar vía ''Composer'' las dependencias del proyecto. Posicionados en la raíz '''<path proyecto Guaraní>''', ejecutar:
 +
##:<source lang="bash" enclose="div">
 +
composer install
 +
</source>
 +
##:'''Verificar que el comando anterior finalice sin errores para continuar.'''
 +
##'''Si se está actualizando a 3.15.1 desde 3.15.0, omitir este paso.'''
 +
##:Realizar un backup de la carpeta '''<path_proyecto>/lib/toba/instalacion'''.
 +
##:En una consola en '''<path_proyecto>/bin''' ejecutar:  
 +
##:<source lang="bash" enclose="div">
 +
./reestructurar
 +
</source>
 +
##: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.
 +
##:<source lang="bash" enclose="div">
 +
service apache2 restart
 
</source>
 
</source>
##:Completar el archivo [[SIU-Guarani/Version3.15.0/personalizaciones/formas_de_menu| menu.ini]]
+
##Regenerar la instancia Toba. Dentro de la carpeta 'bin' ('''<path proyecto Guaraní>/bin''') ejecutar:
##Regenerar la instancia Toba  
+
##:<source lang="bash" enclose="div">
##:Dentro de la carpeta 'bin' de Toba (<tt><path proyecto Guaraní>/lib/toba/bin</tt>) ejecutar:
 
##:<source lang="php" enclose="div">
 
 
./toba instancia regenerar -i desarrollo
 
./toba instancia regenerar -i desarrollo
 
</source>
 
</source>
 
##:'''Nota''': ante la pregunta "Desea conservar datos locales como usuarios y logs? (Si o No)" responder '''n'''.
 
##:'''Nota''': ante la pregunta "Desea conservar datos locales como usuarios y logs? (Si o No)" responder '''n'''.
##Migrar la base de datos de negocio  
+
##Migrar la base de datos de negocio. Dentro de la carpeta 'bin'('''<path proyecto Guaraní>/bin''') ejecutar:
##:Dentro de la carpeta 'bin' del proyecto Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##:<source lang="bash" enclose="div">
##:<source lang="php" enclose="div">
 
 
./guarani migrar_base
 
./guarani migrar_base
 
</source>
 
</source>
##:'''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.
+
##:'''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.
##:'''Importante:''':  si como parte de las personalizaciones tienen el caso de vistas que referencian a tablas (u otras vistas) que nosotros modificamos pueden tener errores en la migración: lo ideal sería 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:
#'''Migrar las personalizaciones'''
+
##:Para ello, dentro de la carpeta '''<path proyecto Guaraní>''' ejecutar:
 +
##:<source lang="bash" enclose="div">
 +
cp menu.ini.tmpl menu.ini
 +
</source>
 +
##:Completar el archivo [[SIU-Guarani/Version3.15.0/personalizaciones/formas_de_menu| menu.ini]]
 +
#Migrar las personalizaciones  
 
#:Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.15.x del sistema tal como la distribuye el SIU. Ahora es el turno de incorporar las  personalizaciones desarrolladas en versiones anteriores. <br>
 
#:Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.15.x del sistema tal como la distribuye el SIU. Ahora es el turno de incorporar las  personalizaciones desarrolladas en versiones anteriores. <br>
 
##Mergear la carpeta '''personalizacion''' a la nueva versión  
 
##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 (<tt><path proyecto Guaraní></tt>) ejecutar:
+
##: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:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn merge -r0:HEAD https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.y.z/personalizacion/ ./personalizacion/
 
svn merge -r0:HEAD https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.y.z/personalizacion/ ./personalizacion/
 
</source>
 
</source>
 
##Activar el esquema de personalizaciones  
 
##Activar el esquema de personalizaciones  
##:Dentro de la carpeta 'bin' del proyecto Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##:Dentro de la carpeta 'bin' del proyecto Guaraní ('''<path proyecto Guaraní>/bin''') ejecutar:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
./guarani esquema_pers iniciar  
 
./guarani esquema_pers iniciar  
 
</source>
 
</source>
 
##Chequear conflictos de las personalizaciones con la nueva versión  
 
##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í (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##: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:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
./guarani esquema_pers conflictos
 
./guarani esquema_pers conflictos
 
</source>
 
</source>
 
##:'''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.
 
##:'''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  
 
##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í (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##: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:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
./guarani esquema_pers importar
 
./guarani esquema_pers importar
 
</source>
 
</source>
 
##Agregar al repositorio las personalizaciones importadas
 
##Agregar al repositorio las personalizaciones importadas
##:Posicionados en la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:
+
##:Posicionados en la carpeta del proyecto ('''<path proyecto Guaraní>''') ejecutar:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn commit -m "3.15.x Merge de las personalizaciones realizadas en versiones anteriores"  
 
svn commit -m "3.15.x Merge de las personalizaciones realizadas en versiones anteriores"  
 
</source>
 
</source>
 
##Exportar las personalizaciones  
 
##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í (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
##: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:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
./guarani exportar
 
./guarani exportar
 
</source>
 
</source>
 
##Versionar las personalizaciones  
 
##Versionar las personalizaciones  
##:Posicionados en la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:
+
##:Posicionados en la carpeta del proyecto ('''<path proyecto Guaraní>''') ejecutar:
##:<source lang="php" enclose="div">
+
##:<source lang="bash" enclose="div">
 
svn commit -m "3.15.x Se versionan metadatos exportados de las personalizaciones realizadas en versiones anteriores"  
 
svn commit -m "3.15.x Se versionan metadatos exportados de las personalizaciones realizadas en versiones anteriores"  
 
</source>
 
</source>
  
 
== Pasos a realizar por el resto del equipo ==
 
== Pasos a realizar por el resto del equipo ==
'''Observación:''' Recordar que, tal como se indicó en los  '''[[SIU-Guarani/Version3.15.0/actualizacion_con_personalizaciones/gestion#Requisitos_previos| 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 <source lang="php" enclose="div"> svn status</source> sobre la raíz del proyecto. <br>
+
'''Observación:''' Recordar que, tal como se indicó en los  '''[[SIU-Guarani/Version3.15.0/actualizacion_con_personalizaciones/gestion#Requisitos_previos| 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 <source lang="bash" enclose="div"> svn status</source> sobre la raíz del proyecto.
 +
 
 
'''Una vez que el Concentrador terminó de actualizar todo''', el resto del equipo deberá realizar los siguientes pasos:
 
'''Una vez que el Concentrador terminó de actualizar todo''', el resto del equipo deberá realizar los siguientes pasos:
#Exportar la información local de la instancia  
+
#Verificar que se cumplan en cada servidor de desarrollo todos los [[SIU-Guarani/Version3.15.0/instalacion_desde_cero/requisitos_previos/linux|requisitos técnicos de la versión]].
#:Dentro de la carpeta 'bin' de Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
#Exportar la información local de la instancia. Dentro de la carpeta 'bin' ('''<path proyecto Guaraní>/bin''') ejecutar:
#:<source lang="php" enclose="div">
+
#:<source lang="bash" enclose="div">
 
./guarani instancia_exp_local
 
./guarani instancia_exp_local
 
</source>
 
</source>
#Cambiar a la nueva versión del sistema
+
#Cambiar a la nueva versión del sistema. Dentro de la carpeta del proyecto ('''<path proyecto Guaraní>''') ejecutar:  
#:Dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:  
+
#:<source lang="bash" enclose="div">
#:<source lang="php" enclose="div">
 
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x
 
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x
 
</source>
 
</source>
#Regenerar la instancia Toba
+
#:En versiones nuevas de svn puede salir un error:
#:Dentro de la carpeta 'bin' de Toba (<tt><path proyecto Guaraní>/lib/toba/bin</tt>) ejecutar:
+
#:<source lang="bash" enclose="div">
#:<source lang="php" enclose="div">
+
svn: E195012: Path '.' does not share common version control ancestry with the requested switch location.  Use --ignore-ancestry to disable this check.
 +
</source>
 +
#:en este caso ejecutar el comando anterior siguiendo lo recomendado en el mensaje:
 +
#:<source lang="bash" enclose="div">
 +
svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.x --ignore-ancestry
 +
</source>
 +
#Antes de ejecutar el siguiente paso, es fundamental asegurar tener '''composer''' y '''bower''' instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
 +
#:<source lang="ini" enclose="div">
 +
composer --version
 +
bower --version
 +
</source>
 +
#Realizar un backup de la carpeta '''<path_proyecto>/lib/toba/instalacion'''.
 +
#Instalar vía ''Composer'' las dependencias del proyecto. Posicionados en la raíz '''<path proyecto Guaraní>''', ejecutar:
 +
#:<source lang="bash" enclose="div">
 +
composer install
 +
</source>
 +
#:'''Verificar que el comando anterior finalice sin errores para continuar.'''
 +
#'''Si se está actualizando a 3.15.1 desde 3.15.0, omitir este paso.'''
 +
#:Realizar un backup de la carpeta '''<path_proyecto>/lib/toba/instalacion'''.
 +
#:En una consola en '''<path_proyecto>/bin''' ejecutar:
 +
 
 +
#:<source lang="bash" enclose="div">
 +
./reestructurar
 +
</source>
 +
#: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.
 +
#:<source lang="bash" enclose="div">
 +
service apache2 restart
 +
</source>
 +
#Regenerar la instancia Toba. Dentro de la carpeta 'bin' ('''<path proyecto Guaraní>/bin''') ejecutar:
 +
#:<source lang="bash" enclose="div">
 
./toba instancia regenerar -i desarrollo
 
./toba instancia regenerar -i desarrollo
 
</source>
 
</source>
#Migrar la base de datos de negocio  
+
#:'''Nota''': ante la pregunta "Desea conservar datos locales como usuarios y logs? (Si o No)" responder '''n'''.
#:Dentro de la carpeta 'bin' del proyecto Guaraní (<tt><path proyecto Guaraní>/bin</tt>) ejecutar:
+
#Migrar la base de datos de negocio. Dentro de la carpeta 'bin' ('''<path proyecto Guaraní>/bin''') ejecutar:
#:<source lang="php" enclose="div">
+
#:<source lang="bash" enclose="div">
 
./guarani migrar_base
 
./guarani migrar_base
 
</source>
 
</source>
 
#:'''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.
 
#:'''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.
<br><br>
+
#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:
 +
#:<source lang="bash" enclose="div">
 +
cp menu.ini.tmpl menu.ini
 +
</source>
 +
#:Completar el archivo [[SIU-Guarani/Version3.15.0/personalizaciones/formas_de_menu| menu.ini]]
 +
 
 
[[SIU-Guarani/Version3.15.0/instalacion_actualizacion_gestion|Ir al esquema de instalación y actualización de la versión]]
 
[[SIU-Guarani/Version3.15.0/instalacion_actualizacion_gestion|Ir al esquema de instalación y actualización de la versión]]

Revisión actual del 17:13 27 feb 2019

Actualización de SIU-Guaraní Gestión a la versión 3.15.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.

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.15.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. 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:
      (*) Si está actualizando desde la versión 3.15.0: Eliminar el archivo composer.lock de la raíz de la aplicación antes de ejecutar el comando.
      svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.15.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.15.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 bower instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
      composer --version
      bower --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.
    6. Si se está actualizando a 3.15.1 desde 3.15.0, 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
    7. 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.
    8. 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.
    9. 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
  4. Migrar las personalizaciones
    Luego de seguir los pasos anteriores, se tiene una instalación de la versión 3.15.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.15.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.15.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. Exportar la información local de la instancia. Dentro de la carpeta 'bin' (<path proyecto Guaraní>/bin) ejecutar:
    ./guarani instancia_exp_local
  3. 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.15.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.15.x --ignore-ancestry
  4. Antes de ejecutar el siguiente paso, es fundamental asegurar tener composer y bower instalados. Para verificarlo, se pueden correr los siguientes comandos y verificar que no surjan errores:
    composer --version
    bower --version
  5. Realizar un backup de la carpeta <path_proyecto>/lib/toba/instalacion.
  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 a 3.15.1 desde 3.15.0, omitir este paso.
    Realizar un backup de la carpeta <path_proyecto>/lib/toba/instalacion.
    En una consola en <path_proyecto>/bin ejecutar:
  1. ./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.
  2. Seguir las instrucciones finales brindadas por el comando, relativo al ajuste de archivos de configuración de Apache.
  3. Reiniciar Apache.
    service apache2 restart
  4. 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.
  5. 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.
  6. 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