Set up a project
Purple Experience Builder
Deploy Resources to Multiple Brands
9min
this article explains how to use the purple experience builder to provide dynamic resources to multiple brands working in the purple experience if you have multiple brands in your portfolio and want to use the same logic and templates, but vary logos, colours, etc , you can define one of your purple apps as a parent that will provide new features to its children to make this approach work, you will define protected files for the apps to prevent overwriting files needed for the different look and feel of the child apps deployment only affects the 'preview' dynamic resources of the main and target apps, and you still need to manually copy the dynamic resources to 'release' once you are satisfied that the 'preview' looks good any (scss) pipeline must be executed on the builder to be applied preconditions create or edit an existing builder config json inside the /default folder in the experience builder here is a basic example as well as a minimal and one with pipelines /default/builder config json { "$schema" "https //builder purplemanager com/api/public/schema/1 0/builder config schema json", "deployment" { "mainappid" "insert the main app id here", "targetapps" { "id of target app 1" { "protectedfiles" \[ "default/app menu xml" ] }, "id of target app 2" { "protectedfiles" \[ "default/app menu xml" ] }, "id of target app 3" {} }, "protectedfiles" \[ "default/storefront/assets/experience config json", "default/storefront/assets/styles/index scss", "default/storefront/assets/custom css", "default/storefront/robots txt" ] } } minimal { "$schema" "https //builder purplemanager com/api/public/schema/1 0/builder config schema json", "deployment" { "mainappid" "7e26fa47 e5af 4c3e 9c3a 01cf2763be64", "targetapps" { "ac375129 5b90 4d11 a319 789caf2e17a3" {} } } } with pipelines { "$schema" "https //builder purplemanager com/api/public/schema/1 0/builder config schema json", "postprocessing" { "pipelines" { "style1" { "type" "sass", "input" "default/storefront/assets/styles/index scss", "output" "default/storefront/assets/custom css" } } }, "deployment" { "mainappid" "7e26fa47 e5af 4c3e 9c3a 01cf2763be64", "targetapps" { "ac375129 5b90 4d11 a319 789caf2e17a3" { "protectedfiles" \[ "default/app menu xml" ] }, "6fe16dcc 4250 4468 9290 81c4c63e30b1" { "protectedfiles" \[ "default/app menu xml" ] }, "ff7599c4 bcfa 460c b0da fc88aa869410" {} }, "protectedfiles" \[ "default/builder config json", "default/storefront/assets/experience config json", "default/storefront/assets/styles/index scss", "default/storefront/assets/custom css", "default/storefront/robots txt" ] } } legend to the above code mainappid the main app for this deployment all non brand specific changes should be done to this app only! targetapps the target apps to which the main app is deployed (excluding global and app specific protected files) protectedfiles files to exclude from copying for all apps deployment process (preview) when the preconditions are met, there will be a new menu entry at the top right hamburger menu in experience builder, called deploy to target apps clicking on deploy to target apps opens a dialog it shows a list of all target apps (they are links to the app) it also shows the current state of the deployment 'deploy to target apps' dialog you have the option to change the configuration file inside the dialog directly deployment status configuration file when you start a deployment, the dialog shows the status of the current deployment on the current app as well as on any target apps (while the target app is not finished being deployed) deployment status file deployment process (purple app release version) we currently don't support a deployment process for to the release versions of your purple apps you have to manually download the dynamic resources from the preview app and upload it to the release app this can be done inside the purple manager > select your app > 3 dot menu > dynamic alternatively each app also has a quick link to the correct purple manager page (seen below) quick link to purple manager page faq q i can't see the deploy to target apps menu entry a the builder config json is either misconfigured or doesn't exist please make sure that it does follow the json guidelines and does not have any trailing commas q when i open an app i see the deployment status dialog and can't close it a this happens when a deployment is triggered from the main app, while the deployment process is in progress your app will be available (the dialog does disappear by itself) as soon as your app is deployed q the deployment dialog didn't update for a while, what should i do? a this can happen when the experience builder gets redeployed by a developer due to a current bug while being redeployed, the deployment data stored on the server can not be cleared the data does clear itself after 60 seconds which then will allow you to edit apps again, but you have to refresh the page q i get the following message when i hover the deploy to target apps entry "this is a target app for a deployment, to make changes to the deployment config open the main app or change the mainappid" a this happens when you are inside of a target app and this message functions mainly as a quick link to the main app if you are inside of the main app and get the message, then change the mainappid inside the builder config json q i get the following message when i hover the deploy to target apps entry "in your deployment config is the property mainappid missing, add it to enable this menu entry" a this message comes when the mainappid inside the builder config json is missing, the property is used when the json is populated to the target apps to differentiate if this is the main app or a target app q i get the following message when i hover the deploy to target apps entry "in your deployment config are no target apps configured, add one to enable this menu entry" a this message comes when the targetapps inside the builder config json is missing or empty this basically means you have no apps to deploy to so no reason to enable the menu entry