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

De SIU
Saltar a: navegación, buscar
(Convenciones sugeridas para personalizar)
Línea 1: Línea 1:
 
== Convenciones sugeridas para personalizar ==
 
== Convenciones sugeridas para personalizar ==
  
Dado que para personalizar el sistema, se debe trabajar con el '''Editor Toba''' modificando o agregando objetos (que componen las operaciones del sistema) es estrictamente necesario contar con experiencia en proyectos '''Toba''', o en su defecto, haber realizado el curso de "''Toba - Nivel Inicial''" dictado por el '''SIU'''.<br>
+
=== Requisitos Básicos ===
 +
* Haber realizado los cursos de TOBA brindados por el SIU (al menos el de ''Nivel Inicial'') o contar con experiencia en proyectos '''Toba'''
 +
* Tener un usuario SVN y la carpeta creada por el SIU en su repositorio para trabajar con personalizaciones en Guaraní
 +
* Contar con un ID de desarrollador brindado por el SIU
 +
* Haber iniciado el esquema de personalizaciones
 +
* Se recomienda leer la documentación existente sobre personalizaciones en proyectos Toba en general, disponible en: http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones
 +
 
 +
=== Convenciones ===
 +
Como es sabido, SIU-Guaraní funciona con dos bases de datos, en realidad en Postgres con una BD y dos schemas, pero se habla de BDs como concepto clásico:
 +
* Una BD de negocios, donde se almacena toda la información con la que se trabaja en el sistema (Alumnos, propuestas, etc..)
 +
* Otra BD de ''Toba''. Esta última es la que guarda las configuraciones de todos los objetos que componen las operaciones del sistema. Básicamente, los objetos creados en el '''Editor Toba''' y todas las propiedades de los mismos, además de configuraciones generales del sistema.
 +
El sistema entonces, genera las operaciones a partir del código del framework y las configuraciones antes mencionadas, y define el comportamiento de estos objetos a partir del código del proyecto. Ver la siguiente diapositiva que representa lo explicado: https://docs.google.com/presentation/d/1o-LXKCZ92F1ZqoKi0qpnM11ouAx8WmxSLdBk0pnEji4/edit?usp=sharing
  
Como SIU-Guarani es un proyecto Toba, también se recomienda leer la documentación existente sobre personalizaciones en proyectos Toba en general, disponible en: http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones
 
  
Antes de comenzar, unos párrafos sobre el funcionamiento general de personalizaciones en SIU-Guaraní. <br>
+
==== Carpeta de personalizaciones ====
Como es sabido, SIU-Guaraní funciona con dos bases de datos (BDs) (En realidad, en Postgres con una BD y dos schemas, pero se habla de BDs como concepto clásico). Una BD de negocios, donde se almacena toda la información con la que se trabaja en el sistema (Alumnos, propuestas, etc..) y otra BD de ''Toba''. Esta última es la que guarda las configuraciones de todos los objetos que componen las operaciones del sistema. Básicamente, los objetos creados en el '''Editor Toba''' y todas las propiedades de los mismos, además de configuraciones generales del sistema. El sistema entonces, genera las operaciones a partir del código del framework y las configuraciones antes mencionadas, y define el comportamiento de estos objetos a partir del código del proyecto. Ver la siguiente diapositiva que representa lo explicado: https://docs.google.com/presentation/d/1o-LXKCZ92F1ZqoKi0qpnM11ouAx8WmxSLdBk0pnEji4/edit?usp=sharing
+
La idea con respecto a las personalizaciones en '''SIU-Guaraní''' es que tengan un funcionamiento similar al definido para '''SIU-Guaraníw2'''. Es decir, que todo lo que el usuario personalice se encuentre dentro de la carpeta "''/guarani/personalizaciones''", y que solo se agregue lo que se quiera personalizar sobrescribiendo el funcionamiento general del sistema automática e instantáneamente. A nivel de código, ésto se logra utilizando la '''herencia soportada por PHP'''. La idea es heredar de los componentes ya definidos para la operación que se quiera personalizar (o de los componentes básicos si es una operación nueva) y redefinir los métodos adecuados para lograr el comportamiento que se desee aplicar.<br>
 +
Lo que complica la personalización en el sistema de Guaraní, a diferencia del web, son los '''metadatos'''. Dado que como mencionamos previamente, la configuración de los objetos que componen las operaciones del sistema se almacenan en la base de datos de Toba, se deben modificar los mismos para poder utilizar los nuevos archivos PHP generados o para cambiar sus propiedades básicas (título, tamaño, etc...). Para tratar este problema, el framework propone una solución dada por un nuevo conjunto de comandos que clonan la base de metadatos (BD Toba) del sistema y luego obtienen las diferencias entre los metadatos modificados y originales exportando los mismos al sistema de archivos para poder regenerarlos posteriormente y compartirlo con el resto de los miembros del equipo.
 +
El conjunto de comandos que se mencionan en el párrafo anterior, son los de la ''familia'' de "''guarani esquema_pers''".
  
Ahora bien, la idea con respecto a las personalizaciones en '''SIU-Guaraní''' es que tengan un funcionamiento similar al definido para '''SIU-Guaraníw2'''. Es decir, que todo lo que el usuario personalice se encuentre dentro de la carpeta "''/guarani/personalizaciones''", y que solo se agregue lo que se quiera personalizar sobrescribiendo el funcionamiento general del sistema automática e instantáneamente. A nivel de código, esto se logra utilizando la herencia soportada por PHP. La idea es heredar de los componentes ya definidos para la operación que se quiera personalizar (o de los componentes básicos si es una operación nueva) y redefinir los métodos adecuados para lograr el comportamiento que se desee aplicar.<br>
+
El funcionamiento en general del esquema de personalizaciones puede describirse de la siguiente forma: <br>
Lo que complica la personalización en el sistema de Guaraní, a diferencia del web, son los ''metadatos''. Dado que como mencionamos previamente, la configuración de los objetos que componen las operaciones del sistema se almacenan en la ''BD Toba'', se deben modificar los mismos para poder utilizar los nuevos archivos PHP generados o para cambiar sus propiedades básicas (título, tamaño, etc...). Para tratar este problema, el framework propone una solución dada por un nuevo conjunto de comandos que clonan la ''BD de metadatos (BD Toba)'' del sistema y luego obtienen las diferencias entre los metadatos modificados y originales exportando los mismos al sistema de archivos para poder regenerarlos posteriormente y compartirlo con el resto de los miembros del equipo.
 
El conjunto de comandos que se mencionan en el párrafo anterior, son los de la ''familia'' de "''guarani esquema_pers''". El funcionamiento en general del esquema de personalizaciones puede describirse de la siguiente forma: <br>
 
  
 
Al iniciar las personalizaciones mediante ''guarani esquema_pers iniciar'', se clona la BD de Toba del sistema (además, cambia el archivo "''bases.ini''" para apuntar al nuevo esquema clonado. Por defecto: "''toba_guarani_pers''"). Una vez clonada, se modifican todos los metadatos que se desee para realizar las personalizaciones. Notese que estos cambios se efectúan sobre el esquema clonado y no el original. Ahora resta ''descargar'' los cambios realizados a los componentes en la ''BD Toba'' al sistema de archivos para resguardarlos y versionarlos en el repositorio. Esto se logra con el comando ''guarani esquema_pers exportar'', que exporta todos los cambios realizados en los metadatos a "''/guarani/personalizacion/metadatos''". Si por alguna razón se desea desactivar el esquema de personalziaciones para dejar de utilizar el mismo y volver a los metadaatos originales del proyecto enviado por el SIU, se ejecuta el comando "''guarani esquema_pers desactivar''". Este comando le indica al sistema que se debe volver a utilizar el esquema original y no el clonado previamente con los metadatos modificados (cambia el archivo "''bases.ini''" y vuelve a apuntar al esquema original. Por defecto: "''toba_guarani''").
 
Al iniciar las personalizaciones mediante ''guarani esquema_pers iniciar'', se clona la BD de Toba del sistema (además, cambia el archivo "''bases.ini''" para apuntar al nuevo esquema clonado. Por defecto: "''toba_guarani_pers''"). Una vez clonada, se modifican todos los metadatos que se desee para realizar las personalizaciones. Notese que estos cambios se efectúan sobre el esquema clonado y no el original. Ahora resta ''descargar'' los cambios realizados a los componentes en la ''BD Toba'' al sistema de archivos para resguardarlos y versionarlos en el repositorio. Esto se logra con el comando ''guarani esquema_pers exportar'', que exporta todos los cambios realizados en los metadatos a "''/guarani/personalizacion/metadatos''". Si por alguna razón se desea desactivar el esquema de personalziaciones para dejar de utilizar el mismo y volver a los metadaatos originales del proyecto enviado por el SIU, se ejecuta el comando "''guarani esquema_pers desactivar''". Este comando le indica al sistema que se debe volver a utilizar el esquema original y no el clonado previamente con los metadatos modificados (cambia el archivo "''bases.ini''" y vuelve a apuntar al esquema original. Por defecto: "''toba_guarani''").
Línea 17: Línea 27:
  
 
Un párrafo final para el comando "''guarani esquema_pers conflictos''". Este comando puede ser ejecutado previo al comando "''guarani esquema_pers importar''" para analizar los posibles conflictos entre los metadatos existentes entre la ''BD Toba'' actual y las personalizaciones a importar. Funciona como una simulación del proceso de importación de metadatos de personalizaciones y genera el archivo: "''conflictos.log''" conteniendo los potenciales conflictos detectados, de forma tal que el usuario pueda analizar los mismos y tomar acciones correctivas para evitar que sucedan.
 
Un párrafo final para el comando "''guarani esquema_pers conflictos''". Este comando puede ser ejecutado previo al comando "''guarani esquema_pers importar''" para analizar los posibles conflictos entre los metadatos existentes entre la ''BD Toba'' actual y las personalizaciones a importar. Funciona como una simulación del proceso de importación de metadatos de personalizaciones y genera el archivo: "''conflictos.log''" conteniendo los potenciales conflictos detectados, de forma tal que el usuario pueda analizar los mismos y tomar acciones correctivas para evitar que sucedan.
 
 
Ver también: [[NotasTecnicas/trabajodiariopersonal| Trabajo Diario con Personalizaciones ]]
 
 
Comenzando entonces con el ejemplo planteado, una vez iniciado el esquema de personalizaciones en Guaraní 3, según lo indicado en la documentación de instalación del sistema, se puede proceder con el desarrollo de las mismas.<br>
 
 
=== Requisitos Básicos ===
 
*Tener un usuario SVN y la carpeta creada por el SIU en su repositorio para trabajar con personalizaciones en Guaraní
 
*Contar con un ID de desarrollador brindado por el SIU
 
*Haber realizado los cursos de TOBA brindados por el SIU (al menos el de ''Nivel Inicial'')
 
*Haber iniciado el esquema de personalizaciones
 
 
Ante cualquier duda sobre desarrollo en '''SIU-Toba''', consultar la documentación disponible: http://toba.siu.edu.ar/trac/toba/wiki/Referencia
 

Revisión del 11:26 28 oct 2015

Convenciones sugeridas para personalizar

Requisitos Básicos

  • Haber realizado los cursos de TOBA brindados por el SIU (al menos el de Nivel Inicial) o contar con experiencia en proyectos Toba
  • Tener un usuario SVN y la carpeta creada por el SIU en su repositorio para trabajar con personalizaciones en Guaraní
  • Contar con un ID de desarrollador brindado por el SIU
  • Haber iniciado el esquema de personalizaciones
  • Se recomienda leer la documentación existente sobre personalizaciones en proyectos Toba en general, disponible en: http://toba.siu.edu.ar/trac/toba/wiki/Referencia/Personalizaciones

Convenciones

Como es sabido, SIU-Guaraní funciona con dos bases de datos, en realidad en Postgres con una BD y dos schemas, pero se habla de BDs como concepto clásico:

  • Una BD de negocios, donde se almacena toda la información con la que se trabaja en el sistema (Alumnos, propuestas, etc..)
  • Otra BD de Toba. Esta última es la que guarda las configuraciones de todos los objetos que componen las operaciones del sistema. Básicamente, los objetos creados en el Editor Toba y todas las propiedades de los mismos, además de configuraciones generales del sistema.

El sistema entonces, genera las operaciones a partir del código del framework y las configuraciones antes mencionadas, y define el comportamiento de estos objetos a partir del código del proyecto. Ver la siguiente diapositiva que representa lo explicado: https://docs.google.com/presentation/d/1o-LXKCZ92F1ZqoKi0qpnM11ouAx8WmxSLdBk0pnEji4/edit?usp=sharing


Carpeta de personalizaciones

La idea con respecto a las personalizaciones en SIU-Guaraní es que tengan un funcionamiento similar al definido para SIU-Guaraníw2. Es decir, que todo lo que el usuario personalice se encuentre dentro de la carpeta "/guarani/personalizaciones", y que solo se agregue lo que se quiera personalizar sobrescribiendo el funcionamiento general del sistema automática e instantáneamente. A nivel de código, ésto se logra utilizando la herencia soportada por PHP. La idea es heredar de los componentes ya definidos para la operación que se quiera personalizar (o de los componentes básicos si es una operación nueva) y redefinir los métodos adecuados para lograr el comportamiento que se desee aplicar.
Lo que complica la personalización en el sistema de Guaraní, a diferencia del web, son los metadatos. Dado que como mencionamos previamente, la configuración de los objetos que componen las operaciones del sistema se almacenan en la base de datos de Toba, se deben modificar los mismos para poder utilizar los nuevos archivos PHP generados o para cambiar sus propiedades básicas (título, tamaño, etc...). Para tratar este problema, el framework propone una solución dada por un nuevo conjunto de comandos que clonan la base de metadatos (BD Toba) del sistema y luego obtienen las diferencias entre los metadatos modificados y originales exportando los mismos al sistema de archivos para poder regenerarlos posteriormente y compartirlo con el resto de los miembros del equipo. El conjunto de comandos que se mencionan en el párrafo anterior, son los de la familia de "guarani esquema_pers".

El funcionamiento en general del esquema de personalizaciones puede describirse de la siguiente forma:

Al iniciar las personalizaciones mediante guarani esquema_pers iniciar, se clona la BD de Toba del sistema (además, cambia el archivo "bases.ini" para apuntar al nuevo esquema clonado. Por defecto: "toba_guarani_pers"). Una vez clonada, se modifican todos los metadatos que se desee para realizar las personalizaciones. Notese que estos cambios se efectúan sobre el esquema clonado y no el original. Ahora resta descargar los cambios realizados a los componentes en la BD Toba al sistema de archivos para resguardarlos y versionarlos en el repositorio. Esto se logra con el comando guarani esquema_pers exportar, que exporta todos los cambios realizados en los metadatos a "/guarani/personalizacion/metadatos". Si por alguna razón se desea desactivar el esquema de personalziaciones para dejar de utilizar el mismo y volver a los metadaatos originales del proyecto enviado por el SIU, se ejecuta el comando "guarani esquema_pers desactivar". Este comando le indica al sistema que se debe volver a utilizar el esquema original y no el clonado previamente con los metadatos modificados (cambia el archivo "bases.ini" y vuelve a apuntar al esquema original. Por defecto: "toba_guarani").

IMPORTANTE: Si luego de desactivado el esquema de personalizaciones, se desea volver a trabajar con el mismo, se debe volver a ejecutar el comando "guarani esquema_pers iniciar" que clona la BD de metadatos originales y luego importar los cambios propios o adquiridos del repositorio almacenados en "/guarani/personalizacion/metadatos". Este comando no inicia el esquema aplicando automaticamente las personalizaciones existentes. Solamente clona la BD toba y cambia el archivo "bases.ini" para poder trabajar con el mismo. Para incorporar luego las personalizaciones existentes se debe ejecutar el comando: "guarani esquema_pers importar".

Un párrafo final para el comando "guarani esquema_pers conflictos". Este comando puede ser ejecutado previo al comando "guarani esquema_pers importar" para analizar los posibles conflictos entre los metadatos existentes entre la BD Toba actual y las personalizaciones a importar. Funciona como una simulación del proceso de importación de metadatos de personalizaciones y genera el archivo: "conflictos.log" conteniendo los potenciales conflictos detectados, de forma tal que el usuario pueda analizar los mismos y tomar acciones correctivas para evitar que sucedan.