Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
plugins:metodologiacolaboradores [2014/05/22 14:37] fcristina [Actualización de Instancia en desarrollo con modificaciones del Core] |
plugins:metodologiacolaboradores [2021/11/10 15:48] (actual) fcristina [Introducción] |
||
---|---|---|---|
Línea 6: | Línea 6: | ||
El presente documento tiene por objeto orientar a los desarrolladores de la comunidad Libertya respecto de la metodología de trabajo implementada en las tareas de ampliación/ | El presente documento tiene por objeto orientar a los desarrolladores de la comunidad Libertya respecto de la metodología de trabajo implementada en las tareas de ampliación/ | ||
+ | |||
+ | Nota: Considerar de manera opcional a esta metodología el desarrollo de un [[plugins: | ||
===== Requisitos ===== | ===== Requisitos ===== | ||
Línea 22: | Línea 24: | ||
El conjunto de archivos Libertya a descargar para una versión dada se encuentra alojado en el proyecto Libertya de Source Forge (https:// | El conjunto de archivos Libertya a descargar para una versión dada se encuentra alojado en el proyecto Libertya de Source Forge (https:// | ||
- | Tal como se detalla en la documentación para el desarrollo de componentes | + | Tal como se detalla en la documentación para el desarrollo de componentes, |
- | Es por esto que se cuenta | + | Es por esto que se cuenta con el repositorio público SVN del proyecto Libertya en SourceForge |
- | Esta división de descargas de archivos por un lado y repositorio SVN por otro se fundamenta en que ambos servicios presentan cada uno una serie de ventajas y desventajas, | ||
Adicionalmente, | Adicionalmente, | ||
Línea 44: | Línea 45: | ||
* Verificar en la tabla **AD_Changelog** (la cual contiene la información para generar luego los archivos **install.xml** y **postinstall.xml**, | * Verificar en la tabla **AD_Changelog** (la cual contiene la información para generar luego los archivos **install.xml** y **postinstall.xml**, | ||
* La primera vez que se desea realizar una actualización de CORE: comparando el resultado de la ejecución del query: //select max(ad_changelog_id) from ad_changelog_dev where componentprefix = ' | * La primera vez que se desea realizar una actualización de CORE: comparando el resultado de la ejecución del query: //select max(ad_changelog_id) from ad_changelog_dev where componentprefix = ' | ||
- | * A partir de la segunda vez que se desea realizar una actualización de CORE: verificar el campo **Ultimo Changelog de Componente** en la ventana **Componentes Instalados** (perfil **System Administrator**). | + | * A partir de la segunda vez que se desea realizar una actualización de CORE: verificar el campo **Ultimo Changelog de Componente** en la ventana **Componentes Instalados** (perfil **System Administrator**) |
* Probablemente se encuentre activa la bitácora de desarrollo de LY CORE, con lo cual primeramente será necesario desactivarla a fin de poder exportar los cambios. | * Probablemente se encuentre activa la bitácora de desarrollo de LY CORE, con lo cual primeramente será necesario desactivarla a fin de poder exportar los cambios. | ||
* Exportar el componente CORE mediante la funcionalidad **Exportar Componente** en el perfil System Administrator (la versión de componente a especificar dependerá de los registros de **AD_Changelog** a exportar, pero en términos generales debería ser siempre la versión más actual), e indicar el rango de **AD_Changelog_ID** a incluir en la exportación de una versión de componente dada. Siguiendo el ejemplo de actualización por primera vez, deberá indicarse en los parámetros de exportación como Changelog inicial el valor **1.250.001**. | * Exportar el componente CORE mediante la funcionalidad **Exportar Componente** en el perfil System Administrator (la versión de componente a especificar dependerá de los registros de **AD_Changelog** a exportar, pero en términos generales debería ser siempre la versión más actual), e indicar el rango de **AD_Changelog_ID** a incluir en la exportación de una versión de componente dada. Siguiendo el ejemplo de actualización por primera vez, deberá indicarse en los parámetros de exportación como Changelog inicial el valor **1.250.001**. | ||
- | * Pisar el archivo **preinstall.sql** autogenerado con las sentencias SQL obtenidas desde el archivo **prinstall_from_XX.XX.sql**. Con este archivo y los cambios en metadatos exportados a los archivos .xml, se debe generar el .jar (ver [[plugins: | + | * Pisar el archivo **preinstall.sql** autogenerado con las sentencias SQL obtenidas desde el archivo **prinstall_from_XX.XX.sql**. Con este archivo y los cambios en metadatos exportados a los archivos .xml, se debe generar el .jar (ver [[plugins: |
+ | |||
+ | |||
+ | Finalmente, para instalar | ||
===== Incorporar las modificaciones de un componente al core de Libertya ===== | ===== Incorporar las modificaciones de un componente al core de Libertya ===== | ||
==== Iniciando el desarrollo ==== | ==== Iniciando el desarrollo ==== | ||
- | Previamente a iniciar cualquier tipo de modificación/ | + | Previamente a iniciar cualquier tipo de modificación/ |
- | En los casos en que se esté desarrollando funcionalidad que luego deberá ser incorporada al Core Libertya, se deberá crear y trabajar bajo un Componente Temporal de Desarrollo (http:// | + | Toda colaboración será centralizada a través de un //issue// o //ticket// de SourceForge (https:// |
+ | |||
+ | Para cada issue a resolver, se creará un branch con la siguiente convención: | ||
+ | |||
+ | En los casos en que se esté desarrollando funcionalidad que luego deberá ser incorporada al Core Libertya, se deberá crear y trabajar bajo un Componente Temporal de Desarrollo ([[plugins: | ||
Para ésto, se deberán realizar los siguientes pasos: | Para ésto, se deberán realizar los siguientes pasos: | ||
Línea 64: | Línea 72: | ||
* En caso de ser necesario, incorporar la eventuales modificaciones realizadas en el core sobre la base de datos de desarrollo del componente temporal, tal como se detalló previamente. | * En caso de ser necesario, incorporar la eventuales modificaciones realizadas en el core sobre la base de datos de desarrollo del componente temporal, tal como se detalló previamente. | ||
+ | La ubicación en donde deberán almacenarse los archivos **preinstall.sql**, | ||
+ | |||
+ | / | ||
+ | | ||
+ | El número y distribución de los archivos dentro de dicho directorio dependerá de cada requerimiento. | ||
==== Finalizando el desarrollo ==== | ==== Finalizando el desarrollo ==== | ||
Una vez finalizadas las actividades correspondientes a las modificaciones/ | Una vez finalizadas las actividades correspondientes a las modificaciones/ | ||
- | * Generar el componente .jar de instalación con los cambios realizados en el componente temporal de desarrollo. | + | * Generar el componente .jar de instalación con los cambios realizados en el componente temporal de desarrollo. |
* Detener la bitácora de desarrollo del componente | * Detener la bitácora de desarrollo del componente | ||
* Exportar el componente (archivos install.xml, | * Exportar el componente (archivos install.xml, | ||
* Omitir el archivo preinstall.sql generado y “pisar” su contenido con el log de sentencias SQL que se fue llevando de manera manual. | * Omitir el archivo preinstall.sql generado y “pisar” su contenido con el log de sentencias SQL que se fue llevando de manera manual. | ||
* Generar el instalador definivo en un archivo .jar. De aquí se extraerá el changelog y se impactará en la base de datos de Core, replicándose además la bitácora de cambios. | * Generar el instalador definivo en un archivo .jar. De aquí se extraerá el changelog y se impactará en la base de datos de Core, replicándose además la bitácora de cambios. | ||
+ | * Realizar una prueba de instalación del componente desarrollado, | ||
* Dar aviso de la finalización del subproyecto. | * Dar aviso de la finalización del subproyecto. | ||
* Validar las modificaciones. | * Validar las modificaciones. | ||
Línea 78: | Línea 92: | ||
* Incorporar los cambios a nivel base de datos al core mediante el .jar de instalación. | * Incorporar los cambios a nivel base de datos al core mediante el .jar de instalación. | ||
* Actualizar la wiki con el status actual del subproyecto | * Actualizar la wiki con el status actual del subproyecto | ||
- |