2. Prepare upgrade of data
 
2.1. Archive main configuration file
In addition to data, it is useful to archive the main configuration file (megasite.ini)on the HOPEX installation as a file.
 
For HOPEX V4.0 or HOPEX V3.0:
 
Deployment
Location
Mono server installation
<installation path\Cfg
By default for HOPEX V4.0: C:\Program Files (x86)\MEGA\HOPEX V4\Cfg
Cluster installation
<clusterrootpath>\ClusterRoot\Cfg
Ex: \\mega\data\ClusterRoot\Cfg\megasite.ini
 
2.2. Check license with your sales representative
The list of products/solutions changes with each version:
Certain products/solutions are removed (not available).
Certain products/solutions are deprecated (available and supported as is).
Certain products/solutions are repackaged (features still available through another product/ solution)
SQL Server storage is now required.
 
This document will not describe the product lists or the changes between versions. Please contact your sales representative to see if a new license needs to be programmed.
 
2.3. Check metamodel, locks, workspaces and workflows
In the source version, for each environment:
 
Check
Detail
Check that version of environment is aligned with version of programs
Run HOPEX.exe and check that no message is displayed such as 'The versions of HOPEX and the MetaModel are not aligned (HOPEX=X.XX.XXX.XXXX - MetaModel=Y.YY.YYYY.YYYY)…'
Check that environment compiles without error
Run Windows Administration Console (administration.exe) and compile the environment. If the environment compilation generates a log entry in the HOPEX error log, you should fix such errors before migrating your data
Check that no private workspace (ex-transactions) persists
In Windows Administration Console (administration.exe), check workspaces. If a private workspace persists, dispatch or delete it.
Check that no lock persists
In Windows Administration Console (administrration.exe), check locks. You need to dispatch of delete related workspace.
Password of the login 'System'
Check that the password of the login 'System' is known or set to empty before migration.
This is very important since it will be requested to login with 'System'.
 
2.4. Identify environment to be managed
 
In HOPEX Application Server deployment, an installation is named instance.
Each instance is mapped to one mode: Development, Training, Staging (synonym: Test, QA...), Production. One machine can host several HAS instances.
Each HAS Instance is mapped to one HOPEX environment. Using multiple environments is not supported.
This means you need as many HAS instance as couple (HAS environment x Mode).
As this can impact IT and human resources, it can be appropriate to review the number of HOPEX environment to manage. To sum needs, use a table such as follows:
 
Machine
Instance
Mode
Version
Machine 01
5001
Development
HOPEX V5.0 CP1 HF03
5002
Staging
HOPEX V5.0 CP1 HF03
Machine 02
5000
Production
HOPEX V5.0
 
2.5. Identify profiles used
 
For each HOPEX environment, identify the list profiles used directly or indirectly.
This will help later to understand if you are impacted by version changes.
 
If you do not know the profiles used, you can use the following query:
 
Select [Profile] Into @PL1 Where [Profile Assignment]
Select [Profile] Into @PL2 Where [Super Profile] in @PL1
Select [Profile] From @PL1 Or @PL2
 
2.6. Identify Solution packs used
 
Solutions packs are add-ins installing data or templates. There are imported in data repositories using the Administration Console, but they can update the system database.
Example: Archimate, NAF …
 
For each HOPEX environment, identify the list of solution packs imported:
In the system database
In a data repository
 
This will help later to understand what modules need to be imported.
 
 
2.7. Identify existing customizations
 
To upgrade to HOPEX V5.0, it is required to
Build a customization module (has.custom) to package customizations.
Deploy customization module before upgrade of data to HOPEX V5.0.
 
It is therefore important to identify existing customizations to build a customization module.
 
Indications
 
Before HOPEX 5.0 various customization can have been made at environment of installation level.
 
Nature
Example
Comment
Resources
.PNG files
.MGS files
.ICO file…
Shape files, Images, Resource for web site generation…
Code
.JAR files
.DLL files
.VBS files
Java components
.NET components
VB script components
GraphQL Schema
.JSON file
GraphQL Schema extensions
System database updates
System objects and link
Metamodel extensions
Report template
Web site templates…
 
