The first step to use the API is to bundle your web application into a code package. Use the following conventions when you name a code package (a package containing Web App binaries, configuration and so on).
<app name>.<package type>.app.<version>.nupkg
App name- Optional.
Package types- Values are cms (primary Web App).
Version- You can specify in different ways such as using a "date format" or a version number.
Example code package names
(In this example,
customer is the
The package should contain the Web App-related files.
Only folders and files related to the code are allowed (such as wwwroot, binaries, and appsettings.json) and a metadata file (optional) that follows the package name.
Sample folder structure
myapp.cms.app.1.0.0.nupkg wwwroot appsettings.json appsettings.Integration.json appsettings.Preproduction.json appsettings.Production.json dxpPlatformSettings.json myapp.dll ...... myapp.cms.app.nuspec (optional)
Environment configurations need to be a part of the code package.
You can download an Optimizely Content Management System (CMS) sample site (Alloy) package example here: alloy-linux.cms.app.20230221.nupkg
You can create a package by deploying to a folder and zipping this folder, as shown in the following example.
dotnet publish ~/projects/myapp/myapp.csproj
You can zip this folder (
SitePackageContent in the example) as
cms.app.1.0.0.nupkg to make it a deployment package that you can use in DXP.
To support making some additional configurations, you can include
dxpPlatformSettings.json, which should follow the JSON schema published here: <<https://schema.episerver.net/paasportal/2022-03-24/platformschema.json>>
This lets you explicitly specify what entry point to use for your application, if it contains multiple assemblies and you are worried the wrong one might be used.
This also allows for the installation of additional platform packages that extends the image beyond what is normally allowed in a code package, such as the installation of a newer NodeJs version
Updated 4 months ago