INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

how to 293

How to: Cómo pasar cambios de GeneXus 9 a GeneXus X Evolution 1 en forma segura

Otro escenario más para Change Defender, por Armin Bachmann de Artech.
Escenario
Supongamos que tenemos un producto de software. Su última versión fue diseñada e implementada por un equipo de desarrollo con GeneXus 9.0 y generada en Visual Basic 6 con interfaz GUI. Por un lado, es necesario ofrecer rápidamente hotfixes y mejoras menores a los clientes existentes y por otro lado también se necesita una versión totalmente nueva, Web, aprovechando el nuevo GeneXus X Evolution 1.
¿Cómo podemos hacer para mantener sincronizadas las dos versiones? ¿Cómo pueden “pasarse” los hotfixes y las mejoras menores a la nueva versión con una administración mínima?

La Solución
La solución se basa en el empleo de tres Bases de Conocimiento (KB) y utiliza Change Defender.

La primera KB es la KB GX 9(A). Hay una KB auxiliar en GeneXus X Evolution 1(B); y la última KB (C) se usa para desarrollar efectivamente la nueva versión del producto.
Los cambios en A deben pasarse a C sin perder nada. El proceso es el siguiente:
Inicialización (se da una vez)
  • Convertir A a B. Con esto, B = A. (No es necesario generar B.)
  • Congelar B y Propagar Versión (esto crea un xpz especial)
  • Crear C e importar lo propagado en el paso anterior. Ahora C = B = A.
Actualización de A (se da cada vez que sea necesario)
  • Todos los cambios se distribuyen en A y se importan en B
    • Paso opcional: Abrir B y comparar las revisiones de los objetos  cambiados
  • Abrir B y Propagar Cambios
  • Importar los cambios propagados en C.
Notas:

Este proceso puede automatizarse con MSBuild Tasks.
En caso de haber algún conflicto que no pueda ser resuelto automáticamente, se informa al usuario.
Cosas que deben hacerse en forma manual:
  • Borrar desde B los objetos que fueron eliminados desde A. Esto no se exporta automáticamente de GX 9.0 a GX X EV1.
  • Renombrar en B los objetos que fueron renombrados en A. Esto no se exporta automáticamente de GX 9.0 a GX X EV1.
  • Al importar en C, puede haber conflictos que no se puedan resolver automáticamente que son informados al usuario para cuya resolución el IDE brinda herramientas de apoyo.
Relacionado
How to: Definir un Objeto Query en la Base de Conocimiento
How To: Expression Data Type
How to: Objeto Query
How to: Transformar los templates de patterns en dll y llevarlos al cliente
How to: Workflow
How to: Mi primer pattern
How to: GXflow en GeneXus X Evolution 1
How to: GXflow y Query Objects en GeneXus X Evolution 1
How to: GXflow
How to: Crear un Data View para conectarse a SQL Server desde un pocketPC
Está disponible la Trial actualizada de GeneXus X Evolution 1
How to GXportal 5.0: Galería de imágenes
How to: Genexus con DBMS en la nube
Está disponible la Trial actualizada de GeneXus X Evolution 1
How to: GXflow