Diferencia entre revisiones de «SIU-Guarani/Version3.11.0/personalizaciones/trabajo diario»

De SIU
Saltar a: navegación, buscar
(Pasos para el trabajo diario con personalizaciones)
 
(No se muestran 11 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
__TOC__
+
__NOTOC__
 
== Trabajo diario con personalizaciones ==
 
== Trabajo diario con personalizaciones ==
  
El trabajo diario de desarrollo de personalizaciones, especialmente si se comparte un grupo de trabajo, debe tener sus recaudos. Dado que se trabaja con SVN y con un entorno local especifico (BDs y configuraciones propias) se debe tener cuidado en la secuencia de comandos a ejecutar y los archivos que se suben al repositorio y se comparten con el resto del equipo.
+
El trabajo diario de desarrollo de personalizaciones, especialmente si se comparte un grupo de trabajo, debe tener sus recaudos. Dado que se trabaja con [[SIU-Guarani/Version3.11.0/SVN| SVN]] y con un entorno local especifico (BDs y configuraciones propias) se debe tener cuidado en la secuencia de comandos a ejecutar y los archivos que se suben al repositorio y se comparten con el resto del equipo.
 
 
=== SVN ===
 
SVN es un sistema de control de versiones centralizado. Trabaja con un repositorio centralizado de archivos en el cual todos los desarrolladores suben las modificaciones y nuevos archivos desarrollados y del cual adquieren los cambios subidos por otros desarrolladores del equipo. El concepto es simple: El repositorio tiene la ultima versión del código del proyecto. Los desarrolladores, periódicamente ejecutan un "svn update" para actualizar su carpeta local con los cambios que se hayan realizado en el repositorio (las nuevas versiones) y cuando su tarea de desarrollo esta concluida, se versionan/suben/commitean (svn commit) los cambios realizados sobre los archivos del proyecto. De esta forma, el repositorio contiene la ultima versión del proyecto y cada desarrollador localmente, tiene su versión propia que normalmente consiste de la versión del repositorio con algunos archivos modificados. Hasta que un desarrollador no suba los archivos modificados, el resto del equipo no ve esos cambios. De esta manera, y dado que al actualizar o subir archivos modificados al repositorio el sistema advierte sobre conflictos en el caso en que se haya modificado algún archivo en común con otro miembro del equipo, se controla y ordena la forma de desarrollo conjunta sobre un mismo proyecto.
 
 
 
Lo que complica el trabajo en conjunto entre desarrolladores de un mismo equipo, es el trabajo sobre ''metadatos''. Los ''metadatos'', son archivos que guardan configuraciones sobre objetos nuevos o modificados que forman parte de las operaciones del sistema. Específicamente, representan la copia de las configuraciones de los objetos del sistema de la base ''Toba'' del proyecto en el sistema de archivos. Cada desarrollador comparte con el resto del equipo los cambios realizados sobre objetos del sistema o los nuevos objetos desarrollados a través de los archivos de ''metadatos''. La dificultad radica en que una vez que un desarrollador adquiere nuevos cambios del repositorio en estos archivos, debe generarlos en su BD local de objetos. Si el objeto no fue modificado localmente, este cambio es trivial. Pero si hay conflictos, no es tan sencillo de solucionar como un conflicto en una linea de código de un archivo PHP del proyecto. Dado que ese conflicto es muy complejo de solucionar a nivel de BD, se soluciona a nivel de archivos a través del SVN.
 
 
 
  
 
=== Pasos para el trabajo diario con personalizaciones ===
 
=== Pasos para el trabajo diario con personalizaciones ===
A partir de la versión 3.10 del sistema, que utiliza la versión 2.6 del framework Toba, se incorpora el concepto de '''CONCENTRADOR'''.<br>
+
Una vez que el esquema de personalizaciones fue iniciado y el sistema puesto a punto para comenzar con el trabajo diario por parte del '''[[SIU-Guarani/Version3.11.0/concentrador|Concentrador]]''', se puede comenzar con el desarrollo de las personalizaciones.<br>
El '''concentrador''' es un miembro designado del equipo de desarrollo, que es el encargado de la migración de personalizaciones entre las distintas versiones del sistema y la configuración inicial de las mismas. También se encarga de la salida de versiones propias y tareas de configuración general del proyecto y deployment. Basicamente, es quien deja al sistema listo ante la instalación/actualización de una versión del sistema para el trabajo con personalizaciones por parte de un grupo de desarrollo.
 
 
 
Mas información:
 
http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones
 
 
 
Una vez que el esquema de personalizaciones fue iniciado y el sistema puesto a punto para comenzar con el trabajo diario por parte del ''concentrador'' (siguiendo [[SIU-Guarani/Version3.11.0/actualizacion_con_personalizaciones/gestion| Actualización del sistema en un entorno de desarrollo con personalizaciones]]), se puede comenzar con el desarrollo de las personalizaciones.<br>
 
  
Diariamente (se recomienda inclusive al comienzo de la jornada del trabajo), los miembros del equipo de desarrollo deben seguir los siguientes pasos para actualizar su copia de trabajo con los cambios realizados por el resto del equipo y versionar los cambios realizados en su copia local del proyecto. Es importante realizar '''SIEMPRE EN ORDEN''' estos pasos, ya que la ejecución en distinto orden de los mismos puede ocasionar la perdida de personalziaciones realizadas.
+
Diariamente (se recomienda inclusive al comienzo de la jornada del trabajo), '''todos los miembros del equipo de desarrollo''' deben seguir los siguientes pasos para actualizar su copia de trabajo con los cambios realizados por el resto del equipo y versionar los cambios realizados en su copia local del proyecto.<br>
 +
Es importante realizar '''siempre en orden''' estos pasos, ya que la ejecución en distinto orden de los mismos puede ocasionar la pérdida de personalizaciones realizadas.
  
#Exportar los metadatos
+
#'''Exportar los metadatos'''
#:Este comando, baja los cambios realizados en la BD de Toba (configuración de componentes - los objetos modificados o agregados) al sistema de archivos.
+
#:Se bajan los cambios realizados en la BD de Toba (configuración de componentes - los objetos modificados o agregados) al sistema de archivos.
 +
#:Dentro de la carpeta 'bin' del proyecto (<tt><path proyecto Guaraní>/bin</tt>), ejecutar:
 
#:<source lang="php" enclose="div">
 
#:<source lang="php" enclose="div">
guarani exportar
+
./guarani exportar
 
</source>
 
</source>
#Actualizar el código
+
#'''Actualizar el código'''
#:Se deben traer los nuevos cambios subidos al repositorio por otros miembros del equipo, para poder incorporarlos a nuestra BD y detectar conflictos (si es que existen). Ubicados en la carpeta ''guarani'':
+
#:Se deben traer los nuevos cambios subidos al repositorio por otros miembros del equipo, para poder incorporarlos a nuestra BD y detectar conflictos (si es que existen).
 +
#:Dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>) ejecutar:
 
#:<source lang="php" enclose="div">
 
#:<source lang="php" enclose="div">
svn update
+
svn update
 
</source>
 
</source>
#Importar nuevas personalizaciones - Regenerar el sistema
+
#'''Importar nuevas personalizaciones - Regenerar el sistema'''
#:Para la importación de los nuevos ''metadatos'' actualizados a nuestra BD local del sistema, ejecutar:
+
#:Para la importación de los nuevos ''metadatos'' actualizados a nuestra BD local del sistema, ejecutar dentro de la carpeta 'bin' del proyecto (<path proyecto Guaraní>/bin), ejecutar::
 
#:<source lang="php" enclose="div">
 
#:<source lang="php" enclose="div">
guarani regenerar
+
./guarani regenerar
 
</source>
 
</source>
#:'''IMPORTANTE:''' Cuando anteriormente mencionamos que se debe tener cuidado cuando se versionan cambios y se trabaja en un equipo de desarrollo, nos referíamos por ejemplo, a lo que sucede si se ejecutan los pasos mencionados anteriormente en orden inverso. Específicamente, primero se traerían los cambios del repositorio (con "''svn update''") y luego se pisarían los mismos (o al menos existiría un riesgo potencial de que esto sucediese) con el comando "''guarani exportar''" por lo que la ejecución de estos pasos debe ser siempre en este orden. Prestar especial atención en esto.
+
#:'''Importante:''' Cuando anteriormente mencionamos que se debe tener cuidado cuando se versionan cambios y se trabaja en un equipo de desarrollo, nos referíamos por ejemplo, a lo que sucede si se ejecutan los pasos mencionados anteriormente en orden inverso. Específicamente, primero se traerían los cambios del repositorio (con "''svn update''") y luego se pisarían los mismos (o al menos existiría un riesgo potencial de que esto sucediese) con el comando "''guarani exportar''" por lo que la ejecución de estos pasos debe ser siempre en este orden. Prestar especial atención en esto.
#Subir nuestros cambios al repositorio
+
#'''Subir los cambios propios al repositorio'''
#:Si se han realizado cambios que se desea compartir con el resto del equipo, se deben subir los cambios al repositorio para que el resto pueda ver/usar los mismos. Para esto, realizar los siguientes pasos:
+
#:Si se han realizado cambios que se desea compartir con el resto del equipo, se deben subir los cambios al repositorio para que el resto pueda ver/usar los mismos. Para ésto, realizar los siguientes pasos:
##Chequeo de cambios
+
##Chequear los cambios
##:Antes de ''comitear'' los cambios realizados, se recomienda chequear que archivos son los que se van a subir. Para esto, ejecutar lo siguiente dentro de la carpeta ''guarani'':
+
##:Antes de subir los cambios realizados, se recomienda chequear qué archivos son los que se van a subir. Para ésto, ejecutar lo siguiente dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>):
 
##:<source lang="php" enclose="div">
 
##:<source lang="php" enclose="div">
svn st
+
svn status
 
</source>
 
</source>
##:Este comando muestra un listado de los archivos nuevos o modificados a subir del sistema. Los archivos indicados por "'''?'''" son archivos nuevos aun no agregados (con ''svn add'') y no serán subidos. Los archivos modificados se indican con "'''M'''" y los nuevos archivos agregados con "'''A'''".
+
##:Este comando muestra un listado de los archivos nuevos o modificados a subir del sistema. Los archivos indicados por '''?''' son archivos nuevos aún no agregados (agregarlos con <tt>''svn add''</tt>) y no serán subidos. Los archivos modificados se indican con '''M''' y los nuevos archivos agregados con '''A'''.
 
##Subir archivos
 
##Subir archivos
##:Para efectivizar la subida de cambios al repositorio, se recomienda incluir un mensaje de log acorde a las personalizaciones subidas, que sirvan a otros miembros del equipo para identificar el conjunto de archivos que descargaran del repositorio con este cambio. Ejecutar el siguiente comando:
+
##:Para efectivizar la subida de cambios al repositorio, se recomienda incluir un mensaje de log acorde a las personalizaciones subidas, que sirvan a otros miembros del equipo para identificar el conjunto de archivos que descargaran del repositorio con este cambio. Ejecutar el siguiente comando dentro de la carpeta del proyecto (<tt><path proyecto Guaraní></tt>):
 
##:<source lang="php" enclose="div">
 
##:<source lang="php" enclose="div">
 
svn commit -m "Personalización XXXXX"
 
svn commit -m "Personalización XXXXX"
 
</source>
 
</source>
 +
 +
Mas información sobre personalizaciones:
 +
http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones
 +
<br><br>
 +
[[SIU-Guarani/Version3.11.0/instalacion_actualizacion_gestion|Ir al esquema de instalación y actualización de la versión]]

Revisión actual del 16:58 4 dic 2015

Trabajo diario con personalizaciones

El trabajo diario de desarrollo de personalizaciones, especialmente si se comparte un grupo de trabajo, debe tener sus recaudos. Dado que se trabaja con SVN y con un entorno local especifico (BDs y configuraciones propias) se debe tener cuidado en la secuencia de comandos a ejecutar y los archivos que se suben al repositorio y se comparten con el resto del equipo.

Pasos para el trabajo diario con personalizaciones

Una vez que el esquema de personalizaciones fue iniciado y el sistema puesto a punto para comenzar con el trabajo diario por parte del Concentrador, se puede comenzar con el desarrollo de las personalizaciones.

Diariamente (se recomienda inclusive al comienzo de la jornada del trabajo), todos los miembros del equipo de desarrollo deben seguir los siguientes pasos para actualizar su copia de trabajo con los cambios realizados por el resto del equipo y versionar los cambios realizados en su copia local del proyecto.
Es importante realizar siempre en orden estos pasos, ya que la ejecución en distinto orden de los mismos puede ocasionar la pérdida de personalizaciones realizadas.

  1. Exportar los metadatos
    Se bajan los cambios realizados en la BD de Toba (configuración de componentes - los objetos modificados o agregados) al sistema de archivos.
    Dentro de la carpeta 'bin' del proyecto (<path proyecto Guaraní>/bin), ejecutar:
    ./guarani exportar
  2. Actualizar el código
    Se deben traer los nuevos cambios subidos al repositorio por otros miembros del equipo, para poder incorporarlos a nuestra BD y detectar conflictos (si es que existen).
    Dentro de la carpeta del proyecto (<path proyecto Guaraní>) ejecutar:
    svn update
  3. Importar nuevas personalizaciones - Regenerar el sistema
    Para la importación de los nuevos metadatos actualizados a nuestra BD local del sistema, ejecutar dentro de la carpeta 'bin' del proyecto (<path proyecto Guaraní>/bin), ejecutar::
    ./guarani regenerar
    Importante: Cuando anteriormente mencionamos que se debe tener cuidado cuando se versionan cambios y se trabaja en un equipo de desarrollo, nos referíamos por ejemplo, a lo que sucede si se ejecutan los pasos mencionados anteriormente en orden inverso. Específicamente, primero se traerían los cambios del repositorio (con "svn update") y luego se pisarían los mismos (o al menos existiría un riesgo potencial de que esto sucediese) con el comando "guarani exportar" por lo que la ejecución de estos pasos debe ser siempre en este orden. Prestar especial atención en esto.
  4. Subir los cambios propios al repositorio
    Si se han realizado cambios que se desea compartir con el resto del equipo, se deben subir los cambios al repositorio para que el resto pueda ver/usar los mismos. Para ésto, realizar los siguientes pasos:
    1. Chequear los cambios
      Antes de subir los cambios realizados, se recomienda chequear qué archivos son los que se van a subir. Para ésto, ejecutar lo siguiente dentro de la carpeta del proyecto (<path proyecto Guaraní>):
      svn status
      Este comando muestra un listado de los archivos nuevos o modificados a subir del sistema. Los archivos indicados por ? son archivos nuevos aún no agregados (agregarlos con svn add) y no serán subidos. Los archivos modificados se indican con M y los nuevos archivos agregados con A.
    2. Subir archivos
      Para efectivizar la subida de cambios al repositorio, se recomienda incluir un mensaje de log acorde a las personalizaciones subidas, que sirvan a otros miembros del equipo para identificar el conjunto de archivos que descargaran del repositorio con este cambio. Ejecutar el siguiente comando dentro de la carpeta del proyecto (<path proyecto Guaraní>):
      svn commit -m "Personalización XXXXX"

Mas información sobre personalizaciones: http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones

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