NotasTecnicas/connect-Gestion-3w

Interconexión entre 3w y Gestión

Para algunas operaciones del 3w, el esquema de controles configurables, etc.. se decidió reusar las clases desarrolladas para Guarani Gestión. Para que esto sea posible, en la estructura de archivos del 3w se agregaron una serie de carpetas y clases que se describen a continuación:

Núcleo

.
├── bin
....
├── src
│   ├── siu
│   │   .....
│   │   ├── exportaciones_g3                          (2)
│   │   │   └── jasper                                ----> Gestión (carpeta exportaciones/jasper)
│   │	├── guarani.php
│   │   ├── modelo
│   │   │   ....
│   │   ├── modelo_g3                                 (1)
│   │   │   ├── nucleo                                ----> Gestión (carpeta php/nucleo)
│   │   │   │   ....
│   │   │   │   ├── g3w_autoload.php
│   │   │   │   └── g3w_clases_consultas.php
│   │   │   ├── toba_consulta.php                     │
│   │   │   ├── toba_error.php                        │
│   │   │   ├── toba_logger.php                       │ (2)
│   │   │   ├── toba_perfil_datos.php                 │ 
│   │   │   ├── toba.php                              │
│   │   │   ├── toba_varios.php                       │
│   │   │   └── g3w_autoload_adaptador.php
│   │   └ 
│   └  
└

Dentro de la estructura de directorios del 3w podemos ver distintas carpetas que referencian a carpetas del guarani3 gestión, en desarrollo son externals de svn y a la salida de la versión son materializadas dentro del proyecto 3w

1. Dentro de la carpeta modelo_g3 (1) se encuentra todo lo necesario para que el 3w pueda utilizar el nucleo de Gestion. Encontramos:

  • Una carpeta nucleo que hace referencia a la carpeta php/nucleo de gestión, dentro de la cual se encuentran los archivos de autoload necesarios para que se carguen las clases a ser utilizadas por 3w
    • g3w_autoload.php : Carga las clases del nucleo de gestion relativas al 3w
    • g3w_clases_consultas.php: Define donde se encuentran las clases de consulta relativas al 3w
  • Diferentes clases necesarias para la vinculación entre 3w y Gestión (2)
  • El Archivo g3w_autoload_adaptador.php (que se edita manualmente), que carga las clases anteriores para el uso en el 3w

2. Dentro de la carpeta exportaciones_g3 se encuentra

  • La carpeta jasper que hace referencia a la carpeta exportaciones/jasper de gestión. De esta manera se utilizan las plantillas Jasper para la generación de PDF's creadas en Gestión

Personalizaciones

.
├── bin
....
├── src
│   ├── pers
│   .....
│   ├── pers_gestion                             (3) ---> Gestión (carpeta personalizacion)
│   │   ├── exportaciones
│   │   │   └── jasper
│   │   ├── logs
│   │   ├── personalizacion.ini
│   │   ├── php
│   │   │   ├── extension_toba
│   │   │   ├── guarani_autoload_clases_nuevas.php
│   │   │   ├── guarani_clases_consultas_nuevas.php
│   │   │   ├── guarani_pers_autoload.php
│   │   │   ├── nucleo
│   │   │   └── operaciones
│   │   └── www
│   │   
│   └  
└

3. La carpeta pers_gestion (3) es una referencia a la carpeta personalizacion de Gestión. Encontramos:

  • La carpeta php que contiene los archivos
    • guarani_pers_autoload.php: carga de clases huecas (para personalizar) enviadas desde el siu
    • guarani_autoload_clases_nuevas.php: carga de las clases nuevas que crean las universidades
    • guarani_clases_consultas_nuevas.php: definición clases de consulta personalizadas o creadas por las universidades

Generación de Archivos de Autoload y definición de clases de consultas de una personalización

Para la generación de los archivos de autoload y definición de clases de consultas se sigue el siguiente esquema:

En una Personalizacion (Instituciones), con el comando:

<path de gestión>$ ./guarani pers_autoload 

Se generan los archivos:

  • guarani_autoload_clases_nuevas.php, carga las clases nuevas, creadas por las universidades. Estas no deben crearse dentro de las carpetas enviadas por el SIU, se recomienda crear una carpeta propia de la institución. La utiliza Gestión (desde contexto_ejecucion.php) y 3W
  • guarani_clases_consultas_nuevas.php, Define las clases de consultas personalizadas o nuevas, la utiliza el 3w a través de la clase toba_consultas.php