Summer'21 - Upgrade Instructions

Updated 1 week ago by Copado Solutions

Important Considerations Before Upgrading to Summer ‘21 

  • This is a major release that contains all the features that have been released from Winter ‘21 to date (v17.2 onwards). If you have upgraded after each minor release, you don’t need to follow all the instructions in this article. Please refer to the relevant section depending on the version from which you are upgrading and read these instructions carefully before upgrading. We recommend you to first test on a sandbox. 
  • If you are upgrading from v17.8 or later, follow these steps before installing the latest package. Otherwise, the installation will fail:
    Navigate to Setup > Scheduled Job.
    Delete all the scheduled jobs related to the FunctionResultMonitor class:
    FunctionResultMonitor Scheduled Job
  • If you are using the Copado_User permission set, you don't need to follow the OLS, FLS, and tab visibility upgrade instructions, as this permission set is already updated by Copado with each new version. However, if you are using a cloned version of this permission set, you need to manually upgrade it.

OLS, FLS for New Object Fields and Tab Visibility

The objects and fields introduced in each version are listed below. Make sure relevant profiles and permission sets have read and write access to the following fields:

V17.2

Object: Connection Behavior

Type

Name/Label

API Name

CustomObject

Connection Behavior

copado__Connection_Behavior__c

CustomField

Execute promotions in parallel

copado__Execute_promotions_in_parallel__c

CustomField

Execute back-promotions in parallel

copado__Execute_back_promotions_in_parallel__c

CustomField

Promotion Criteria

copado__Promotion_Criteria__c

CustomField

Back-Promotion Criteria

copado__Back_Promotion_Criteria__c

V17.8

Object: Deployment

Type

Name/Label

API Name

CustomObject

Deployment

copado__Deployment__c

CustomField

Attach Deployment File

copado__Attach_Deployment_File__c

CustomField

Git Repository

copado__Git_Repository__c (read-only access)

Object: User Story

Type

Name/Label

API Name

CustomObject

User Story

copado__User_Story__c

CustomField

Git Repository

copado__Git_Repository__c (read-only access)

Object: Deployment Job

Type

Name/Label

API Name

CustomObject*

Deployment Job

copado__Deployment_Job__c

CustomField

Destination Id

copado__Destination_Id__c

CustomField

Repository Id

copado__Git_Repository__c

CustomField

Pipeline Id

copado__Pipeline_Id__c

CustomField

Source Id

copado__Source_Id__c

*All these fields require read-only access.

Object: Step

Type

Name/Label

API Name

CustomObject

Step

copado__Step__c

CustomField

JsonResult

copado__JsonResult__c

Object: Result

Type

Name/Label

API Name

CustomObject

Result

copado__Result__c

CustomField

Progress Status

copado__Progress_Status__c

CustomField

Result Data

copado__Result_Data__c

CustomField

Timeout

copado__Timeout__c

Object: Data Set

Type

Name/Label

API Name

CustomObject

Data Set

copado__Data_Set__c

CustomField

Data Source Environment

copado__Source_Org__c

CustomField

Data Template

copado__Data_Template__c

CustomField

Description

copado__Description__c

CustomField

Execution Job

copado__Execution_Job__c

CustomField

FIle Execution Status

copado__Execution_Status__c (read-only access)

CustomField

Last Generated Date

copado__Last_Generated_Date__c

Tabs

  • Data Sets
V17.13

Object: Environment

Type

Name/Label

API Name

CustomObject

Environment

copado__Environment__c

CustomField

Deployment Automation Override

copado__Deployment_Automation_Override__c

CustomField

Platform

copado__Platform__c

CustomField

Promotion Automation Override

copado_Promotion_Override__c

Object: Credential

Type

Name/Label

API Name

CustomObject

Credential

copado__Org__c

CustomField

Platform

copado__Platform__c (read-only access)

Object: Deployment

Type

Name/Label

API Name

CustomObject

Deployment

copado__Deployment__c

CustomField

Api Name

copado__ApiName__c

CustomField

Do Not Update Promotion

copado__Do_Not_Update_Promotion__c

CustomField

Parent Deployment

copado__Parent_Deployment__c

