Herramientas de usuario

Herramientas del sitio


plugins:microcomponents2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
plugins:microcomponents2 [2020/02/04 19:15]
127.0.0.1 editor externo
— (actual)
Línea 1: Línea 1:
-====== 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 ===== 
- 
-xUna 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: 
- 
-  - Registrará toda modificación realizada en los metadatos y datos en la tabla **AD_Changelog** 
-  - Para estos registros, generará claves universales (**AD_ComponentObjectUID**) a fin de poder referenciarlas a lo largo de distintas versiones del plugin. 
-  - 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/microcomponents2.1580843722.txt.gz · Última modificación: 2021/04/30 19:21 (editor externo)