When attempting to import a project after you have upgraded your TimeXtender software, you may encounter an error that looks like this:
Cannot import project from the file <path> for the following reason:
The project xml was generated in TimeXtender <version>
The project cannot be imported.
In order to understand why this happens and how to work around the issue, it helps to understand a bit more about the upgrade process.
Understanding the problem
The repository upgrade process
The project repository contains all of the metadata for all of your projects. When new features and fixes are introduced to TimeXtender, the structure of the repository will often change. The upgrade process will safely alter any projects to match the new shape of the repository database. However, this process happens only once, and only affects the projects already stored in the repository.
A project export contains the metadata for a specific project, and is essentially an XML snapshot of that project's current state in a project repository. To successfully import the project, it must be brought into a repository that is exactly the same shape. Because upgrades often change the shape of a repository database, trying to import a project from a different version is like trying to fit a square peg into a round hole - it just doesn't work.
On unlocked project exports, it's possible to manually edit the file and update the <Version> property value under the <Projects> node. This may allow you to import into a slightly different TimeXtender version, but only if there are no structural differences between the export and the repository. Because of that, this method doesn't work very often, but can be a very fast fix when it does.
Upgrading your project export
In order to reliably import your project export into a newer version, you will need a copy of TimeXtender of the same version as your export, as well as a current version of TimeXtender. You can then use the following steps to upgrade the project export:
- Open the old version of TimeXtender
- Create a new repository
- Import the project
- Close the old version of TimeXtender and open the new version
- Under general settings, select the repository you just created
- You will be prompted to upgrade the repository - do so
- Open the project you previously imported
- Export the project - it has now been upgraded
- In general settings, select your primary project repository
- Import the new project export into your primary repository
Note that the upgrade process cannot be run in reverse. This means that if altering the export's XML does not work, it will not be possible to import a project into an older version of TimeXtender.