Object: Pipeline

Type

Name/Label

API Name

CustomObject

Pipeline

copado__Deployment_Flow__c

CustomField

Deployment Automation

copado__Deployment_Automation__c

CustomField

Promotion Automation

copado__Promotion_Automation__c

CustomField

Platform

copado__Platform__c

Custom Metadata Types

  • MultiCloudAutomation
  • StandardResources

Tabs

  • Standard Records
    This tab has been relabelled Copado Extensions in  v18. If you have already performed v17.13 instructions, no further action is required. If you have not performed v17.13’s upgrade instructions yet, enable tab visibility for the Copado Extensions tab.
V18

Object: User Story

Type

Name/Label

API Name

CustomObject

User Story

User_Story_c

CustomField

Is Bundle

Is_Bundle__c

Object: Step

Type

Name/Label

API Name

CustomObject

Step

copado__Step__c

CustomField

ParentId

copado__ParentId__c

Object: Deployment Task

Type

Name/Label

API Name

CustomObject

Deployment Task

copado__Deployment_Task__c

CustomField

Apply to

copado__Apply_to__c

CustomField

Disable Task for Back Promotions

copado__Disable_Task_for_Back_Promotions__c

Object: User Story Data Commit

Type

Name/Label

API Name

CustomObject

User Story Data Commit

copado__User_Story_Data_Commit__c

CustomField

Commit Date

copado__Commit_Date__c

CustomField

Commit Message

copado__Commit_Message__c

CustomField

Data Set

copado__Data_Set__c

CustomField

Execution Job

copado__Execution_Job__c

CustomField

Status

copado__Status__c (read-only access)

CustomField

User Story

copado__User_Story__c

Object: Package Version

Type

Name/Label

API Name

CustomObject

Package Version

copado__Artifact_Version__c

CustomField

Status

copado__Status__c

Object: Function*

Type

Name/Label

API Name

CustomObject

Function

copado__Function__c

CustomField

Apex Class

copado__ApexClass__c

CustomField

Callback Type

copado__Callback_Type__c

CustomField

FlowHandler

copado__FlowHandler__c

CustomField

Image Name

copado__Image_Name__c

CustomField

Options

copado__Options__c

CustomField

Parameters

copado__Parameters__c

CustomField

Script

copado__Script__c

CustomField

Timeout

copado__Timeout__c

CustomField

Type

copado__Type__c

CustomField

Version

copado__Version__c

Object: System Property*

Type

Name/Label

API Name

CustomObject

System Property

copado__System_Property__c

CustomField

Environment

copado__Environment__c

CustomField

Hide Value

copado__Is_Sensitive__c

CustomField

Parent Id

copado__ParentId__c

CustomField

Pipeline

copado__Pipeline__c

CustomField

UID

copado__UID__c

CustomField

User

copado__User__c

CustomField

Value

copado__Value__c

*Grant read access to the Function and System Property objects and fields above.

Tabs

  • Commit Data
  • License_Manager

If you have custom Permission Sets or Profiles (including System Administrator) that your Copado users use, and those need to access the Copado License Manager, we recommend you remove the access to the old “Classic” tab. This is already done for the Copado User permission set:

  1. Go to the corresponding Permission Sets or Profiles > Object Settings.
  2. Look for the Classic Copado License Manager tab.
    There are two tabs: Classic Copado License Manager (old Visualforce tab) and Copado License Manager (new Lightning tab).
  3. Uncheck the Available setting. This also unchecks the Visible setting.
  4. Click Save.
Ensure that the Permission Sets or Profiles have access to the new Copado License Manager tab in the app launcher.

Considerations

  • You must have My Domain enabled in the Salesforce Setup for the new Copado License Manager to work.
  • This is a Lightning component and is not available as a tab in Classic experience. It is only available as a tab in the Lightning Experience App Launcher.
  • The new Copado License Manager UI will fully replace the Classic one. The Classic Copado License Manager will still be available in the package.
  • The Classic Copado License Manager tab has been removed from the Copado Release Manager app. You can find the new Copado License Manager lightning tab in the app launcher directly.

Record Types

V18

Make sure relevant profiles and permission sets have access to the following record types:

