Official Content

Check for compatibility issues with GeneXus X Evolution 1 or prior versions here.

Compatibility with GeneXus X Evolution 2

Conversion Steps

To convert a Knowledge Base (KB) from GeneXus X Evolution 2 to GeneXus X Evolution 3 follow these steps:

1) Backup your KB, since no return path is provided

2) Open it with a GeneXus GeneXus X Evolution 3 instance, it will be converted automatically when confirming this message:

TITLE: Opening Knowledge Base
------------------------------

This version of GeneXus uses a newer database schema for the Knowledge Base than the one it currently has; 
if you open it now a reorganization will be executed and you will not be able to open it with previous versions of GeneXus.

Do you want to open it anyway?

------------------------------
BUTTONS:

&Yes
&No
------------------------------

If you proceed, the KB will be converted to GeneXus X Evolution 3 format, and you will not be able to open it again with a previous version.

3) If you have Web Objects in your KB Convert Themes and objects to get Theme class cross references

4) Rebuild All

If your KB uses GeneXus Access Manager (GAM) or BPM this process will update the associated database schemas. See below for more information.

5) Check out Navigation changes

Conversion Considerations

New Object naming restrictions

1) Since X Evolution 3 has Theme class cross references, classes are internally treated as objects and, therefore, have some naming restrictions (e.g. dots and hyphens are not allowed anymore). Trying to name a class with those characters will produce the following error:

TITLE: Error
------------------------------

Invalid characters in name: 'TrnSuble-velGrid'

------------------------------
BUTTONS:

OK
------------------------------

2) Since Module path syntax involves dots, objects that belong to modules cannot include dots in their names. 
The conversion process takes this into account and renames objects, replacing the dots by underscores.

Navigation changes

Every time you convert a KB from the previous version, it 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.

Error Messages and Warnings

A list of conversion error and warning messages are detailed here.

Compatibility issues or considerations to take into account

Third Party Software Requirements: Patterns and Extensions

If you are using Patterns, Extensions provided by others, please contact their manufacturers, because they need to provide a new version of it due to related compatibility issues

Android requirements

Android requirements have changed since GeneXus X Evolution 2, then to create Android applications with GeneXus X Evolution 3 it is necessary to satisfy the Android Requirements.

iOS specific considerations

SD Leaves Control is deprecated.

GXserver

GeneXus Server X Evolution 3 is required for Team Development. Read GeneXus Server Installation Manual for further instructions.

GXflow

GXflow Engine's database schema changed, workflow tables need to be deployed again. To do so in the production environment: create a business process deploy file from your Knowledge Base, install GXflow X Evolution 3 Setup for Production Environment and deploy the workflow tables using the Business Process Deployer.

GXflow client supports only the language of the Knowledge base. To support multiple languages, Translation type property has to be set to Run-time.

Code Generation

Web

There are some events that now will execute automatically on the client side. That implies that in those events, the whole server side code will not be executed.

Read Event execution on the client side since X Evolution 3 for more information.

The redirects now return a Http Status Code 301 and before, the Code returned used to be 302. This change helps to SEO.

Specification

Attribute's Description Property is not taken into account in code generation, and Attribute's Title Property is used instead. This affects all standard GXSPC_OutOfRange and GXM_DoesNotMatchRegExp messages.

Dynamic Calls in Smart Devices

Since there have been added optimizations in build mechanisms, now only the necessary metadata is generated for each main object and therefore you must also include dummy calls to the objects that are called dynamically and are not in the call tree of the main.  

Language

IsNull Method on simple SDT items not more supported

IsNull method of simple members SDTs is not more supported, use IsEmpty method instead. Note that this restriction does not affect variables based on Business Components or SDT members based on other SDTs.

Regular Expression

Support for Regular expression validation on variables is added since Upgrade #2.

All variables based on attributes or domains with a regular expression defined will get validated automatically on a Web Panel object.

More Information in SAC # 27300.

GAM 

GAM Database schema changes to version 3.0.6. Read GAM database version 3.0.6 for more information.

Modules

When a Knowledge Base is opened with GeneXus X Evolution 3 a conversion process is executed. See Modules and backward compatibility for further details.
In addition, some limitations and changes are introduced by the use of Modules, please read:

SD Object (WWSD, Dashboards and SD Panles) Layouts improvements

Slide Navigation

When the application uses this navigation style on iOS, the width of the SD Panel or dashboard located on the left or right target is 280 dips, so the panel in the center won't overlap.

Tab Conditions

In the preview version the Order, Break By and Search options were displayed on the Tab Conditions (See Tabs offered in Panel and Work With objects). As this information applies only to Grids, it has been moved to the Grid control's properties list.

Multiple methods in Web services Syntax

With the inclusion of Modules the following syntax is not supported when declaring multiple methods in Web services:

&Out = ProcedureSample.test2(&In)

The following error will appear

error: <stub> is a command and cannot be assigned

Use the following syntax

ProcedureSample.test2(&In, &Out)

More information

Subcribe to this category's changes
Sub CategoriesAdd a new subcategory in this category
PagesAdd a new page in this category
Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant