Winter '20 - Upgrade Instructions

Updated 1 hour ago by Copado Solutions

Important Considerations Before Upgrading to Winter '20

  • This is a major release. Please refer to the relevant section depending on the version from which you are upgrading and read these instructions carefully before upgrading. Test on a sandbox first.
  • If you have not yet installed this version of Copado, you can do so in our Success community.
  • If you are upgrading from a version prior to Summer '19, follow the relevant upgrade instructions in the Release Notes section up to Winter '20.
  • If you are using the Copado_User permission set, it is not required to follow the OLS, FLS, and tab visibility upgrade instructions.

Upgrade Instructions from Summer '19 to Winter '20

Follow these instructions if you are upgrading to Winter '20 from Summer '19.

OLS, FLS for New Objects Fields and Tab Visibility

Make sure relevant profiles and permission sets have access to the following objects and fields:

Copado Core

Type

Name/Label

API Name

CustomObject

Git Repository

copado__Git_Repository__c

CustomField

Source Format

copado__Source_Format__c

Type

Name/Label

API Name

CustomObject

Snapshot Difference

copado__Snapshot_Difference__c

CustomField

Format

copado__Format__c

The following fields are new, but they are not available in the layout. However, please make sure the relevant profiles and permission sets have visibility of these fields:

Type

Name/Label

API Name

CustomObject

Deployment

copado__Deployment__c

CustomField

Deployment Type

copado__Deployment_Type__c

CustomField

Deployment Last Step

copado__Deployment_Last_Step__c

CustomField

Deployment Source Type

copado__Deployment_Source_Type__c

CustomField

Source Environment

copado__Source_Environment__c

Change Management

There are three new fields in the Data deployment step: Match Owner, Match Record Type and Attachment Options. No upgrade instructions are required, as these fields will be already available when selecting a Data step.

Copado Continuous Delivery

Type

Name/Label

API Name

CustomObject

Connection Behavior

copado__Connection_Behavior__c

CustomField

Back-Promotion Behavior

copado__Back_Promotion_Behavior__c

CustomField

Back-Promotion Schedule

copado__Back_Promotion_Schedule__c

CustomField

Back-Promotion Scheduled Job ID

copado__Back_Promotion_Scheduled_Job_ID__c

CustomField

Deployment Behavior

copado__Promotion_Behavior__c

CustomField

Deployment Schedule

copado__Promotion_Schedule__c

CustomField

Deployment Scheduled Job ID

copado__Promotion_Scheduled_Job_ID__c

CustomField

Description

copado__Description__c

CustomField

Schedule Back-Promotions

copado__Schedule_Back_Promotion__c

CustomField

Schedule Deployments

copado__Schedule_Promotion__c

CustomField

Scheduled Back-Promotions Max Batch Size

copado__Max_Scheduled_Back_Promotion_Batch_Size__c

CustomField

Scheduled Deployment Max Batch Size

copado__Max_Scheduled_Promotion_Batch_Size__c

CustomField

Story Status After Deployment

copado__Story_Status_After_Deployment__c


Type

Name/Label

API Name

CustomObject

Metadata Group

copado__Metadata_Group__c

CustomField

Description

copado__Description__c


Type

Name/Label

API Name

CustomObject

Metadata  Item

copado__Metadata_Group_Item__c

CustomField

Metadata Name

copado__Operator__c

CustomField

Metadata Type

copado__Type__c

CustomField

Parent Group

copado__Metadata_Group__c

CustomField

Value

copado__Value__c


Type

Name/Label

API Name

CustomObject

Quality Gate

copado__Quality_Gate__c

CustomField

Apex Test Level

copado__Test_Level__c

CustomField

Compliance Rule Group

copado__Compliance_Rule_Group__c

CustomField

DataJSON

copado__DataJSON__c

CustomField

Manual Task Owner

copado__Manual_Task_Owner__c

CustomField

Metadata Group

copado__Metadata_Group__c

CustomField

Parent Connection Behavior

copado__Connection_Behavior__c

CustomField

Selenium Test Group

copado__Selenium_Test_Group__c

CustomField

Static Analysis Score Threshold

copado__Score_Threshold__c

CustomField

Static Code Analysis Settings

copado__Static_Code_Analysis_Settings__c

CustomField

Type

copado__Type__c


Type

Name/Label

API Name

CustomObject

Filter

copado__Filter__c

CustomField

Owner

copado__Owner__c

CustomField

Parameters

copado__Parameters__c

CustomField

Pipeline

copado__Pipeline__c

CustomField

Share With

copado__Share_With__c


Type

Name/Label

API Name

CustomObject

Environment

copado__Environment__c

CustomField

Latest Deployment

copado__Latest_Deployment__c

CustomField

Latest Deployment Status

copado__Latest_Deployment_Status__c

CustomField

Incoming Connection Behavior

copado__Connection_Behavior__c


Type

Name/Label

API Name

CustomObject

Deployment

copado__Deployment__c

CustomField

Paused

copado__Paused__c


Type

Name/Label

API Name

CustomObject

Static Code Analysis Result

Static_Code_Analysis_Result__c

CustomField

Deployment Step

copado__Deployment_Step__c


Type

Name/Label

API Name

CustomObject

Compliance Scan Result

copado__Compliance_Scan_Result__c

CustomField

Deployment Step

copado__Deployment_Step__c


Type

Name/Label

API Name

CustomObject

Step

Step__c

CustomField

Read Only

copado__Read_Only__c


Type

Name/Label

API Name

CustomObject

User Story

copado__User_Story__c

CustomField

Manual Step Required

Manual_Step_Required__c

Type

Name/Label

API Name

CustomObject

Pipeline Connection

copado__Deployment_Flow_Step__c

CustomField

Connection Behavior

copado__Connection_Behavior__c

CustomField

Connection Behavior Override

copado__Connection_Behavior_Override__c


Advanced Data Deploy

Type

Name/Label

API Name

CustomObject

Data Template

copado__Data_Template__c

CustomField

Active

copado__Active__c

CustomField

Attachment Options

copado__Attachment_Options__c

CustomField

Batch Size

copado__Batch_Size__c

CustomField

Continue on Error

copado__Continue_on_Error__c

CustomField

Description

copado__Description__c

CustomField

Filter Logic

copado__Filter_Logic__c

CustomField

Main Object

copado__Main_Object__c

CustomField

Match Owners

copado__Match_Owners__c

CustomField

Match Record Type

copado__Match_Record_Type__c

CustomField

Max Record Limit

copado__Max_Record_Limit__c

CustomField

Template Source Org

copado__Template_Source_Org__c


Type

Name/Label

API Name

CustomObject

AuxiliaryObject

copado__AuxiliaryObject__c

CustomField

Data Template

copado__Data_Template__c

CustomField

Static Code Analysis Settings

copado__Static_Code_Analysis_Settings__C


Tabs
  • Connection Behavior
  • Data Template
  • Metadata Group


FieldSets, Visualforce Pages and Apex Classes

Navigate to Setup > Installed Packages > Copado Deployer > View Components and make sure you have the below field sets, Visualforce pages, Apex triggers and Apex classes.


FieldSets

  • Pipeline_Deployment_Modal

Visualforce Pages

  • DW_Intermediary
  • DW_Source
  • DW_Target
  • DW_SelectChanges  
  • DW_Overview
  • DW_Deployment
  • DW_Summary
  • DataTemplateImport
  • ScheduleCopadoScheduledJob
  • ScheduleConnectionBehavior
  • CCD_CreateQualityGate
  • CCD_CreateMetadataGroupItem
  • UserStoryReadyForPromote
  • DataTemplateSetup

Apex Triggers

  • UserStoryChangeEventTrigger
  • PromotionChangeEventTrigger

Apex Classes

  • DW_IntermediaryExtension
  • DW_SourceExtension
  • DW_TargetExtension
  • DW_SelectChangesExtension
  • DW_OverviewExtension
  • DW_DeploymentExtension
  • DW_SummaryExtension
  • MetadataDeploymentService
  • DeploymentInterface
  • DeploymentHelper
  • WorkPushService
  • WorkDisplayService
  • WorkSetService
  • WorkSubmitService
  • CliSecurityService
  • CliProxy
  • CLIInterface
  • CliSfDataWrapper
  • DataTemplateObjectResultController
  • DataTemplateImportExtension
  • PromotionChangeEventTriggerHandler
  • ScheduleCronExpressionController
  • ScheduleConnectionBehaviorController
  • CCD_CreateMetadataGroupItemExtension
  • CCD_CreateQualityGateExtension
  • ConnectionBehaviorTriggerHandler
  • ConnectionBehaviorTriggerHelper
  • UserStoryReadyForPromoteExtension
  • UserStoryChangeEventTriggerHandler
  • CCD_BackPromotionBatch
  • CCD_BackPromotionSchedule
  • CCD_BothPromotionQueueable
  • CCD_PromotionBatch
  • CCD_PromotionSchedule


Layouts

Add the fields, buttons and related lists to the required layouts:

User Story

  • Add new button: Submit (Ready_for_Promotion).

Environment

Add the following fields to the Environment Layout:

  • Latest Deployment (copado__Latest_Deployment__c).
  • Latest Deployment Status (copado__Latest_Deployment_Status__c).
  • Incoming Connection Behavior (copado__Connection_Behavior__c).

Pipeline Connection

Add the following fields to the Deployment Flow Step Layout:

  • Connection Behavior (copado__Connection_Behavior__c ).
  • Connection Behavior Override (copado__Connection_Behavior_Override__c).

Promotion

Add the Connection Behavior (copado__Connection_Behavior__c) field to the Promotion Layout.

Static Code Analysis Result

Add the Deployment Step (copado__Deployment_Step__c) field to the CodeScan SCA Layout and Static Code Analysis Result Layout.

Compliance Scan Result

Add the Deployment Step (copado__Deployment_Step__c) field to the Compliance Scan Result Layout.

Step

Add the Static Code Analysis Result related list to the Step Layout.

New Picklist Values
  • In the Type (copado__Type__c) field of the Deployment Task (copado__Deployment_Task__c) object, add a new picklist value called Data Template and move it above the Data step.
  • In the Latest Deployment Status (copado__Latest_Deployment_Status__c) field of the Environment (copado__Environment__c) object, add a new picklist value called Paused.

Deployment

The Deployment record standard View, Edit and New buttons are overwritten with a new Visualforce page, DW_Intermediary.

Additional Instructions
  • Copado Continuous Delivery makes use of Salesforce’s new Change Data Capture (CDC) capability to enable automated deployments. For this to work you need to ensure that you have enabled Change Data Capture in the Setup UI for two particular Copado objects: User Story and Promotion.
  • If you are upgrading all the way from Copado version 11, edit the User Story Layout on the User Story object and replace the AddTestClasses Visualforce page with the CreateUserStoryScratchOrg Visualforce page with a height of 0px.

Upgrade Instructions from Fall '19 to Winter '20

Follow these instructions if you are upgrading to Winter '20 from Fall '19.

OLS, FLS for New Objects Fields and Tab Visibility

Make sure relevant profiles and permission sets have access to the following objects and fields:

Copado Continuous Delivery

Type

Name/Label

API Name

CustomObject

Connection Behavior

copado__Connection_Behavior__c

CustomField

Back-Promotion Behavior

copado__Back_Promotion_Behavior__c

CustomField

Back-Promotion Schedule

copado__Back_Promotion_Schedule__c

CustomField

Back-Promotion Scheduled Job ID

copado__Back_Promotion_Scheduled_Job_ID__c

CustomField

Deployment Behavior

copado__Promotion_Behavior__c

CustomField

Deployment Schedule

copado__Promotion_Schedule__c

CustomField

Deployment Scheduled Job ID

copado__Promotion_Scheduled_Job_ID__c

CustomField

Description

copado__Description__c

CustomField

Schedule Back-Promotions

copado__Schedule_Back_Promotion__c

CustomField

Schedule Deployments

copado__Schedule_Promotion__c

CustomField

Scheduled Back-Promotions Max Batch Size

copado__Max_Scheduled_Back_Promotion_Batch_Size__c

CustomField

Scheduled Deployment Max Batch Size

copado__Max_Scheduled_Promotion_Batch_Size__c

CustomField

Story Status After Deployment

copado__Story_Status_After_Deployment__c


Type

Name/Label

API Name

CustomObject

Metadata Group

copado__Metadata_Group__c

CustomField

Description

copado__Description__c


Type

Name/Label

API Name

CustomObject

Metadata  Item

copado__Metadata_Group_Item__c

CustomField

Metadata Name

copado__Operator__c

CustomField

Metadata Type

copado__Type__c

CustomField

Parent Group

copado__Metadata_Group__c

CustomField

Value

copado__Value__c


Type

Name/Label

API Name

CustomObject

Quality Gate

copado__Quality_Gate__c

CustomField

Apex Test Level

copado__Test_Level__c

CustomField

Compliance Rule Group

copado__Compliance_Rule_Group__c

CustomField

DataJSON

copado__DataJSON__c

CustomField

Manual Task Owner

copado__Manual_Task_Owner__c

CustomField

Metadata Group

copado__Metadata_Group__c

CustomField

Parent Connection Behavior

copado__Connection_Behavior__c

CustomField

Selenium Test Group

copado__Selenium_Test_Group__c

CustomField

Static Analysis Score Threshold

copado__Score_Threshold__c

CustomField

Static Code Analysis Settings

copado__Static_Code_Analysis_Settings__c

CustomField

Type

copado__Type__c


Type

Name/Label

API Name

CustomObject

Filter

copado__Filter__c

CustomField

Owner

copado__Owner__c

CustomField

Parameters

copado__Parameters__c

CustomField

Pipeline

copado__Pipeline__c

CustomField

Share With

copado__Share_With__c


Type

Name/Label

API Name

CustomObject

Environment

copado__Environment__c

CustomField

Latest Deployment

copado__Latest_Deployment__c

CustomField

Latest Deployment Status

copado__Latest_Deployment_Status__c

CustomField

Incoming Connection Behavior

copado__Connection_Behavior__c


Type

Name/Label

API Name

CustomObject

Deployment

copado__Deployment__c

CustomField

Paused

copado__Paused__c


Type

Name/Label

API Name

CustomObject

Static Code Analysis Result

Static_Code_Analysis_Result__c

CustomField

Deployment Step

copado__Deployment_Step__c


Type

Name/Label

API Name

CustomObject

Compliance Scan Result

copado__Compliance_Scan_Result__c

CustomField

Deployment Step

copado__Deployment_Step__c


Type

Name/Label

API Name

CustomObject

Step

Step__c

CustomField

Read Only

copado__Read_Only__c


Type

Name/Label

API Name

CustomObject

User Story

copado__User_Story__c

CustomField

Manual Step Required

Manual_Step_Required__c


Type

Name/Label

API Name

CustomObject

Pipeline Connection

copado__Deployment_Flow_Step__c

CustomField

Connection Behavior

copado__Connection_Behavior__c

CustomField

Connection Behavior Override

copado__Connection_Behavior_Override__c


Advanced Data Deploy

Type

Name/Label

API Name

CustomObject

Data Template

copado__Data_Template__c

CustomField

Active

copado__Active__c

CustomField

Attachment Options

copado__Attachment_Options__c

CustomField

Batch Size

copado__Batch_Size__c

CustomField

Continue on Error

copado__Continue_on_Error__c

