HomeDev GuideAPI Reference
Dev GuideAPI ReferenceLegal TermsDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Code package format

Describes how to create code packages when deploying through the Deployment API for Optimizely Digital Experience Platform (DXP).

Code package naming convention

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 type – Values are:
    • cms (primary Web App)
    • commerce (commerce manager)
  • version – You can specify in different ways such as using a "date format" or a version number.

Examples

cms.app.1.0.0.nupkg  
customer.cms.app.1.0.0.nupkg ("customer" being the "app name")  
commerce.app.20190311103000.nupkg (version defined in a date/time format)

Code package content

The package should contain the Web App-related files, which normally exists at the path D:\\Home\Site on the actual Azure Web App.

Only folders and files related to the code are allowed (that is, wwwroot, applicationHost.xdt), and a metadata file (optional) that should follow the package name.

Sample folder structure

  • myapp.cms.app.1.0.0.nupkg
    • wwwroot
      • App_Data
        • jobs
          • continuous
            • WebJob
              • Run.cmd
              • ...
              • ...
              • ...
      • Web.config
      • Web.Integration.config
      • Web.Preproduction.config
      • Web.Production.config
    • applicationHost.xdt (optional)
    • applicationHost.Preproduction.xdt (optional)
    • applicationHost.Production.xdt (optional)
    • myapp.cms.app.nuspec (optional)

Transforms in any target environment need to be a part of the initial code package.

You can download an Optimizely Content Management System (CMS) sample site (Alloy) package example here: alloy.cms.app.1.2.1.nupkg

Create a code package

You can create a package by deploying to a folder and zipping this folder.

Example:

msbuild /p:
Configuration=Release;
DeployOnBuild=True;
DeployDefaultTarget=WebPublish;
WebPublishMethod=FileSystem;
PublishProvider=FileSystem;
LastUsedBuildConfiguration=Release;
ExcludeApp_Data=False;
publishUrl=..\SitePackageContent\wwwroot;DeleteExistingFiles=False

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.