Deploy / Send Changes

The Deploy / Send Changes feature enables you to copy products and permission groups from one CPQ environment to another. You are able to create several versions of the same product and make any of those active at any time.
Typical use:

  • Promoting Product Models from Sandbox to Production
  • Being able to roll back to previous product version if there are problems
  • Ability for existing quotes to work with old product versions while new quotes will work with new product versions

To access the feature, go to Setup > General > Deploy / Send Changes.
A page appears, displaying environments that are connected to the current environment.

There are three sections:

  • Received From Section- Admin can see what change type is received. On the Received From section, icon for deploy will be displayed if change is not deployed yet. Otherwise, view change icon will be displayed. Delete icon will be displayed only if changes has not been deployed yet. Currently, delete icon is also displaying for deployed changes.
  • Send New Change- Admin can choose Change Type. Product is selected by default. In dropdown selection user can also choose:Permissions,Cart level Agregates, Workflow, Item Actions Workflow,CRM Integration . Click Continue to send product to another environment.
  • Sent to- Here admin can see what change type is sent.



Figure A: Deploy / Send Changes page - part 1


If your product has any attribute of type button, which has a script attached to it, then when you send product to another destination, scripts are also sent along with the attribute. This was not supported by CPQ in versions earlier than 2016.1 but now it is. This is useful feature, since you do not have to manually add scripts to button attributes upon product deploy anymore.


Changes Received From Other Environments


Deploy change When admin clicks on ‘Deploy’ change button, user will be redirected to Change Received page where admin will be able to Deploy Change and see details of the change:

  • Name
  • Description
  • Sent From
  • Data Received
  • Permission Groups(or any other criteria that user selected;Cart Level Agregates, Workflow, Item Actions Workflow,CRM Integration)
  • Update existing Permission Groups (checkbox, admin can select this checkbox, if he wants to update existing Permission Groups. This checkbox is also displayed when deploying Cart Level Aggregates, Workflow , CRM Integration(CRM Objects, Opportunity Statuses, CRM Item mappings, CRM Quote))

View
For change that was received, admin will be able to View change. When admin clicks on ‘View’ change icon in the table, page will be displayed where admin will be able to see details of the change (Figure C). Information div will be displayed on this page containing info (like a check list for the admin) about data that is sent from products and permission groups automatically vs. what admin needs to change manually in destination environment.

Figure C: Change received


Delete
Admin will be able to delete change that was sent to current environment only if change has not been deployed yet.

Figure D: Delete change


Deploy Permission Groups


When permission groups are copied between environments, CPQ will copy permission groups from source environment to destination environment. If permission group that doesn’t exist in destination environment, it will be created there. All new relevant objects – manually created permission group, brands, user types, markets and companies will be copied from one environment to another. This does not include permissions based on users. New users will not be created in destination environment if manually created permission groups is used that contains users specified in it. If certain permission group exists in destination environment, no changes will be performed on it in destination environment by default. Admin can change this behavior by selecting checkbox ‘Update Existing Permission Groups’ if he wants to update existing permission groups with received data.

Send New Change


Admin is able to send changes to the desired CPQ environment. He has to select change type and click on button Continue in order to be redirected to Send New Change Page. When admin selects Permission Groups and clicks on ‘Continue’, page will be displayed where admin will be able to define details of the Permission Groups change:

  • Name (admin define name for the change)
  • Description
  • Send to
  • Select Permission groups (this field is required)

Admin can choose whether he wants to send all permission groups or to define which permission groups will be sent to desired environment.

Figure E: Send new change


Changes Sent To Other Environments


Admin will be able to see changes that have been sent to other environments. Columns in the table are:

  • Name - Name of the change
  • Description - Description of the change
  • Sent to - Contain information about destination environment
  • Date sent - Date(and time) of when the change was sent from current environment

When admin clicks on ‘Send new change’, page will be displayed where admin will be able to define details of the change:

  • Name (admin defines name for the change) - This field is required
  • Description (admin defines description for the change)
  • Sent To (offer choice read from database table containing definitions for connected environments)
  • Select Product (This field is required)
  • Permission groups

View sent change
When admin clicks on ‘View’ sent change (for permission group), CPQ will display page that is similar to the one for sending new change. Difference will be that all fields will be read-only and button at the bottom will be labeled ‘Go Back’.


Delete
Admin will be able to delete change that was sent from current environment. When admin click on ‘Delete’ icon, CPQ will prompt admin: ‘Are you sure you want to delete this change?’ Upon deleting change, message “Change ‘’ has been deleted “ will be displayed to admin.

Deploy Products


To add products to the deployment package, go to the Deployment Packages tab.
In the Deployment Package Component section, select Product from the Package Component drop-down list. Click the Add button.


A new page displays.
On the Send New Change page, click the Add Product button. A pop-up window appears displaying all the products.
To add products to the deployment package, select the checkboxes next to the products you want to add and click the Add Selected button.
multipleproducts.jpg

When you select products for deployment, you can choose which product version is going to be added to the package.
To select a version for each product, use the Select version drop-down list.
productversion.jpg
In addition, you can also exclude certain items for each product you added.
Click Checklist next to the selected product to view the Product Sending Checklist.
You can safely exclude the following items by deselecting the checkboxes next to them:

  • Rules
  • Messages
  • Images and styles
  • Scripts
  • Shipping methods

Please note that other items from the Product Sending Checklist are mandatory.

Before adding the selected products to the package, you need to define a name for the package in the Name field.
The name of the package is automatically added as a prefix to each product name in the package, making it easier to find out which products belong to which package.
The names of the products are displayed in the Name column in the Deployment Package Component section.
In the example below, Monitor, Printer and Support are the names of the products, whereas Digital is the name of the package they belong to.
namecolumn.jpg

When products are copied between environments, CPQ copies the permission groups used to define product visibility from the source environment to the destination environment.
If a permission group used for defining product visibility does not exist on the destination environment, it will be created there. All new relevant objects such as manually created permission groups, categories, brands, user types, markets and currencies will be copied from one environment to another (along with files used to describe the objects - xslt files, branding images, CSS files, etc. New users will not be created on the destination environment if a manually created permission group that contains users specified on the destination environment is used. User identification will be done by using the username (System Id is not needed for users). If a user with the same username exists on the destination environment when a manually created permission group is being copied (and created), the user will be used in the permission group. If a user does not exist on the destination environment, the user will not be created and therefore not added to the manually created permission group.
If a certain permission group exists on the destination environment, no changes will be performed on this permission group on the destination environment (the permission group will not be updated with new data from the source environment).

Deploy Cart Level Aggregates


When cart level aggregates are copied between environments, CPQ will copy cart level aggregates from source environment to destination environment, their name and expression. If cart level aggregates that is sent doesn’t exist in destination environment, it will be created there. If cart level aggregates that is sent exists in the destination environment, CPQ will update existing aggregates only if checkbox ‘Update existing Cart Level Aggregates’ is selected.

User can choose whether he wants to send all cart level aggregates or to define which cart level aggregates will be sent to desired environment.

Deploy Workflow


If certain workflow data exists in destination environment, no changes will be performed on it in destination environment by default (it will not be updated with new data from source environment). Admin can change this behavior by selecting checkbox ‘Update Existing Workflows’ if he wants to update existing workflow tabs with received data.

When workflow tabs are deployed between environments, if it doesn’t exist, CPQ will create following data in destination environment

  • Statuses
  • Actions
  • IronPython custom actions
  • Workflow Permissions (also User Types (along with files used to describe the objects - xslt files))
  • PreActions
  • PostActions
  • Workflow conditions
  • Workflow flags

Following data will not be created in destination environment and admin must do manual change:

  • Notifications
  • Email lists
  • Required fields by Workflow Action


Deploy CRM Mappings


Admin is able to deploy CRM Mappings from one CPQ environment to another. Admin is able to deploy following sections:

  • CRM Objects
  • Custom Fields Mappings
  • Customer Roles Mappings
  • Opportunity Status
  • CRM Item Mappings (Product and Opportunity Line Item Mappings)
  • CRM Quote – Only mappings will be deployed. Parameters will not be deployed, admin should set parameters manually.

Admin is able to update existing records on following sections:

  • CRM Objects
  • Opportunity Status
  • CRM Item Mappings
  • CRM Quote



Sent automatically
Following CRM Integration data is always sent to destination environment: (CRM Objects, Custom Fields Mappings, Customer Roles Mappings, Opportunity Status, CRM Item Mappings, CRM Quote.
Manually action required
Following data are not sent to destination environment (they have to be manually copied): (Price Book Market Mappings, User Mappings, CRM Administrator Account, CRM Quote parameters, General parameters). All Custom Fields and Customer Roles Mappings will be deleted on destination environment and new mappings will be inserted from source environment.

Deploy Markets, Territories and Currencies


Admin is able to deploy markets, currencies and territories from one CPQ environment to another one. He is able to deploy all markets, all currencies and all territories.

On page ‘Deploy/Send Changes’ under General sub menu, new entries will be added as option in Change type dropdown field: Markets, Territories, Currencies. When Markets are copied between environments, CPQ will copy markets from source environment to destination environment:

  • If an market that is sent doesn’t exist in destination environment, it will be created there.
  • If certain market exists in destination environment, no changes will be performed on it in destination environment by default (Admin can change this behavior by selecting checkbox ‘Update Existing markets’ if he wants to update existing markets with received data).

When admin send Markets he will able to define details of the markets change:Name, Description and Send To. Information div with check list of what is sent from markets will be displayed on this page as well.

When Currencies are copied between environments, CPQ will copy Currencies from source environment to destination environment.

  • If an Currency that is sent doesn’t exist in destination environment, it will be created there.
  • If certain Currency exists in destination environment, no changes will be performed on it in destination environment by default (Admin can change this behavior by selecting checkbox ‘Update Existing data’ if he wants to update existing Currencies with received data).

When admin send Currencies he will able to define details of the markets change:Name, Description and Send To. Information div with check list of what is sent from Currencies will be displayed on this page as well.

When territories are copied between environments, CPQ will copy territories from source environment to destination environment:

  • If an territory that is sent doesn’t exist in destination environment, it will be created there.
  • If certain territory exists in destination environment, no changes will be performed on it in destination environment by default (Admin can change this behavior by selecting checkbox ‘Update Existing data’ if he wants to update existing territories with received data).

When admin send territories he will able to define details of the markets change:Name, Description and Send To. Information div with check list of what is sent from territories will be displayed on this page as well

Deploy Categories


Admin is able to send changes to desired CPQ environment. He has to select change type and click on button Continue in order to be redirected to Send New Change Page (found under Setup→General→Deploy/Send Changes). When admin selects Categories and clicks on ‘Continue’, page will be displayed where admin will be able to define details of the categories change:

  • Name (admin defines name for the change)
  • Description (admin defines description for the change)
  • Send To (offer choice read from database table containing definitions for connected environments)
  • Categories that will be sent




When categories are copied between environments, CPQ will copy categories from source environment to destination environment:

  • If a category that is sent doesn’t exist in destination environment, it will be created there. (All new relevant objects – images will be created if they don’t exist)
  • If certain category exists in destination environment, no changes will be performed on it in destination environment by default (it will not be updated with new data from source environment). Admin can change this behavior by selecting checkbox ‘Update Existing category’ if he wants to update existing categories with received data. Following data are sent automatically to destination environment: Categories, Images, Permissions, Parent categories. Sub categories are not sent automatically and has to be manually copied.



Changes Sent To Other Environments

For change that was sent, admin is able to:

  • View sent change (CPQ will display page that is similar to the one for sending new change, but all fields are read-only and button at the bottom is labeled ‘Go Back’)
  • Delete (Admin is able to delete change which means removing entry about change that was sent from the table in current environment))



Changes Received From Other Environments

For change that was received, admin is able to:

  • Deploy change
  • When admin clicks on ‘Deploy’ change button, he will be redirected to Change Received page where admin is able to Deploy Change and see details of the change (Name, Description, Sent from, Data Received, Categories and Update existing categories)
  • View
  • When admin clicks on ‘View’ change, page will be displayed where admin will be able to see details of the change. Information div will be displayed on this page containing info (Categories Sending checklist for the admin) about data that is sent from categories automatically.
  • Delete
  • Admin is able to delete change that was sent to current environment ONLY if change has not been deployed yet.

Deploy Notifications


Admin is able to deploy all notifications or select which notifications to deploy to target CPQ environment. When notifications are copied between environments, CPQ copies notifications from source environment to destination environment:

  • If a notification that is sent doesn’t exist in destination environment, it will be created there. (All new relevant objects – notifications, parsable attachments, non-parsable attachments, email lists and user types)
  • If certain notification exists in destination environment, no changes will be performed on it in destination environment by default (it will not be updated with new data from source environment). Admin can change this behavior by selecting checkbox ‘Update existing Notifications’ if he wants to update existing notifications with received data.

Following data are sent automatically to destination environment: Notifications, Parsable attachments, Non-parsable attachments, Email lists and User Types. Users are not sent automatically and have to be manually copied.

Changes Sent To Other Environments

For change that was sent, admin is able to:

  • View sent change (CPQ will display page that is similar to the one for sending new change, but all fields are read-only and button at the bottom is labeled ‘Go Back’)
  • Delete (Admin is able to delete change which means removing entry about change that was sent from the table in current environment))



Changes Received From Other Environments

For change that was received, admin is able to:

  • Deploy change

When admin clicks on ‘Deploy’ change button, he is redirected to Change Received page where admin is able to Deploy Change and see details of the change (Name, Description, Sent from, Data Received, Notifications and Update existing Notifications)

  • View

When admin clicks on ‘View’ change, page is displayed where admin is able to see details of the change. Information div is displayed on this page containing info (Notifications Sending checklist for the admin) about data that is sent from notifications automatically.

  • Delete

Admin is able to delete change that was sent to current environment ONLY if change has not been deployed yet.

Deploy User Types


Admin is able to send changes to desired CPQ environment. He has to select change type and click on button Continue in order to be redirected to Send New Change Page (found under Setup→General→Deploy/Send Changes). When admin selects User types and clicks on ‘Continue’, page will be displayed where admin will be able to define details of the User Types change:

  • Name (admin defines name for the change)
  • Description (admin defines description for the change)
  • Send To (offer choice read from database table containing definitions for connected environments)
  • Select User Types (Admin can choose whether he wants to send all user types or to define which user types will be sent to desired environment )



When user types are copied between environments, CPQ will copy user types from source environment to destination environment:

  • If user type that is sent doesn’t exist in destination environment, it will be created there (All new relevant objects – category, all xslt files will also be created if they don’t exist).
  • If certain user type exists in destination environment, no changes will be performed on it in destination environment by default (it will not be updated with new data from source environment). Admin can change this behavior by selecting checkbox ‘Update Existing User Types’ if he wants to update existing user types with received data.