Object Name

Record Type

Step to be taken

User Story

Utility

Assign the new Utility page layout to the utility record type

Package

User Story Bundle

Assign the new User Story Bundle layout to the User Story Bundle record type.

FieldSets, Visualforce Pages, and Apex Classes

V17.8

Apex Classes

  • AttachmentsSelector
  • CheckContentDocumentPermissionAction
  • ContentDocumentLinksSelector
  • ContentDocumentPermissionManager
  • ContentVersionDeleter
  • ContentVersionsSelector
  • DataDeployer
  • DataDeployRequest
  • DataSetsSelector
  • DataStepData
  • DataStepValidationResultCtlr
  • DataStepValidator
  • DataStepValidatorResultHandler
  • DataTemplateDeploymentValidationResult
  • DataTemplateDeploymentValidator
  • DataTemplateDetail
  • DataTemplatesSelector
  • DeleteOldContentVersionsAction
  • DeployDataAction
  • DeploymentsSelector
  • DestinationOrgsSelector
  • EncryptSensitiveProperties
  • HerokuCallout
  • HttpCallout
  • HttpMethod
  • OrgsSelector
  • RefreshRecentChanges
  • RepositoryExpression
  • SalesforceAPIProxyCallout
  • SalesforceAPIProxyRequest
  • SalesforceAPIProxyResponse
  • SalesforceFilesService
  • SetPropertyParents
  • StepsSelector
  • SystemProperties
  • ValidateOrgAction
V17.13

Apex Classes

  • AuthGrantService
  • CheckCBMLicense
  • ComplianceRuleCriteriaSelector
  • ComplianceRuleCriteriaValidator
  • ComplianceRuleLogicValidator
  • ComplianceRuleManagerCtrl
  • ComplianceRulePermissionsValidator
  • ComplianceRulesSelector
  • ContentDocumentLinksSelector
  • CreateDefaultOrg
  • CreateLocalConnection
  • CreateRegularConnection
  • CreateStandardRecords
  • CredentialRecordPageHandler
  • CredentialRedirectionHandler
  • CredentialsButtonsHandler
  • DeploymentFlowStepsSelector
  • DeploymentsSelector
  • FunctionStepExecutionCallback
  • InvokeApexTestCallForCredential
  • InvokeComplianceScanForCredential
  • InvokeStaticCodeAnalysisForCredential
  • MultiCloudAutomationsSelector
  • NonSalesforcePipelineOperationService
  • PipelineConnectionCreateService
  • PipelineOperationsHelper
  • PipelineOperationsInterface
  • SalesforcePipelineOperationsService
  • SetDefaultAutomationTemplate
  • SObjectDataLoader
  • SourceMemberResult
  • StandardRecordStatusCtrl
  • StandardResourcesSelector
  • StaticResourcesSelector
  • SupportedObjectsSelector
  • TestAuthGrantService
  • TestPipelineConnectionCreateService
  • ValidatePlatformType
  • ValidationResult
V18

Apex Classes

  • CommitDataCtrl
  • DataCommitDeploymentTaskHandler
  • DataCommitRequest
  • DataCommitter
  • DataFiltersConfiguration
  • DataFiltersCtrl
  • DataSetExecutionHistoryCtrl
  • DataSetsService
  • DeleteDataCommitDeploymentTask
  • GenerateDataCommitDeploymentTask
  • LicenseAssignmentValidator
  • LicenseInfo
  • LicenseManagerCtrl
  • LookupSearchResult
  • LockBundleCtrl
  • MetaDataItem
  • PackageLicenseManager
  • PerformUserStoryAction
  • ReadFromAttachmentCtrl
  • UsersSelector
  • UserStoryDataCommits
  • UserStoryDataCommitsSelector
  • UserStoryBundleCtrl
  • UserWithLicense
  • PerformUserStoryAction
  • ReadFromAttachmentCtrl

Apex Pages

  • UserStoryBundle

Layouts

v17.4

User Story

  • Add the Open Org button to the User Story Layout, Bug Layout v.17, and User Story Layout v.17. To add this new button:
    • Classic users: use the Buttons option.
    • Lightning users: use the Mobile & Lightning Actions option.

