Herramientas de usuario

Herramientas del sitio


plugins:versionycomponente

Datos del Componente y Version del Componente

Introducción

Al momento de desarrollar un plugin, es necesario registrar los datos relacionados con el mismo, así como iniciar la bitácora de registro de metadatos y datos relacionados. Estos valores son los que permitirán replicar luego la información en las máquinas donde se desee instalar el plugin.

Desarrollando un plugin

Desde System Administrator, la ventana Componentes permite especificar la información del mismo. La misma cuenta con dos pestañas:

  • Componentes: Esta pestaña almacena la información general del plugin.
    • Nombre público: Nombre general con el cual se referencia el plugin. Por ejemplo: Plugin Disytel Components.
    • Prefijo: Prefijo a utilizar y respetar en las modificaciones al diccionario de datos (más de esto luego). Por ejemplo: DISY.
    • Nombre del Paquete: Package a utilizar y respetar en las modificaciones de clases. Por ejemplo: ar.com.disytel.plugin. El framework utilizará este valor a fin de buscar e instanciar las clases correspondientes.
    • Autor: El creador del plugin.
    • Nivel de core: Nivel de core. El nivel 0 se encuentra reservado para el desarrollo sobre el core de la aplicación. El nivel 1 se encuentra reservado para los componentes de localizaciones. Este valor actualmente deberá setearse en 2 o más.
  • Versión del componente: Esta pestaña almacena las distintas versiones (o releases) que se van desarrollando.
    • Version: Valor de versión o release del plugin. Por ejemplo: 1.01, 9.12, etc.

Registrando en la bitácora

Una vez almacenada la información del Componente y su versión, es necesario empezar a registrar TODA modificación que se realice sobre el diccionario de datos (tablas de metadatos como AD_Table, AD_Window, etc.), y sobre ciertas tablas del core transaccional (tablas de datos como C_BPartner, M_Product, C_Doctype, etc.). El conjunto de tablas del cual se generará la bitácora se encuentra definido en el esquema de tablas (más de esto luego).

En la pestaña Versión de componente, haciendo click sobre el botón Comenzar Desarrollo el sistema:

  1. Registrará toda modificación realizada en los metadatos y datos en la tabla AD_Changelog
  2. Para estos registros, generará claves universales (AD_ComponentObjectUID) a fin de poder referenciarlas a lo largo de distintas versiones del plugin.
  3. Toda inserción en los metadatos referenciará a la Versión de Componente que actualmente se encuentra en desarrollo (AD_ComponentVersion_ID).

Estos datos permitirán generar posteriormente el archivo install.xml (y de manera similar el postinstall.xml), el cual contendrá la definición de metadados según lo desarrollado mientras que el plugin se encontraba en desarrollo. Estos archivos - entre otros - son los utilizados al momento de instalar el plugin en otra máquina.

Es IMPORTANTE comprender que, de ampliar los metadatos sin haber iniciado del desarrollo, los mismos NO se almacenarán en la bitácora. Esto llevará a que el install.xml sea mayormente inservible, obligando a la replicación manual de los mismos.

Para los datos transaccionales (postinstall.xml), el sistema barre toda la información perteneciente al esquema de tablas de datos en la bitácora, y busca todo registro perteneciente a la versión de componente correspondiente.

Detalles sobre el prefijo

El prefijo es un String de cuatro letras, y debe usarse para evitar conflictos a nivel estructural de la base de datos. Supongamos dos plugins (PluginA con prefijo PLGA y PluginB con prefijo PLGB) que desarrollan una tabla C_Ejemplo cada una. Esto llevaría a una superposicion de nombres que haría imposible la instalacion de ambos plugins. Es por esto que se utiliza el prefijo, convirtiendo los nombres de las tablas a crear a: C_PLGA_Ejemplo y C_PLGB_Ejemplo.

Aunque mediante este mecanismo es poco probable la aparición de conflictos, es necesario validar la disponibilidad de un prefijo antes de iniciar el desarrollo de un nuevo plugin.

Esquema de tablas

El esquema de tablas permite especificar cuales son las tablas que deseamos tener en cuenta para la generación de la bitácora de metadatos, así como las tablas de datos a contemplar. Esta configuración puede gestionarse desde la ventana Esquema de Tablas, pero a fin de garantizar el correcto uso del framework de plugins, se recomienda no modificar la información de la misma.

plugins/versionycomponente.txt · Última modificación: 2021/04/30 19:19 (editor externo)