Muestra las diferencias entre dos versiones de la página.
plugins:creacionjar [2014/05/22 14:39] fcristina [Componentes del jar] |
plugins:creacionjar [2021/04/30 19:19] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Creacion del archivo jar con componentes y metadatos ====== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Componentes del jar ===== | ||
- | |||
- | A fin de poder instalar un plugin, es necesario crear el archivo //jar// correspondiente. | ||
- | |||
- | * **manifest.properties**: | ||
- | * **preinstall.sql**: | ||
- | * **install.xml**: | ||
- | * **postinstall.xml**: | ||
- | |||
- | Cabe mencionar que, dependiendo del tipo de plugin que se está creando, es posible que no sean necesarios todos los archivos. | ||
- | |||
- | * Un plugin que no realiza modificación alguna sobre la base de datos, solo requiere el **manifest**. | ||
- | * Un plugin que modifica una ventana o la definición de un proceso, requiere: **manifest** + **install** | ||
- | * Un plugin que crea o modifica la estructura de una tabla, requiere: **manifest** + **preinstall** + **install** | ||
- | * Un plugin que crea un nuevo artículo o entidad comercial, requiere: **manifest** + **postinstall** | ||
- | |||
- | El archivo **manifest.properties** generado contendrá los siguientes datos (obtenido de la información de [[plugins: | ||
- | |||
- | * **VERSION**: | ||
- | * **PREFIX**: Prefijo del plugin. | ||
- | * **PACKAGENAME**: | ||
- | * **PUBLICNAME**: | ||
- | * **AUTHOR**: Autor del plugin. | ||
- | * **CORELEVEL**: | ||
- | * **INSTALLPROCESS**: | ||
- | |||
- | Por ejemplo, siguiendo el ejemplo del [[plugins: | ||
- | |||
- | # Manifest de ejemplo para Plugin Disytel | ||
- | VERSION = 1.01 | ||
- | PREFIX = DISY | ||
- | PACKAGENAME = ar.com.disytel.plugin | ||
- | PUBLICNAME = Plugin especial de ejemplo | ||
- | AUTHOR = Disytel SA | ||
- | CORELEVEL = 2 | ||
- | | ||
- | # Proceso de instalacion custom | ||
- | INSTALLPROCESS = DISY-AD_Process-1001290 | ||
- | | ||
- | # AUTOGENERADO - NO MODIFICAR | ||
- | COMPONENTUID = DISY-AD_Component-1010001 | ||
- | COMPONENTVERSIONUID = DISY-AD_ComponentVersion-1010001 | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Configuración ad-hoc de post Instalación ===== | ||
- | |||
- | Durante el desarrollo de un plugin, es posible crear un proceso y párametros a fin de lograr una customización ad-hoc sobre el conjunto de datos contenido en el archivo // | ||
- | |||
- | La postinstalacion customizada permite reemplazar un conjunto de valores contenido dentro del XML por los correspondientes valores especificados en los parámetros del proceso ah-hoc. | ||
- | |||
- | Por ejemplo, supongamos que un plugin requiere incorporar una nueva entidad comercial: " | ||
- | |||
- | En este caso deberemos especificar dentro del proceso que hemos creado, un parámetro **AD_CLIENT_ID**. | ||
- | |||
- | El framework puede encargarse de hacer el mapeo de los parámetros definidos en el proceso creado automáticamente. | ||
- | |||
- | Por ejemplo, podemos crear un proceso **PluginXMLUpdaterDisy** que apunta a una clase **ar.com.disytel.plugin.process.PluginXMLUpdaterDisyProcess**. | ||
- | |||
- | En caso de ser necesario un mapeo especial, incluso es posible redefinir el proceso de parseo postinstall general del XML: **PluginXMLUpdaterPostInstall**, | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Como generar el archivo .jar ===== | ||
- | |||
- | Es necesario incorporar el o los archivos de **.properties**, | ||
- | |||
- | * disytel_plugin | ||
- | * bin | ||
- | * //ar// (directorio del package inicial el cual contendrá las clases Java compiladas ) | ||
- | * **manifest.properties** | ||
- | * **preinstall.sql** | ||
- | * **install.xml** | ||
- | * **postinstall.xml** | ||
- | * src | ||
- | |||
- | |||
- | Una vez copiados los archivos, __y ubicados en el directorio **bin**__ se genera el jar mediante el siguiente comando: | ||
- | |||
- | jar cvf nombre.jar * | ||
- | |||
- | Recordar que **ES IMPORTANTE** respetar los nombres de los archivos, las ubicaciones de los mismos, y el formato del archivo **manifest.properties**. | ||
- | |||
- | Para su instalación en otro equipo, este archivo luego debe ser ubicado en el directorio **lib/ |