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:36] 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 |
| * 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 | ||
| - | |||