Resources and code persist in specific folders.
For version HOPEX V4.0 or HOPEX V3.0, here is a list of possible folders:
<installation path>\Customizations\javalib
<customization folder path>\javalib
<installation path>\Customizations\dotnet
<customization folder path>\dotnet
<installation path>\Customizations\mega_usr
<customization folder path>\mega_usr
<installation path>\DotNet\hopex.graphql\1.0.0.0\CONFIG\V3\Custom
See also KB 00009168.
 
System database updates persist in database SystemDb or each environment and cannot be identified easily.
 
2.8. Build customization module
 
This section requires knowledge HAS Customization procedures.
 
There should be a HAS instance (development, staging/test) for each HOPEX environment.
A HAS instance in 'development' mode is required.
Time to build customization module can vary according to number of customizations.
 
Main steps
Comment
Initialize customization module
In HAS instance (development), create development context mainly folder structure for customization module
Gather customizations
Capture systemdb and/or data updates.
Move external files or components to appropriate folders
Build package of customization module
Generate a .haspkg file with a script
Test customization module
Test installation in HAS instance (staging/test)
If necessary, do a loop to tune the customization module in HAS instance (development)
 
 
2.9. Decide 'Definition of path of MetaAssociation'
 
This step requires a decision for each HOPEX environment.
 
In the HOPEX options, group 'Repository', an option 'Definition of path of MetaAssociation' is available at installation and environment level. This option enables to control the way MetaAssociation behaviors are interpreted according to the value chosen:
 
Value
Recommendation
Standard Mode
Recommended for new projects. Default value.
Compatibility Mode
Recommended for compatibility with behaviors and customizations performed in version MEGA 2009 and lower (data and system database customization). When switching to 'Standard mode', a review that may require time and expertise is necessary.
 
Note that ' Standard Mode' is the default value. You can change the value and compile the environment without impact on data except namespace. However, the change will affect the behaviors (namespace, navigation, extraction, protection, export, comparison…).
 
2.10. Review use of the profile 'Enterprise Architect'
 
For many versions, the profile 'Enterprise Architect' (ex-EA Standard) has been used for multiple purpose
Use legacy products (MEGA Architecture…)
Perform customizations
Use HOPEX Solutions
 
This profile is designed for use of legacy products.
It is not designed for customization: use the profile 'HOPEX Customizer'.
It is not designed for use HOPEX Solutions: use dedicated profiles and desktops.
 
With HOPEX V5.0, the profile 'Enterprise Architect' has a command line that filters HOPEX Studio and HOPEX Solution:
/RW'NAF;ARC;HBPA;UML;MPL;SOIA;TOG;SM72;DMO;ERML;CMDB'
 
If projects need a profile and desktops that combines legacy product and HOPEX solutions or that combines HOPEX Solutions, a specific study is required.
 
2.11. Choose authentication mode
 
An authentication framework called UAS (Unified Authentication Service) is available.
Authentication configured with previous versions will run natively in most cases (see section 'Other checking indications' in this document). Anyway, it is recommended to consider the UAS framework capabilities:
OpenID authentication (out of the box, configuration required).
SAML2 authentication (out of the box, configuration required).
Windows authentication (out of the box, configuration required).
 
For more details, see online documentation 'Installation and Deployment : HOPEX Unified Authentication Service'.
 
2.12. Decide to keep user web settings
 
Web settings are user related settings. They contain information that can be considered as useful, ex:
List of tiles selected by user in web desktop
List of dashboards (widgets) selected by user in web desktop
Web settings persist in different folders.
 
If you need to restore this information when migrating to HOPEX V4, archive (file copy) the file MegaSettings-*.ini on the server hosting the source installation (ex: HOPEX V4.0).
With HOPEX V3.0, such files are saved in the folder:
%ProgramData%\MEGA\HOPEX V3\ClusterRoot\UserSettings
With HOPEX V4.0, such files are saved in the folder:
%ProgramData%\MEGA\HOPEX V4\ClusterRoot\UserSettings
 
2.13. Backup data
 
Check with the system administrator that all HOPEX environment have been backed up.
This means for each environment.
A .BAK file for the system database (SystemDb)
A .BAK file for each data repository
 
Check also that all customizations have been backed up (physical copy).