If you are upgrading from a version before Litium 5, please read the information about upgrading to Litium 5, in addition to this section.
Litium 7 is a major version and includes several larger structural changes. For a successful upgrade to Litium 7, it is recommended to learn more about:
An upgrade is carried out in two steps, first upgrade the platform and then upgrade the solution. The upgrade package only updates the platform, not any add-ons or customer specific solutions.
Upgrade the Litium platform
Upgrading the database
Before taking any further steps, make sure you have a backup of your database and any other files. Also make sure you have taken all precautions necessary to be able to roll back the upgrade procedure.
If your you are running Litium version 4.7.x or earlier, the first thing you must do is an upgrade to 4.8. Then you can use the upgrade scripts for Litium 7.
Detailed instructions on upgrading the platform
Upgrade your solution
Binding redirects
If there are custom assemblies that are compiled with older versions of Litium, they may still work with a newer version of Litium, provided there are no breaking changes. However, if you don't add the correct binding redirects, you may get run time errors after upgrading. Usually these errors occur because the correct version of the Litium assembly cannot be found.
There may also be an error message about not finding a method implementation, for example "Method x in type T in assembly A with public key token xxxx does not have an implementation".
To let the old assemblies work with newer versions you need to add binding redirects. Visual Studio may be adding these binding redirects automatically.
A typical warning in Visual Studio in the above case would look as follows. Double clicking the warning automatically resolves the binding redirects. If you don't resolve the binding redirects a run time error will occur.

New API for Websites
The new API that was introduced for the Products area in Litium 5 and Customers and Media in Litium 6 has been expanded and now also covers the Websites area. Dashboard and Sales use the same API as in 4.8.
Any code that handles entities in the Websites area, for example page and block, needs to be reviewed and adjusted to work with the new API.
This page lists some of the changes between the old and new API.
Learn more about the new API.
Complete API documentation.
Field framework
The new field framework that was introduced for Customers and Media in Litium 6 has now been implemented for Websites. The Sales area still uses the old field framework.
One of the advantages of the new field framework is the possibility to define custom field types. This eliminates the need to create entity panels, that had to be done through an extension in Litium 4.8.
A new multi-field field type has been introduced in Litium 7, that makes it possible to build custom field types that contain other standard fields.
Creating a custom field type
Custom field type
After upgrading the Litium platform, any custom field type project should be rebuilt. This goes for both back- and front-end projects. Let's take the Litium.Accelerator.FieldTypes project as an example. Here is how to rebuild it after upgrading the Litium platform:
For the back-end project, simply rebuild the solution using Visual Studio.
For the front-end project, the build steps are slightly different depending on whether you are using NPM or Yarn to manage packages. Navigate to the Litium.Accelerator.FieldTypes folder, and execute these commands:
If you are using NPM:
npm install
npm run prod
If you are using Yarn:
Delete the yarn.lock file.
Delete the folder node_modules\litium-ui.
Execute these commands:
yarn cache clean
yarn install --check-files
yarn run prod
For Litium 7.4 and higher version
Since Litium 7.4, Angular CLI is used to build custom Field Type component. This to reduce the amount of build configuration as well as get benefit from what Angular CLI can do. In order to upgrade your existing solution, please download the latest Accelerator package and replace corresponding files your existing Accelerator:
- Src\BuildClientProjects.ps1
- Src\angular.json
- Src\package.json
- Src\Litium.Accelerator.FieldTypes\config\
- Src\Litium.Accelerator.FieldTypes\tsconfig.json
- Src\Litium.Accelerator.FieldTypes\tslint.json
- Src\Litium.Accelerator.FieldTypes\src\Accelerator\main.ts
- Src\Litium.Accelerator.FieldTypes\src\Index.cshtml
Litium 7.5 comes with Angular 9 but without the new Ivy compilation. The system will support Ivy in the future. In the meantime, Src\Litium.Accelerator.FieldTypes\tsconfig.json file should be modified to disable Ivy by adding this configuration:
"angularCompilerOptions": {
"enableIvy": false
},
Then delete Src\Litium.Accelerator.FieldTypes\node_modules folder and execute BuildClientProjects.bat.
The image resizer
Since Litium 7.4, MagickNET library is used to resize image. This library required the application pool identity write permission for the MagickNET temp directory. The MagickNET temp directory is "C:\Windows\Temp" by default.
Internal users and groups
The internal users and groups under Settings have been removed. All users and groups are now handled in one single location in the Customers area.
Web controls
If you are still using old WebForms, consider upgrading to Microsoft MVC to get benefits for all performance improvements and be more future proof. All Litium web controls that are using any of the old websites (CMS part) need to be upgraded in the project.