Check for compatibility issues with GeneXus X or prior versions here.
To convert a Knowledge Base from GeneXus X Evolution 1 to GeneXus X Evolution 2 just open it with a GeneXus GeneXus X Evolution 2 instance, it will be converted automatically when confirming this message:
[Opening Knowledge Base]
This is the first time you open this Knowledge Base with X Evolution 2 (10.2.XXXXX)..
If you continue and save objects with this version, they may not be openable with previous GeneXus versions.
Do you want to open it anyway?
[Yes][No]
If you proceed, the Knowledge Base will be converted to GeneXus X Evolution 2 format and you will not be able to open it again with a previous version.
Check for property compatibility changes.
Every time you convert a KB from previous version is a good practice to perform a Navigation Comparison in order to detect, during specification time, some changes that could affect your system. Here you can see some of the differences that you may find in your own KB.
In particular, make sure to check this article.
A list of conversion error and warning messages are detailed here.
If your Knowledge Base uses GXFlow, check this article.
A theme object exported with Xev2 cannot be imported in Xev1, the following error will occur:
Import_Task
Processing file 'c:\temp\Xev2SampleObjects.xpz'...
Checking Import References...
Part descriptor not found: 'Font' (provided by package 'GenexusBL').
Finished
Reading import file objects...
Finished
Check the following considerations if you change the original value of the HTML Document type property.
Check the Client Side Validation new properties. If you want to keep the GeneXus X Evolution 1 look and feel set the following values:
- Stop on error: Yes
- Validation message position: Top
Character data types takes into account the Maximum Edit Length property to set the default control length for plain level structures and grids. More Info
If you use specific code to numerate rows or any local calculation on variables on a paging grid, you may have a difference in behavior when converting your application to Xev2 version.
For example, suppose you have this code to generate a "record number" on a grid with paging enabled:
for each
&vRowNum += 1
grid.load()
endfor
In Xev1, when moving forth and back the grid will get the expected row number as paging is executed on the client-side.
As Xev2 generated code is improved, this code will not get the desired result when moving to the second page and following pages. You need to calculate the right "record number" using Grid.Rows and Grid.CurrentPage properties explicitly. The correct code for Xev2 version is the following:
for each
If &vRowNum.isEmpty()
&vRowNum = Grid.Rows * (Grid.CurrentPage -1) + 1 // first item
Else
&vRowNum +=1 // accumulate based on previous value
EndIf
grid.load()
endfor
The default value for a Combo box is initialized with the empty value if exists, otherwise it uses the first Combo item value. For more information check SAC#37282.