You are on page 1of 10

Personalizaciones en Gestión de SIU-Guaraní 3

García Franz Gabriela Jarque Florencia


gfranz@siu.edu.ar fjarque@siu.edu.ar
• SIU-Guaraní 3 está construido utilizando
SIU-Toba

• Utilidades de SIU-Toba: editor web (Toba


Editor)

• Las definiciones realizadas con Toba Editor


son metadatos y se guardan en una base de
datos relacional

desarrollador

Toba Editor Editor PHP

metadatos código PHP

núcleo SIU-Toba
usuario SIU-Guaraní 3 BD de negocio

Para exportar/importar metadatos usamos


comandos de consola:
# Exporta los metadatos como archivos .sql en la carpeta metadatos
xx@yy:~$ guarani exportar

# Importa los metadatos desde el sistema de archivos hacia la BD


xx@yy:~$ guarani regenerar

exportar
guarani
regenerar metadatos

instancia

Trabajo diario en equipo:


1. Actualizar vía SVN (svn update)
2. Regenerar el proyecto
xx@yy:~$ guarani regenerar

1. Realizar los cambios necesarios


1. Generar autoload
# Genera archivos de autoload para la carga automática de clases y el
reúso desde G3W
xx@yy:~$ guarani autoload
1. Exportar el proyecto
xx@yy:~$ guarani exportar

1. Subir cambios al SVN (svn commit)

• SIU-Guaraní 3 es personalizable

• Cómo personalizar?

• Identificamos un concentrador que


iniciará la personalización
# Genera de manera local el entorno de trabajo para personalizar
xx@yy:~$ guarani esquema_pers iniciar

• El resto del equipo trabaja


normalmente

Versión propia – En Producción


● Pasaje de un conjunto de personalizaciones
desarrolladas y testeadas a producción.
● Recomendación: Generar una versión propia

del sistema, a partir de la proporcionada por el


SIU, sumando las personalizaciones. Rama
nueva en el directorio /versiones agregando un
nuevo
svn dígito.
cp $path_nodo_g3_uunn/trunk/3.X.0 $path_nodo_g3_uunn/versiones/3.X.0.Y

Creación de la versión
​ 3.X.0.Y

TRUNK
Commits equipo de desarrollo

Versión 3.9.0.1
Versión 3.9.0.2

Versión propia – Ventajas

● Servidor de producción: A diferencia del de


desarrollo, apuntará siempre a ramas de
versiones propias.
● Mayor control de cambios y personalizaciones

que aplican a cada versión.


● Minimización de errores: Se continúa el
desarrollo en el trunk. Implementaciones
parciales y bugs introducidos no se trasladan a la
versión generada.

++

Migración a nueva Versión de G3


●El SIU libera versión: Se crea la rama nueva,
con su contenido, en el nodo correspondiente
a la universidad.
● Concentrador: Único encargado de migrar el

entorno de desarrollo a la nueva versión, con


las personalizaciones realizadas hasta el
momento.
● Verifica previamente que todos los cambios

del resto del equipo estén en el sistema de


control de versiones.

Nueva Versión G3 – Concentrador


● Subir metadatos personalizados: Desde su
copia local de trabajo exporta los metadatos a
la carpeta de personalización y sube estos
cambios al svn.
● Se generan archivos xml en personalizacion

/metadatos que representan las diferencias


entre los metadatos originales de G3 y los
personalizados por la institución.
xx@yy:~$ svn update #desde $path_nodo_g3_uunn/trunk/3.X.Y
xx@yy:~$ guarani regenerar
xx@yy:~$ guarani esquema_pers exportar #hacia /personalizacion/metadatos
xx@yy:~$ svn commit ./personalizacion #hacia $path_nodo_g3_uunn/trunk/3.X.Y

Nueva Versión G3 – Concentrador


• Apuntar a la nueva versión del sistema: Cambia
la copia de trabajo local a la nueva rama
generada por el SIU.
xx@yy:~$ guarani instancia_exp_local
xx@yy:~$ svn sw $path_nodo_g3_uunn/trunk/3.Z.0
xx@yy:~$ toba instancia regenerar -i desarrollo #hacia $path_nodo_g3_uunn/trunk/3.X.Y

Nueva Versión G3 – Concentrador


• Traer las personalizaciones de la versión
anterior: En el código de la nueva versión, la
carpeta personalizaciones tendrá los archivos
estándar de G3. Mezcla ambas carpetas (no
generará conflictos).
xx@yy:~$ svn merge $path_nodo_g3_uunn/trunk/3.X.Y/personalizacion
./personalizacion (3.Z.0)

Nueva Versión G3 – Concentrador


●Cargar los metadatos personalizados: Chequea si
existen conflictos entre éstos y los de la nueva
versión de G3.
xx@yy:~$ guarani esquema_pers conflictos

●Una vez resueltos los posibles conflictos,


incorpora los metadatos personalizados, a partir
de los archivos xml, a la base de Toba actual.

xx@yy:~$ guarani esquema_pers importar (desde /personalizacion/metadatos a la BD)

Nueva Versión G3 – Concentrador


● Sobreescribir los metadatos de la versión con
los personalizados: Para finalizar exporta los
mismos, como archivos sql a la carpeta de
metadatos común, y los sube al svn para seguir
trabajando normalmente.
xx@yy:~$ guarani exportar (#hacia /metadatos)
xx@yy:~$ svn commit (#hacia $path_nodo_g3_uunn/trunk/3.Z.0)
Nueva Versión G3 – Equipo
●Resto del equipo de desarrollo: Simplemente
migra hacia la nueva versión con las
personalizaciones ya incorporadas, para
continuar con el flujo normal de trabajo.
xx@yy:~$ guarani instancia_exp_local
xx@yy:~$ svn sw $path_nodo_g3_uunn/trunk/3.Z.0
xx@yy:~$ toba instancia regenerar -i desarrollo

Personalizaciones – Ejemplos
● Base de Negocios: Agregar información a la BD
de Guaraní, agregando campos, funciones o
tablas.
● Clases de núcleo: Redefinir métodos de las clases

php de núcleo del sistema para modificar su


comportamiento (puntos de control, procesos,
etc).
● Objetos Toba: Modificar el comportamiento de

componentes de interfaz desde el editor de Toba,


para personalizar las operaciones del sistema.
Personalizaciones – Ejemplos
● Reportes y Constancias: Definir archivos jrxml
propios, basados en los originales, para modificar
el diseño o información de los mismos.

You might also like