CustomField

Description

copado__Description__c

CustomField

Filter Logic

copado__Filter_Logic__c

CustomField

Main Object

copado__Main_Object__c

CustomField

Match Owners

copado__Match_Owners__c

CustomField

Match Record Type

copado__Match_Record_Type__c

CustomField

Max Record Limit

copado__Max_Record_Limit__c

CustomField

Template Source Org

copado__Template_Source_Org__c


Type

Name/Label

API Name

CustomObject

AuxiliaryObject

copado__AuxiliaryObject__c

CustomField

Data Template

copado__Data_Template__c


Tabs
  • Connection Behavior
  • Data Template
  • Metadata Group


FieldSets, Visualforce Pages and Apex Classes

Navigate to Setup > Installed Packages > Copado Deployer > View Components and make sure you have the below field sets, Visualforce pages, Apex triggers and Apex classes.

FieldSets

  • Pipeline_Deployment_Modal

Visualforce Pages

  • DataTemplateImport
  • ScheduleCopadoScheduledJob
  • ScheduleConnectionBehavior
  • CCD_CreateQualityGate
  • CCD_CreateMetadataGroupItem
  • UserStoryReadyForPromote
  • DataTemplateSetup

Apex Triggers

  • UserStoryChangeEventTrigger
  • PromotionChangeEventTrigger

Apex Classes

  • DataTemplateObjectResultController
  • DataTemplateImportExtension
  • PromotionChangeEventTriggerHandler
  • ScheduleCronExpressionController
  • ScheduleConnectionBehaviorController
  • CCD_CreateMetadataGroupItemExtension
  • CCD_CreateQualityGateExtension
  • ConnectionBehaviorTriggerHandler
  • ConnectionBehaviorTriggerHelper
  • UserStoryReadyForPromoteExtension
  • UserStoryChangeEventTriggerHandler
  • CCD_BackPromotionBatch
  • CCD_BackPromotionSchedule
  • CCD_BothPromotionQueueable
  • CCD_PromotionBatch
  • CCD_PromotionSchedule


Layouts

Add the fields, buttons and related lists to the required layouts:

User Story

  • Add new button: Submit (Ready_for_Promotion).

Environment

Add the following fields to the Environment Layout:

  • Latest Deployment (copado__Latest_Deployment__c).
  • Latest Deployment Status (copado__Latest_Deployment_Status__c).
  • Incoming Connection Behavior (copado__Connection_Behavior__c).

Pipeline Connection

Add the following fields to the Deployment Flow Step Layout:

  • Connection Behavior (copado__Connection_Behavior__c ).
  • Connection Behavior Override (copado__Connection_Behavior_Override__c).

Promotion

Add the Connection Behavior (copado__Connection_Behavior__c) field to the Promotion Layout.

Static Code Analysis Result

Add the Deployment Step (copado__Deployment_Step__c) field to the CodeScan SCA Layout and Static Code Analysis Result Layout.

Compliance Scan Result

Add the Deployment Step (copado__Deployment_Step__c) field to the Compliance Scan Result Layout.

Step

Add the Static Code Analysis Result related list to the Step Layout.

New Picklist Values
  • In the Type (copado__Type__c) field of the Deployment Task (copado__Deployment_Task__c) object, add a new picklist value called Data Template and move it above the Data step.
  • In the Latest Deployment Status (copado__Latest_Deployment_Status__c) field of the Environment (copado__Environment__c) object, add a new picklist value called Paused.
Additional Instructions
  • Copado Continuous Delivery makes use of Salesforce’s new Change Data Capture (CDC) capability to enable automated and deployments. For this to work you need to ensure that you have enabled Change Data Capture in the Setup UI for two particular Copado objects: User Story and Promotion.
  • If you are upgrading all the way from Copado version 11, edit the User Story Layout on the User Story object and replace the AddTestClasses Visualforce page with the CreateUserStoryScratchOrg Visualforce page with a height of 0px.


How did we do?