Following data are sent automatically to destination environment: User Types, Start category, All xsl files.

Changes Sent To Other Environments

For change that was sent, admin is able to:

  • View sent change (CPQ will display page that is similar to the one for sending new change, but all fields are read-only and button at the bottom is labeled ‘Go Back’)
  • Delete (Admin is able to delete change which means removing entry about change that was sent from the table in current environment))



Changes Received From Other Environments

For change that was received, admin is able to:

  • Deploy change
  • When admin clicks on ‘Deploy’ change button, he will be redirected to Change Received page where admin is able to Deploy Change and see details of the change (Name, Description, Sent from, Data Received, User types and Update existing categories)
  • View
  • When admin clicks on ‘View’ change, page will be displayed where admin will be able to see details of the change. Information div will be displayed on this page containing info (Categories Sending checklist for the admin) about data that is sent from categories automatically.
  • Delete

Admin is able to delete change that was sent to current environment ONLY if change has not been deployed yet.

Deploy Approval Rules


When admin selects Approval Rule and clicks on ‘Continue’, page is displayed where admin is able to define details of the approval rules change:

  • Name (admin defines name for the change)
  • Description (admin defines description for the change)
  • Send To (offer choice read from database table containing definitions for connected environments)
  • Approval Rules that will be sent



When approval rules are copied between environments, CPQ copies approval rules from source environment to destination environment:

  • If approval rule that is sent doesn’t exist in destination environment, it will be created there. (All new relevant objects – approval rules, custom approver selection logic, user types and companies)
  • If certain approval rule exists in destination environment, no changes will be performed on it in destination environment by default (it will not be updated with new data from source environment). Admin can change this behavior by selecting checkbox ‘Update existing approval rules’ if he wants to update existing approval rules with received data.
  • Following data are sent automatically to destination environment: Approval rules, Custom approver selection logic, Selected approvers, Delegation of approvals, User Types and Companies.

New users will not be created in destination environment for selected approvers.

Changes Sent To Other Environments

For change that was sent, admin is able to:

  • View sent change (CPQ will display page that is similar to the one for sending new change, but all fields are read-only and button at the bottom is labeled ‘Go Back’)
  • Delete (Admin is able to delete change which means removing entry about change that was sent from the table in current environment))

Changes Received From Other Environments
For change that was received, admin is able to:

  • Deploy change
  • When admin clicks on ‘Deploy’ change button, he is redirected to Change Received page where admin is able to Deploy Change and see details of the change (Name, Description, Sent from, Data Received, Approval Rules and Update existing approval rules)
  • View
  • When admin clicks on ‘View’ change, page is displayed where admin is able to see details of the change. Information div is displayed on this page containing info (Approval Rules Sending checklist for the admin) about data that is sent from approval rules automatically.
  • Delete