Deployment

  • Add the Export Template, Execute Template and Clone Template buttons to the Automation Template Layout. 

Search Layouts for Salesforce Classic

Deployment

  • Add the Import Template button to the List View Layout. 
V17.5

Copado Smart Help 

  • Add the Triggering Metadata Items and Help Text Url fields to the Copado Smart Help Layout. To do so, you need to:
    • Navigate to SetupCustom Metadata Types → Select Copado Smart Help → In the Page Layouts section select Copado Smart Help Layout

Compliance Rule

  • Remove the Owner field from the Compliance Rule Layout.
  • Remove Compliance Rule Criteria related list from Compliance Rule Layout.
  • Add Compliance Rule Group Items related list to Compliance Rule Layout.
  • Reorder fields in Compliance Rule Layout as provided in the new design:
v17.8

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

Result

Add the following fields to the Result layout:

  • Function (copado__Function__c)
  • ParentId (copado__ParentId__c)
  • Progress Status (copado__Progress_Status__c)
  • Result Data (copado__Result_Data__c)
  • Timeout (copado__Timeout__c
V17.13

Add the new fields and actions to the relevant layouts and remove the fields, buttons and related lists from the required layouts:

Compliance Rule

  • Remove the AddCCHRuleCriteria Visualforce component from the layout.
  • Remove the Criteria section.

Credential

  • Add the following quick actions to the Org Credential layout:
    • Authenticate
    • Copado DX (only visible if the org type is a scratch org).
    • Open Credential
    • Run All Test
    • Run Compliance Scan
    • Run Static Code Analysis
  • Add the Platform (copado__Platform__c) to the Org Credential layout.

Environment

  • Add the following fields and related lists to the Environment layout:
    • Deployment Automation Override (copado__Deployment_Automation_Override__c)
    • Platform (copado__Platform__c)
    • Promotion Automation Override (Promotion_Override__c)
    • System Properties.

Pipeline

Add the following fields and related lists to the Pipeline Layout v17 layout:

  • Platform (copado__Platform__c)
  • System Properties

System Properties

The ParentId field (copado__ParentId__c) is no longer a required field. Follow the steps below to update it to read only:

  1. Navigate to Setup > Object Manager > System Properties.
  2. Click on Page Layouts and then on System Property Layout.
  3. Locate the Parent Id field and click on the wrench icon.
  4. Select the Read-Only checkbox.
  5. Click on Ok and then on Save.
V18

Add the new fields, buttons,  and related lists to the relevant layouts and list views.

User Story

All the upgrade instructions for User Story Bundle can be found in Copado User Story Bundles (Summer ’21) - Initial Setup Instructions

Page Layout

  • Add the Commit Data button to the User Story Layout V.17 layout.
    • Add the User Story Data Commits related list to the User Story Layout V.17 layout and update the related list as follows:
      • Fields:
        • User Story Data Commit Name
        • Commit Message
        • Commit Date
        • Status
        • Data Set
        • Execution Job
      • Sort by Commit Date in descending order. 
      • Click on the + icon next to Buttons and remove the New button
  • Utility: New page layout for the Utility record type.

Search Layout

Add the Create Bundle button to the Default search layout (if you are working with Classic add it to Search Layout for Salesforce Classic > List View).

Package Version

Page Layout

Add the Lock Bundle mobile & lightning action to the Artifact Version layout.

Pipeline

Page Layout

  • Add the Clone with Environments quick action to the Pipeline Layout v17 layout.

Search Layout

  • Add the Launch Pipeline Wizard button to the Default search layout (if you are working with Classic add it to Search Layout for Salesforce Classic > List View).

Functions

Search Layout & List View

  • Add the following fields to the Functions’s Default search layout and All list view:
    • Type (copado__Type__c)
    • Description (copado__Description__c)
    • API Name (copado__API_Name__c)
    • Image Name (copado__Image_Name__c)
    • Callback Type (copado__Callback_Type__c)
    • Last Modified By
    • Created Date

System Properties

Page Layout

  • Add a new section to the System Property layout below Information with the following details:
    • Name: System property assignment
    • Layout: 2-Column
    • Tab-key Order: Left-Right
  • Move the below fields to the new System property assignment section:
    • Pipeline
    • Environment
    • User
    • Parent Id

This is what the record should look like:

System Property record

Search Layout & List View

  • Add the following fields to the System Properties’s Default search layout and All list view:
    • API Name (copado__API_Name__c)
    • Value (copado__Value__c)
    • Hide Value (copado__Is_Sensitive__c)
    • Pipeline (copado__Pipeline__c)
    • Environment (copado__Environment__c)
    • User (copado__User__c)
    • Last Modified By
    • Created Date

Results

  • Add the following fields and related list to the Result layout:
    • Function Worker Size (copado__Function_Worker_Size__c)
    • Custom Function Used Credits (copado__Custom_Function_Used_Credits__c)
    • Custom Function Used Minutes (copado__Custom_Function_Used_Minutes__c) 
    • Files (related list)

Metadata Item

Add the Value (copado__Value__c) to the Metadata Group Item layout.

Page Layout Assignments

V17.13

Credential 

Update the page layout assignment for the Credential and Pipeline record and assign the relevant profiles these layouts:

  • Org Credential 
  • Pipeline Layout v17 

Lightning Record Pages

V18

Functions Record Page

Edit the Function Lightning record page and add the Worker Size field under API Name.

New Picklist Values

V18
  • In the Back-Promotion Execution (copado__Back_Promotion_Behavior__c) field in the Connection Behavior (copado__Connection_Behavior__c) object, add a new picklist value called Disabled.
  • This upgrade step is applicable only if you have Copado Version Control.
    • Add Copado Version Control as a new picklist value in the Git Provider (Git_Provider__c) picklist field of the Git Repository (Git_Repository__c) object.

Additional Instructions

V17.8

In order for the Function Results chart to be displayed on the Function record, follow these steps:

  1. Navigate to an existing Function record.
  2. Click on the gear icon at the top right corner and then, on Edit Page:
    Edit Page
  3. Click on the Function Results section and set the Filter By field to Function ID:
    Function ID
  4. Save the changes and click on Activate.
  5. Next, click on Assign as Org Default.
  6. Select the place where you want to make this page available (desktop/phone) and click on Next.
  7. Lastly, click on Save.
V17.13

Copado Compliance Hub

  • As part of Copado Compliance Hub’s new features, the default Lightning page Compliance Rule Record Page has been updated with the new Compliance Scope lightning web component. If you’re not using this record page as the default, you need to activate it in order to see and use all new implementations. To do so, follow these steps: 
  1. Navigate to Setup > Object Manager > Compliance Rule.
  2. Click on Lightning Record Pages and then on Compliance Rule Record Page.
  3. Next, click on View.
  4. On the top right corner of the page, click on Activation and then on Assign as Org Default:

Compliance Rule Record Page

  1. Select Desktop as form factor. 
  2. Click on Next and then on Save.

Copado Core

  • A new picklist field called Platform has been created and added to the Pipeline and Environment objects to support multi-cloud pipelines. Navigate to these records and update this picklist based on the pipeline you are going to use:
    • Salesforce: Choose this option if you are working with a Salesforce pipeline.
    • Other: Choose this option for non-Salesforce pipelines.

If you are working with Salesforce pipelines, you can use the below code snippet to automatically update the picklist value to Salesforce (make sure you have granted your user read/write access to this field first):

List<copado__Environment__c> environments = [SELECT copado__Platform__c FROM copado__Environment__c WHERE copado__Platform__c = null LIMIT 100];

for(copado__Environment__c environment : environments) {

environment.copado__Platform__c = 'Salesforce';

}

update environments;

List<copado__Deployment_Flow__c> pipelines = [SELECT copado__Platform__c FROM copado__Deployment_Flow__c WHERE copado__Platform__c = null LIMIT 100];

for(copado__Deployment_Flow__c pipeline : pipelines) {
pipeline.copado__Platform__c = 'Salesforce';

}

update pipelines;

Multi-Cloud

If you are working with functions or want to use the new Multi-Cloud feature, you also need to perform the below instructions. These are only required for these two features. Otherwise, you don’t need to do any further upgrades.

  • There is a new Lightning page for the Org Credential, Environment, Pipeline and Pipeline Connection record pages. To activate this new Lightning page, follow these steps:
  1. Navigate to Setup > Object Manager > Credential.
  2. Click on Lightning Record Pages and then on Org Credential Record Page.
  3. Next, click on View.
  4. At the top right corner of the page, click on Activation and then on Assign as Org Default.
  5. Select Desktop as form factor.
  6. Click on Next and then on Save.

Repeat the same process for the Environment Record Page, the Pipeline Record Page, and the Pipeline Connection Record Page.

  • Add the System Properties tab to the Pipeline Record Page. To do that, follow these steps:
  1. Navigate to an existing Pipeline record.
  2. Click on the gear icon at the top right corner of the screen and then on Edit Page.
  3. Next, click on the tabs section and then on Add Tab on the right-hand side of the screen.
  4. Click on the Details link and select Custom in the Tab Label drop-down menu.
  5. Type in System Properties for custom label and click on Done.
  6. Click on the System Properties tab and drag and drop a Related List - Single component to the canvas.
  7. Remove the default selection from the Related List picklist field and select System Properties:

System Properties

  1. Click on Save and then on Activate to ensure the changes are displayed on the page.
v18

Copado Core

  • A new help text has been added to the Promotion Automation and Deployment Automation fields in the Pipeline object. If you want to add the help text in your org, follow these steps:
  1. Navigate to Setup > Object Manager > Pipeline.
  2. From the Fields & Relationships section, click on Promotion Automation.
  3. Click on Edit and add the following help text: "List of steps to be used when merging user stories before deployment."
  4. Click on Save.
  5. Repeat the same process for the Deployment Automation field and add the following help text: “List of steps to be used when deploying promoted user stories to a destination environment.

 Copado Platform

  • If you want to enable an automation template to be editable through the CLI, follow these steps:
  1. Navigate to Setup > Custom Settings.
  2. Click on Manage next to the Automation Template(CLI) custom setting.
  3. Next, click on New to create a new record.
  4. Give the record a name and provide the name of the automation template you want to enable.
  5. Click on Save.

Functions

You can now work with functions while keeping the Deployment Completed workflow rule that sends email notifications with the deployment results once the deployment is completed enabled. If you are upgrading from v17.13 and you disabled the workflow rule, you can now re-enable it.

This workflow rule currently supports Salesforce deployments only. Support for Multi-Cloud deployments will be added in a future version.
  • The help text in the Timeout field in the Function object and the UID and Hide Value fields in the System Property object has been updated. If you want to update it in your org, follow these steps:
  1. Navigate to Setup > Object Manager > Function.
  2. From the Fields & Relationships section, click on Timeout.
  3. Edit the help text and replace the existing content with the following: "The number of minutes after which the function will automatically end if there is no response from the function backend execution."
  4. Click on Save.
  5. Repeat the same steps for the UID and Hide Value fields and add the following help text:
    For UID:"Read-only field used internally for system property replacement.".
    For Hide Value: 'If this field is selected, the value won't be accessible to any user, and it will be securely saved. The value will remain hidden unless the field is unchecked'.
    A new help text has been added to the Repository Id, Destination Id, Pipeline Id and Source Id fields in the Deployment Job object. If you want to add the help text in your org, follow these steps:
  6. Navigate to Setup > Object Manager > Deployment Job.
  7. From the Fields & Relationships section, click on Repository Id.
  8. Click on Edit and add the following help text: “Read only field used internally for system property replacement.”.
  9. Click on Save.
  10. Repeat the same steps for all other fields and add the same help text.

Package Version

Package Version Record Page is the default Lightning Record Page. By default this is inactive, you need to activate it in order to see and use all new implementations. To do so, follow these steps: 

  1. Navigate to Setup > Object Manager > Package Version.
  2. Go to Lightning Record Pages > Package Version Record Page.
  3. Click View.
  4. On the top right corner of the page, click on Activation.
  5. Click Assign as Org Default:
  6. Click Close.
  7. Select Desktop and click Next.
  8. Click Save.


How did we do?