Sudipta Deb

Sudipta Deb

Founder of Technical Potpourri, Co-Founder of Shrey Tech, Enterprise Cloud Architect

Welcome to my technical blog series on optimizing Salesforce deployments using Copado! In this introductory post, I will delve into the significance of efficient deployment strategies within Salesforce environments and how Copado emerges as a game-changer in this realm.

Salesforce, being a versatile CRM platform, often undergoes frequent updates, customizations, and configurations to align with evolving business requirements. However, implementing these changes seamlessly across different environments (such as sandbox, staging, and production) while ensuring data integrity and minimizing disruptions is a formidable challenge.

Enter deployment strategies. A robust deployment process is pivotal for maintaining the integrity and functionality of a Salesforce instance, enabling organizations to push changes efficiently while mitigating risks associated with human errors and system inconsistencies.

Copado is a comprehensive Salesforce release management platform designed to streamline and automate the deployment lifecycle. Leveraging Copado, organizations can orchestrate seamless deployments, from development through to production, with enhanced visibility, control, and efficiency.

In this document, I will be covering multiple scenarios to explain how to deal with Profile/Permission Set deployments using Copado.

Below are the scenarios covered in this document – 

  • Deploying new object & field level permission through Profile/Permission Set
  • Deploying existing object & field permission change through Profile/Permission Set
  • Deploying New Page Layout Assignment(No Record Type) through Profile/Permission Set
  • Deploying Existing Page Layout Assignment(With New Record Type) through Profile/Permission Set
  • Deploying Existing Page Layout Assignment(With Existing Record Type) through Profile/Permission Set
  • Deploying New FlexiPage Layout Assignment as App Default through Profile/Permission Set

Pipeline

Below is the screenshot of the pipeline configuration I will be using. I will be mainly making changes in DEV1 environment and through Copado, I will be publishing those changes into next environment which is UAT.

Scenario 1 – Deploying New Object & Field Level Permission Through Profile/Permission Set

  • New Object Name – Hello Canada
  • New Field Name – Email
  • New Permission Set Name – Hello Canada
    • Object Level Permission – Available, Visible, Read
    • Field Level Permission – Read & Edit

Commit Configuration –

Since all three (object, field and permission set) are brand new and not available in the target environment, during the commit we need to select all of them. Do not select the “Retrieve Only” checkbox.

Here is the screenshot – 

Scenario 2 – Deploying Existing Object & Field Level Permission Through Profile/Permission Set

  • Existing Object Name – Hello Canada
  • Existing Field Name – Email
  • Existing Permission Set Name – Hello Canada
    • Object Level Permission – Available, Visible, Read, Create
    • Field Level Permission – Read 

Commit Configuration –

Since all three (object, field and permission set) are existing and available in the target environment, during the commit we need to select all of them. But since there are no changes in the object and field (all changes are literally in the permission set), mark “Retrieve Only” checkbox checked for object and field.

Here is the screenshot –

Scenario 3 – Deploying New Page Layout Assignment (No Record Type) Through Profile/Permission Set

  • New Page Layout Name – New Hello Canada
  • Existing Profile Name – Admin

Commit Configuration –

Since the page layout is new (not available in the destination org), but the profile is an existing profile, during the commit we need to select both of them. But make sure “Retrieve Only” checkbox is unchecked for both.

Here is the screenshot –

Scenario 4 – Deploying Existing Page Layout Assignment (With New Record Type) Through Profile/Permission Set

  • Existing Page Layout Name – New Hello Canada
  • Existing Profile Name – Admin
  • New Record Type – New Hello Canada Record Type

Commit Configuration –

Since the page layout and the profile are the existing ones, but the record type is new (not available in the destination org), during the commit we need to select all three. But make sure “Retrieve Only” checkbox is checked only for layout (assuming there is no layout changes and all we are deploying page layout assignment only).

Here is the screenshot –

Scenario 5 – Deploying Existing Page Layout Assignment (With Existing Record Type) Through Profile/Permission Set

  • Existing Page Layout Name – New Hello Canada
  • Existing Profile Name – Admin
  • Existing Record Type – New Hello Canada Record Type

Commit Configuration –

Since the page layout, record  type and the profile – all are the existing ones, during the commit we need to select all three. But make sure “Retrieve Only” checkbox is checked for layout (assuming there is no layout changes and all we are deploying page layout assignment only) and record type.

Here is the screenshot –

Scenario 6 – Deploying New FlexiPage Layout Assignment as App Default Through Profile/Permission Set

  • New FlexiPage Layout Name – Hello Canada
  • Existing App Name – Hello World

Commit Configuration –

Add the page layout and app in the metadata. And please do not mark “Retrieve Only” checkbox checked.

Conclusion

In this introductory post, I have laid the foundation for our exploration of Copado’s capabilities in optimizing Salesforce deployments. Over the coming weeks, I will delve deeper into specific deployment scenarios, best practices, and advanced features to empower organizations to unleash the full potential of their Salesforce investment.

Stay tuned for my next post, until then, feel free to explore Copado’s website and start your journey towards seamless Salesforce release management.

Disclaimer

This article is not endorsed by Salesforce, Google, or any other company in any way. I shared my knowledge on this topic in this blog post. Please always refer to Official Documentation for the latest information.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *