Herramientas de usuario

Herramientas del sitio


plugins:copiadechangelog

Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
plugins:copiadechangelog [2019/12/04 14:46]
fcristina [Funcionalidad de copia de Changelog en instalación]
plugins:copiadechangelog [2021/04/30 19:19] (actual)
Línea 1: Línea 1:
 ====== Funcionalidad de copia de Changelog en instalación ====== ====== Funcionalidad de copia de Changelog en instalación ======
- 
-^ MUY IMPORTANTE: La información aquí detallada refiere a la metodología original, previo a al uso de la metodología de micro componentes, la cual si bien es mayormente similar, difiere en cuanto al mapeo de UIDs dado que ya no es necesario mapear los AD_ComponentObjectUID debido a que los mismos nunca cambian. | 
  
 Es posible "clonar" el changelog de una base de datos origen a una destino durante el proceso de instalación de un componente, facilitando así el desarrollo distribuido.  Para ésto, se crea un componente temporal de desarrollo, el cual luego es instalado en la base de datos general, impactando no solo los cambios que dicho componente tenga registrado, sino también generando el changelog correspondiente en esta última.  El resultado final es una base de datos general cuyo contenido y changelog fue virtualmente creado directamente sobre ésta. Es posible "clonar" el changelog de una base de datos origen a una destino durante el proceso de instalación de un componente, facilitando así el desarrollo distribuido.  Para ésto, se crea un componente temporal de desarrollo, el cual luego es instalado en la base de datos general, impactando no solo los cambios que dicho componente tenga registrado, sino también generando el changelog correspondiente en esta última.  El resultado final es una base de datos general cuyo contenido y changelog fue virtualmente creado directamente sobre ésta.
  
-**MUCHO MUY IMPORTANTE**: El desarrollo del componente se debe realizar sobre un componente que no exista actualmente. Esto es, NO se debe desarrollar sobre una versión del componente Libertya CORE ya que el prefijo es el mismo que uno existente. Para evitar inconvenientes, se puede crear el componente con el nombre del desarrollador, en cualquier versión, por ejemplo Componente Matías Cap, prefijo MCAP, versión 1.0. Como estos componentes son temporales, los UID origen se van a reemplazar (esto se explica luego) y no van a incidir a futuro en ningún componente existente. En el ejemplo que se explica más abajo, se utiliza el componente FOO, el cual es temporal.+**IMPORTANTE**: El desarrollo del componente se debe realizar sobre un componente que no exista actualmente. Esto es, NO se debe desarrollar sobre una versión del componente Libertya CORE ya que el prefijo es el mismo que uno existente. Para evitar inconvenientes, se puede crear el componente con el nombre del desarrollador, en cualquier versión, por ejemplo Componente Matías Cap, prefijo MCAP, versión 1.0. Como estos componentes son temporales, los UID origen se van a reemplazar (esto se explica luego) y no van a incidir a futuro en ningún componente existente. En el ejemplo que se explica más abajo, se utiliza el componente FOO, el cual es temporal.
  
 **Alternativas de instalación**: La instalación de un componente ahora abarca tres posibilidades distintas: **Alternativas de instalación**: La instalación de un componente ahora abarca tres posibilidades distintas:
Línea 40: Línea 38:
  
 ==== Mapeo de UIDs ==== ==== Mapeo de UIDs ====
 +
 +^ MUY IMPORTANTE: A partir de la revisión r2819 (Soporte para microcomponents), la lógica de generación de los identificadores universales de registros (campo AD_ComponentObjectUID) se modificó a fin de garantizar un UID único e inequívoco. El nuevo formato universal es: PREFIJO-TableName-TimeStamp-Desambiguador, por ejemplo: CORE-AD_Column-20191219101230703-090793). Es por esto que al utilizar la funcionalidad de CopyToChangelog, no se requerirá mapeo de UIDs ante cualquier desarrollo llevado a cabo a partir de dicha revisión (tradicional o microcomponente). Por defecto el mapeo de UIDs queda desactivado, debiendo forzarlo mediante la propiedad MAPUIDS = Y en el manifest.properties del archivo .jar a instalar. Para más detalles ver [[plugins:microcomponents|Soporte para desarrollo de microcomponentes]] |
  
 Un aspecto de especial interés es el de los AD_ComponentObjectUIDs.  Dado que en este último caso estamos llevando a CORE un componente desarrollado en otra base de datos, el mapeo no se resuelve sencillamente cambiando FOO por CORE en el UID.  Es probable que dicho UID ya exista en la base destino.  Se detallan a continuación las acciones que realiza el mapeador durante la "instalación" del componente. Un aspecto de especial interés es el de los AD_ComponentObjectUIDs.  Dado que en este último caso estamos llevando a CORE un componente desarrollado en otra base de datos, el mapeo no se resuelve sencillamente cambiando FOO por CORE en el UID.  Es probable que dicho UID ya exista en la base destino.  Se detallan a continuación las acciones que realiza el mapeador durante la "instalación" del componente.
plugins/copiadechangelog.1575470785.txt.gz · Última modificación: 2021/04/30 19:20 (editor externo)