Updating Desktop/Server to a newer version

Answering the question:

In anticipation of an upcoming Server / Desktop version upgrade, I wanted to understand if there are any impacts to projects created in earlier versions of EasyMorph, post the Desktop / Server upgrade e.g. are there any impacts to users such as them needing to save their projects as a new version, or any other impacts?

EasyMorph Desktop
Typically, projects created/saved in new versions are not backwards compatible with previous versions of EasyMorph. However, all projects created in older versions can always be opened in newer versions. They will be converted implicitly, no extra action required from users.

When after updating EasyMorph a user opens a project created in a previous version, but doesn't save it, it will still be possible to open it in that previous version. If a user opens and saves a project in a new version then it won't be possible to open it in any previous version.

The project file format always changes when updating to a major version (e.g. from 3.8 to 3.9). The project file format sometimes changes when updating to a minor version (e.g. from 3.9 to 3.9.1), but not always.

:pushpin: From a practical perspective, it means that after updating EasyMorph users can keep working with their projects as usual, without migrating them to a newer version explicitly. However, if a user saved/modified project in a newer version, their colleagues may not be able to open it if they haven't updated their own installations of EasyMorph yet.

In rare cases, converting a project from a previous version may require user attention (e.g. when project behavior may potentially change). In this cases, on opening the project EasyMorph will show a migration report with all necessary warnings. Once the report is dismissed and the project is saved in the new version it won't show up again.

EasyMorph Server
The Server doesn't modify projects, therefore it can work with any project created in a previous or the current version.

The Server tasks and configuration files are upgraded automatically on the first launch of a new version. No extra actions required from administrator. However, keep in mind than when task and configuration files have been upgraded they are no longer compatible with previous versions.

If you wish to restore from a backup a snapshot of tasks and configuration files of an older version, the sequence of actions should be as follows:

  1. Uninstall EasyMorph Server
  2. Restore tasks and configuration files from a backup. Note that older versions may have a different folder structure and file formats than the current version.
  3. Install EasyMorph Server again. Folder structure will be modified during installation. Tasks and configuration files will be converted automatically.

:pushpin: From a practical perspective, it is recommended to update EasyMorph Server first, then Desktops.

Data connectors
Once in a while (but not with every new release) the format of connector repository files also changes. It means that repositories modified in newer versions may not be possible to open in older versions.

Even when the format of repository doesn't change, new connector types can still be introduced. Such connectors won't work in previous versions and will be shown either as "Unknown connector type" in versions 3.8 and later, or just fail to open in versions prior to 3.8.

Relating to version upgrades, we made a change on the EM Server to the DataTypesMap.xml file located by default here: C:\Program Files\EasyMorph Server\config\DataTypesMap.xml. Namely, we changed the TypeDate from ‘DATE’ to ‘DATETIME’. Would this file be impacted as a result of an upgrade ie: do we need to reapply the change post EM Server version upgrade? Thanks.

Yes, it would be impacted. Customized DataTypesMap.xml will be overwritten with a default one. You will need to back it up, and then copy back after updating.

Note that starting from version 3.9.1 we’re introducing advanced data types for creating database tables. Therefore DataTypesMap.xml will be no longer needed and will be eventually deprecated.