FlexDeploy helps create packages and deploy Salesforce changes from Org to Org or your source control to Org. A challenge with some metadata objects, like Profiles and Custom Objects, is that they contain a lot of information. Developers may not be comfortable deploying a complete Object when only part of it was changed. For this use case, FlexDeploy provides functionality called Subcomponents deployment.
This feature is useful for big objects like Profiles and Custom Objects. In this blog, we will take a look at how we can include only desired sections in a FlexDeploy package for deployment. For a detailed view of how to create and deploy packages, look at the previous Salesforce deployments blog post.
Define a Package
The Packages tab on your FlexDeploy project allows you to view existing packages or create new packages. To get started, select an existing package or create a new one using the steps described in Project Packages and then add the file you would like to add to the Package. Once you have all the files added, you can select a file and click on the ‘View and Add Subcomponents‘ button.
Select Subcomponents
FlexDeploy will display all the Subcomponents (deployable sections) and details of the selected file. Based on the project configured, it will display Stream or Salesforce Account drop-down for selection. Select a branch (Stream) to display subcomponents for a project within the Source Control system. Select Org (Salesforce Account) for a project configured with Org to Org deployment.
Once you select Stream or Account, the subcomponent details will be displayed as per the file content in the selected source. You can use a filter to refine the search results so that you can only see the subcomponents you need. After you select all the subcomponents that you want to migrate, click on the ‘Add Selected‘ button.
Once you click on the “Add Selected”, you will notice that the original file will be replaced with selected Subcomponents on the packages screen. Notice that Subcomponent Name and Type columns for the files were added with Subcomponents.
Package Deployments
The process to deploy the packages with subcomponents is the same as with regular packages. FlexDeploy ensures the rest and deploys only the selected section(s) of the file (Profile in this case) instead of deploying a complete profile.
Salesforce Objects
The following objects can take advantage of deploying selective sections using FlexDeploy’s subcomponents feature. FlexDeploy allows the base section for each of these objects to deploy a common section. When you need to migrate only common sections, like description, you should be able to select the base object and migrate.
Profiles
Profiles define how users access objects and data, and what they can do within the application. Each profile consists of permissions and access settings for different objects, fields, apps, etc. You should be able to select one or many of these Subcomponent types. This is very helpful when you created a new custom object or layout and add permissions and settings related to that new object.
- Application Visibilities
- Category Group Visibilities
- Class Accesses
- Field Permissions
- Object Permissions
- Page Accesses
- Record Type Visibilities
- Tab Visibilities
- External Data Source Accesses
- User Permissions
- Custom Metadata Type Accesses
- Custom Setting Accesses
- Field Permissions
- Flow Accesses
- Login Flows
- Login IP Ranges
- Layout Assignments
- Custom Permissions
- Login Hours
Custom Objects
A custom object stores data unique to your organization or an external object that maps to data stored outside your org. You should be able to select one or many of these Subcomponent types. This feature is helpful when you add a new field, validation rule, etc., so you can deploy only that particular change.
- Action Overrides
- Business Processes
- Compact Layouts
- Field Sets
- Fields
- Indexes
- ListViews
- Profile Search Layouts
- Record Types
- Sharing Reasons
- Sharing Recalculations
- Validation Rules
- WebLinks
Workflows
Workflow subcomponents represent the metadata associated with a workflow rule. A workflow rule sets workflow actions into motion when its designated conditions are met. You should be able to select one or many of these Subcomponent types.
- Alerts
- Field Updates
- Flow Actions
- Knowledge Publishes
- Outbound Messages
- Rules
- Tasks
Custom Labels
This metadata type represents a custom label. All the custom labels are stored in one file normally. So the Subcomponents feature allows you to deploy a specific label selection.
- Labels
FlexDeploy provides complete flexibility in migrating Salesforce Object. If you would like to move the full object or sections of the object, you can migrate with confidence.