English|Português|Español
UserPasswordLogin

HOME
SESSIONS
INFO
how to 293

How to: Transferring changes from GeneXus 9 to GeneXus Evolution 1 safely

Another scenario for Change Defender, by Armin Bachmann, Artech.
Scenario

Let’s assume we have a software product. Its latest version was developed and deployed by one development team with GeneXus 9.0 and generated in Visual Basic 6 with GUI interface. Hotfixes and minor improvements need to be released promptly to existing customers, and at the same time there is a need for a brand new version, a Web version, taking advantage of the new GeneXus X Evolution 1.

How can we keep both versions in synch? How can hotfixes and minor improvements be "moved" forward to the new version with little administration?


The Solution

The solution is based on using three Knowledge Bases (KBs) and uses Change Defender.

The first KB is the GX 9(A) one. There is an auxiliary KB on GeneXus X Evolution 1(B); and the last one (C) is used for actual development of the new product version.
Changes to A must be moved to C without losing anything. The process is the following:
  • Convert A to B. This makes B = A. (B doesn’t need to be generated.)
  • Freeze B and Propagate Version (this creates a special xpz)
  • Create C and import what was propagated in the previous step. Now C = B = A.
  • All changes are distributed in A and imported in B
    • Optional step: Open B and compare the revisions of the changed objects
  • Open B and Propagate Changes
  • Import propagated changes into C.
Notes:

You may automate this process with
MSBuild Tasks.
In case there is a conflict that cannot be automatically solved, the user is informed.
Things that need to be done manually:
  • Delete from B the objects that were deleted from A. This is not automatically exported from GX 9.0 to GX X EV1.
  • Rename in B the objects that were renamed in A. This is not automatically exported from GX 9.0 to GX X EV1.
  • When importing into C, there may be conflicts that cannot be automatically solved and are notified to the user. The IDE provides support tools aimed at solving these conflicts.
 
Related
How to: Define a Query Object in the Knowledge Base
How to: Expression Data Type
How to: Query Object
How to: Transform the pattern templates into dll and make them available to the client
How to: Workflow
How to: My first pattern
How to: GXflow in GeneXus X Evolution 1
How to: GXflow and Query Object in GeneXus X Evolution 1
How to: GXflow
How to: Create a Data View to connect to SQL Server from a PocketPC
Updated trial version of GeneXus X Evolution 1 is available
How To: GXportal 5.0 Image Gallery
How to: GeneXus with DBMS in the cloud
Updated trial version of GeneXus X Evolution 1 is available
How to: GXflow