Admin is able to delete change that was sent to current environment ONLY if change has not been deployed yet.

Deploy Global Scripts


When deploying global scripts, the following data is sent to the destination environment:

  • Scripts
  • Events
  • Script history

When you select a script for deployment, you can also select which versions of the script are sent to the destination environment. The active version is always preselected, but you can select as many versions as you want.
Select the checkbox next to the script version you want to send. Hover over the script version to view its content.
Please note that the most recent script version you select on the target environment will be active on the destination environment.

Once the package containing the script is sent to the destination environment, go to the destination environment.
On the destination environment, go to Setup > Develop > Global Scripts. Locate the script you deployed and click to view it.
In the History tab, you can see when the script was created and on what environment, as well as whether there are various versions of the script.
You can also view description changes for each version in the Description column.


In addition, you can compare two versions of the script.
To do so, select the checkboxes next to the two versions you want to compare and click the Compare button.

Deploy Custom Fields


When deploying custom fields, the following data is sent:

  • Tabs where custom fields are placed
  • Calculation types and calculation formulas (if formulas are provided)
  • Permissions
  • Attributes

Note: Quote custom tabs need to be manually copied to the destination environment.


Deploy Custom Tables

When deploying custom tables, you can either select all tables or just the tables you want to deploy.
To select multiple tables from the list, use CTRL+click.



Note: The maximum size limit of the custom tables that are sent to the destination environment is 20MB.

Deploy Custom Actions


When deploying custom actions, you can either select all actions or just the actions you want to deploy.
To select multiple actions from the list, use CTRL+click.

The following data is sent to the destination environment:

  • Name
  • SystemID
  • Placement
  • Primary flag
  • Image
  • Conditions tied to the custom action
  • Script

Deployment Templates


Deployment templates enable you to create templates containing as many products as you need. Templates can be applied to any package and reused for future deployments. As a result, deployments to production environments are easier and the deployment process is more streamlined.

Create a Template

In January, you decide to create a template containing the following products: Project Management, Software Evaluation and Software Implementation.
To create a template, take the following steps:

  • Go to Setup > General > Deploy / Send Changes > Deployment Templates.
  • Click Create Template.
    A new page displays.
  • In the Name field, enter a name for the template (January Deployment).
  • Click Add Product.
    A pop-up window displaying all available products appears.
  • Select the checkboxes next to the Project Management, Software Evaluation and Software Implementation products.
  • Click Add Selected.
    The selected products display in the Select Product field.
  • From the Select version drop-down list, select a version for each product.
  • Click Checklist next to each product to view the Product Sending Checklist for the product.
  • On the Product Sending Checklist, deselect the checkboxes next to the items you want to exclude.
    In this example, Scripts are excluded from the checklist that is sent with the product Software Implementation.



  • Save the template.
    You can inspect the content of the template by clicking
    next to the template name.



Apply the Template

To apply the newly created template to a package, go to the Deployment Packages tab.

  • Click Create Package.
  • In the Create New Package section, enter a name for the package (January).
  • In the Deployment Package Component section, select Apply Template.
    The Select Template drop-down list appears.
  • Select the template you want to apply (January Deployment).



  • Click Add.
    Products from the template you applied are listed in the package.


  • Click Save.
  • Click to send the package to the destination environment.


Re-apply the Template

In February, you decide to attach a global script to Software Implementation. Instead of manually creating a completely new package to send the product change to the destination environment, you can re-apply the template you created for January deployment.
To re-apply the template, go to Setup > General > Deploy / Send Changes > Deployment Packages.

  • Click Create Package.
  • In the Create New Package section, enter a name for the package (February).
  • In the Deployment Package Component section, select Apply Template.
  • Select January Deployment from the Select Template drop-down list.
  • Click Add.
    The template automatically obtains the latest product updates (i.e. the added global script) and populates the package.
  • Click Save.
  • Click to send the package to the destination environment.


You can view the package deployed in January as well as the one deployed in February by clicking the Deployment Packages tab.


In addition, you can also download a package. To do so, click next to the package name.
Tip: When you download both packages, you can upload them to Git and compare their XML files to see what changed.

You are here: CallidusCloud CPQ Online HelpAdmin Page HelpGeneral SettingsDeploy / Send Changes