Install multiple Genero versions
Four Js recommends a strategy for installing and using different versions of Genero software.
To maintain more than one Genero product version, install the version as described in the installation section with these additional considerations:
- When prompted for the destination directory during installation, ensure that a
distinct directory is used for each installed Genero version. Give the directory a name including
exact product version (for example, fglgws-3.10.00) to ensure the directory
specified is not the same as that used for any other installed version.Tip:
It is recommended to store all versions beneath an application root directory (for example, /opt/fourjs/fgl).
- Ensure that your application has been compiled for the version your environment is
currently pointing to. If the new version is a major upgrade (for
example, from 3.10 to 3.20), you must recompile the sources and form
files before switching between versions; this is true whether you
are switching from old to new version or reverting back to the old
version.
It is recommended that you compile each version in its own output directory, so that you do not overwrite the prior compiled versions.
If the new version is a minor upgrade (for example, from 3.20.06 to 3.20.07), recompilation is not mandatory but may have some optimization benefits.
To switch between versions, use either generic symbolic links or set environment variables.
Example 1: generic symbolic links
You have two symbolic links, one for the product version installation directory, and one perhaps for your application directory where your application files (.42r,.42m, .4st, etc.) are stored. These symbolic links remain the same regardless of the version in use. For example:
- You create a symbolic link at /opt/fourjs/fgl pointing to the current installed version at /opt/fourjs/fgl.3.10.08
- You create a symbolic link at /opt/myapp pointing to your current application directory at /opt/myapp.1.23.4, where 1.23.4 is the application version number.
At upgrade time, you change the symbolic links, to point to the latest installed version and your latest application version directory.
- /opt/fourjs/fgl now points to /opt/fourjs/fgl.3.10.09
- /opt/myapp now points to /opt/myapp.1.24.1
Example 2: environment variables
This method uses the same principle as the symbolic link example. You have two environment variables, one for the product installation directory, and one for your current application directory. These remain the same regardless of the version in use. For example:
- You set the environment variable FGLDIR to /opt/fourjs/fgl.3.10.08
- You set MYAPP to /opt/myapp.1.23.4
At upgrade time, you change the values of the environment variables, to point to the latest installed version and your latest application version directory.
- FGLDIR now has the value /opt/fourjs/fgl.3.10.09
- MYAPP now has the value /opt/myapp.1.24.1
Switching between product versions
To switch between versions, change the symbolic links or environment variables. The advantage is that you can run two versions in parallel beforehand to test, or you can run a previous version after an upgrade to compare changes. This allows you to revert back quickly if something goes wrong.