Change Management: 10% Flashcards

Describe the options available to move metadata between environments (change sets, Salesforce extensions for Visual Studio Code). Describe the capabilities and best practices for using change sets to move metadata between environments.

1
Q

What are the tools, provided by Salesforce, that you can use to customize and code changes for your org in a sandbox?

A
  • Develop and Deploy Apex in the Developer Console: The Developer Console is an integrated development environment with a collection of tools you can use to create, debug, and test applications in your Salesforce org.
  • Develop and Deploy Using Salesforce Extensions for Visual Studio Code: Salesforce Extensions for VS Code is powered by Salesforce CLI and the Salesforce APIs. Together with Visual Studio Code, the Salesforce extension pack provides a robust development environment. Deploy to and retrieve from your sandboxes and other development orgs. Manage, push to, and pull from your scratch orgs. Write, debug, and refactor your org’s code.
  • Develop and Deploy Using Metadata API: Use Metadata API to retrieve, deploy, create, update or delete customization information, such as custom object definitions and page layouts, for your org. This API is intended for managing customizations and for building tools that can manage the metadata model, not the data itself.
  • Deploy Using the Ant Migration Tool: Download the Ant Migration Tool if you want to perform a file-based deployment of metadata changes and Apex classes from a Developer Edition or sandbox org to a production org using Apache’s Ant build tool.
  • Deploy Using Change Sets: You can deploy workflows, rules, Apex classes and triggers, and other customization from a sandbox org to your production org. You can create an outbound change set in the Salesforce user interface and add the components that you want to upload and deploy to the target org.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do approval processes behave in Change Sets?

A

Approval Processes

  • If the approval page fields include any custom fields on standard objects, manually add those custom fields to outbound change sets. The View/Add Dependencies option for selecting change set components won’t include these fields.
  • If the approval process references any post templates that contain custom fields, resave those post templates in the originating organization before adding them to the change set. From Setup, enter Post Templates in the Quick Find box, then select Post Templates. For each post template, click Edit and then Save.
  • Change sets don’t include the order of active approval processes from the source org. Sometimes you must reorder the approval processes in the destination org after deployment.
  • If you change the Unique Name of an approval process that was previously included in a change set and deployed in another organization, and you resend the approval process via a change set, a new approval process is created upon deployment in the other organization. The previously deployed approval process isn’t modified.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do you need to prepare or modify Apex Classes and Apex Triggers to work with change sets?

A

Apex Classes and Apex Triggers

By default, changes to Apex code that has Apex jobs pending or in progress can’t be deployed. To deploy these changes, do one of the following.

  • Cancel Apex jobs before deploying changes to Apex code. Reschedule the jobs after the deployment.
  • Enable deployments with Apex jobs in the Salesforce user interface in the Deployment Settings page.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do you need to prepare or modify custom fields to work with Change Sets?

A

Custom Fields

To change the data type of a custom field, you can use change sets. However, the deployment is sometimes delayed as many records are updated. Consider changing the target org through the user interface, instead.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do you need to prepare for or modify custom objects in relation to Change Sets?

A

Custom Objects

  • You can encounter an error if you’re deploying a change set with a custom object that has a parent-child relationship without the master/detail field in the same change set. To resolve this error, include the master/detail custom field in the change set, even if you haven’t changed the org-wide default.
  • Simultaneously inserting a custom object, updating the sharingModel field for an object, and adding a new owner-based sharing rule isn’t supported. Instead, three separate deployments are required. First, deploy the custom object, then deploy the updated sharingModel for the object, and then deploy the new owner-based sharing rule. You can update the sharingModel field and add a criteria-based or guest user sharing rule in one deployment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How do you need to prepare for or modify flows in relation to Change Sets?

A
  • If you plan to deploy a flow with change sets, consider limitations in migration support. Make sure your flows reference only fields and components that are available in change sets.
  • You can include only one version of a flow in a change set.
  • If the flow has no active version when you upload the outbound change set, the latest inactive version is used.
  • When you view the dependent components for the change set, the Component Dependencies page lists the dependencies for all versions of the flow. Add all interdependent components for the relevant flow version to the outbound change set.
  • An active flow in a change set is deployed to its destination as inactive. Activate the flow manually after deployment.
  • Deploying or redeploying a flow with change sets creates a version of the flow in the destination org.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How do you need to prepare for or modify Lightning Email Templates in relation to Change Sets?

A

Lightning Email Templates

An email template created in Email Template Builder that contains inline images with references to Salesforce Files can’t be added to packages or change sets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How do you need to prepare for or modify Page Layouts in Change Sets?

A

Page Layout

A deployment containing a profile and record type, but not the assigned page layout for that record type, removes the existing layout assignment from the profile for that record type. Always include all page layouts for all required record types in the change set.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How do you need to prepare for or modify Picklist Values in Change Sets?

A

Picklist Values

Values for a picklist field in a target org that aren’t included in the change set are set to inactive.

For example, if the target org’s picklist includes an active value of 1, and the change set’s picklist doesn’t include 1 as a value, 1 changes from active to inactive in the target org.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How do you need to prepare for or modify Sharing in relation to Change Sets?

A

Simultaneously updating the sharingModel field for an object and adding a new owner-based sharing rule isn’t supported. You can add an owner-based sharing rule when the org-wide default is public, and then update the sharingModel, which would result in a single sharing recalculation. You can deploy a criteria-based or guest user sharing rule and changes to the sharingModel field together using change set components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How do you need to prepare for or modify Apex Classes and Apex Triggers in relation to Change Sets?

A

Apex Classes and Apex Triggers

By default, changes to Apex code that has Apex jobs pending or in progress can’t be deployed. To deploy these changes, do one of the following.

Cancel Apex jobs before deploying changes to Apex code. Reschedule the jobs after the deployment.

Enable deployments with Apex jobs in the Salesforce user interface in the Deployment Settings page.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How do you need to prepare for or modify Approval Processes in relation to Change Sets?

A

Approval Processes

  • To use approval processes on Salesforce Knowledge articles with the Metadata API, the article type must be deployed. For article version (_kav) in approval processes, the supported action types are: Knowledge Action, Email Alert, Field Update, and Outbound Message.
  • If the approval process references any post templates that contain custom fields, resave those post templates in the originating organization before adding them to the change set. From Setup, enter Post Templates in the Quick Find box, then select Post Templates. For each post template, click Edit and then Save.
  • The metadata doesn’t include the order of active approval processes. You might need to reorder the approval processes in the destination org after deployment.
  • If you change the Unique Name of an approval process that was previously included in a change set and deployed in another organization, and you resend the approval process via a change set, a new approval process is created upon deployment in the other organization. The previously deployed approval process isn’t modified.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How do you need to prepare for or modify Approval Processes in relation to Change Sets?

A

Custom Fields

Starting in API version 30.0, when deploying a new custom field, the default values for the editable and readable fields in profile field permissions are false. To override the default values, include field permissions for the new field in your profiles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How do you prepare for or modify Custom Objects in relation to Change Sets?

A

Custom Objects

Simultaneously inserting a custom object, updating the sharingModel field for an object, and adding a new owner-based sharing rule isn’t supported. Instead, three separate deployments are required. First, deploy the custom object, then deploy the updated sharingModel for the object, and then deploy the new owner-based sharing rule. You can update the sharingModel field and add a criteria-based or guest user sharing rule in one deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How do you prepare for or modify Connected Apps in relation to Change Sets?

A

Connected App

  • You can’t set the consumerKey in Metadata API. It’s included in a retrieve operation for informational purposes. If you try to move the connected app to another org, you must remove the consumerKey from the .zip file before the deployment to an org. A new key is generated in the destination org.
  • Mobile settings of connected apps aren’t supported in change sets and must be manually migrated.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How do you prepare for or modify Groups in relation to Change Sets?

A

Groups

Members of the public group aren’t migrated when you deploy the group type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How do you prepare for or modify Master-Detail Relationships in relation to Change Sets?

A

Master-Detail Relationships

A Metadata API deployment that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.

  • For a deployment with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to deploy the Master-Detail field, or the deployment fails. During the deployment, detail records are permanently deleted from the Recycle Bin and can’t be recovered.
  • For a deployment that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master record or be soft-deleted (sent to the Recycle Bin) for the deployment to succeed. However, a successful deployment permanently deletes any detail records in the Recycle Bin.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How do you prepare for or modify Page Layouts in relation to Change Sets?

A

Page Layout

A deployment containing page layout assignments replaces all existing page layout assignments in the destination org with the assignments specified in the .zip file. Existing page layouts in the org disappear if they’re not included in the .zip file. Always include all page layouts for all required record types in the .zip file.

19
Q

How do you prepare for or modify metadata API with change sets?

A

Values for a picklist field in a target org that aren’t included in the metadata are set to inactive.

For example, if the target org has a picklist that includes an active value of 1, and the metadata doesn’t include a picklist value of 1, 1 changes from active to inactive in the target org.

20
Q

How do you prepare for or modify Profiles with Change Sets?

A

If a package includes a profile with a name that doesn’t exist in the target org, a new profile is created with that name. If the deployed profile doesn’t specify any permissions or settings, the resulting profile consists of all the permissions and settings in the Standard Profile.

21
Q

With sharing and metadata API, how can you prepare for change sets?

A
  • Using API version 29.0, you can’t change the sharingModel of an object using Metadata API. Manually change the target org through the user interface.
  • Starting with API version 30.0, you can change the sharingModel of an object for internal users using Metadata API and the user interface.
  • Simultaneously updating the sharingModel field for an object and adding a new owner-based sharing rule isn’t supported in Metadata API. You can add an owner-based sharing rule when the org-wide default is public, and then update the sharingModel, which would result in a single sharing recalculation. You can deploy a criteria-based or guest user sharing rule and changes to the sharingModel field together using the Metadata API.
22
Q

With Metadata API and workflow, how can you prep for change sets?

A

Workflow

Test mode for flow triggers isn’t supported in the Metadata API. If you want a flow trigger to run the latest flow version when an administrator causes the workflow rule to fire, enable test mode via the user interface after deployment.

23
Q

True or False?

You can run more than one deployment at a time.

A

FALSE

You can initiate multiple deployments, but only one deployment can run at a time. The other deployments will remain in the queue waiting to be executed after the current deployment finishes. Queued deployments are listed under Pending Deployments in the order they will be executed.

24
Q

Can you cancel a deployment while it’s running?

A

YES

You can cancel a deployment while it’s in progress or in the queue by clicking Cancel next to the deployment. The deployment then has the status Cancel Requested until the deployment is completely canceled. A canceled deployment is listed in the Failed section.

25
Q

Only deployments to a _________ org can partially succeed.

A

Only deployments to a non-production org can partially succeed. These are deployments that have the rollbackOnError field set to false in the deployment options and have errors in a subset of components. In a partially succeeded deployment, the failed components aren’t committed and the remaining components are committed to the org.

26
Q

What are quick deployments?

A

As part of a deployment, all Apex tests are run in production. If the production org contains many Apex tests, executing the tests can be time consuming and can delay your deployment. To reduce deployment time to production, you can perform a quick deployment by skipping the execution of tests.

27
Q

Quick deployments are available for change sets and Metadata API components when what 3 requirements are met?

A

Quick deployments are available for change sets and Metadata API components when the following requirements are met.

  1. The components have been validated successfully for the target environment within the last 10 days.
  2. As part of the validation, Apex tests in the target org have passed.
  3. Code coverage requirements are met.
  • If all tests in the org or all local tests are run, overall code coverage is at least 75%, and Apex triggers have some coverage.
  • If specific tests are run with the Run specified tests test level, each class and trigger that was deployed is covered by at least 75% individually.
28
Q

To validate components with the Ant Migration Tool, set the _____ option to true in the deploy target.

A

To validate components with the Ant Migration Tool, set the checkOnly option to true in the deploy target. See Deploying Changes to a Salesforce Organization in the Ant Migration Tool Guide.

29
Q

True or False?

Users with the Customize Application permission and Modify Metadata Through Metadata API Functions permission can edit metadata (including Apex) through Metadata API even if they don’t also have the Modify All Data permission.

A

TRUE

Users must have the Customize Application permission to create, update, and delete metadata records. Thereafter, users with the Modify Metadata Through Metadata API Functions permission can edit metadata (including Apex) through Metadata API even if they don’t also have the Modify All Data permission.

30
Q

Metadata API is used for deployments using what 3 things?

A

Metadata API is used for deployments using change sets, the Ant Migration Tool, or the Salesforce CLI

31
Q

True or False?

The Modify Metadata Through Metadata API Functions permission impacts direct customization of metadata using Setup UI pages

A

FALSE
The Modify Metadata Through Metadata API Functions permission DOES NOT impact direct customization of metadata using Setup UI pages, because those pages don’t use Metadata API for updates.

32
Q

Along with the Manage Prompts user permission, the M____ M_____ Through M______ A__ F_____ permission grants users the ability to manage In-App Guidance in Lightning Experience.

A

Along with the Manage Prompts user permission, the Modify Metadata Through Metadata API Functions permission grants users the ability to manage In-App Guidance in Lightning Experience.

33
Q

True or False?

Opening a change set in Salesforce can take several minutes if it contains a component with many dependencies or if a component’s parent has many dependencies.

A

TRUE

Opening a change set in Salesforce can take several minutes if it contains a component with many dependencies or if a component’s parent has many dependencies. The delay is because Salesforce checks component dependencies before displaying the change set page.

An example of a component with many dependencies is a custom field that belongs to a custom object with 2,500 dependent components.

34
Q

True or False?

You can use a change set to deploy an action override associated with a standard object.

A

FALSE

An action override is pulled into a change set if the override is associated with a custom object or app that is included in the change set.

Because you can’t include standard objects in a change set, you CANNOT use a change set to deploy an action override associated with a standard object.

35
Q

What are the 11mbest practices for change sets?

A
  1. Deploy all dependent components
  2. Add permissions and access settings to outbound change sets
  3. Clone a change set to add dependent components to an uploaded change set
  4. Use distinct names for global publisher layouts and Outlook publisher layouts
  5. Plan deployments around maintenance schedule
  6. Validate change sets before deployment
  7. View component details
  8. Limit change sets to 10,000 files
  9. Delete or rename components using the Web interface
  10. Consider possible delays in deployment time when a change set includes field type changes
  11. Plan for tests to run in the target org

https://help.salesforce.com/articleView?id=sf.changesets_best_practices.htm&type=5

36
Q

True or False?
If you change a field type from Master-Detail to Lookup or vice versa, the change isn’t supported when using the Validate option to test a deployment.

A

TRUE

This change isn’t supported for test deployments to avoid data loss or corruption. If a change that isn’t supported for test deployments is included in the deployment package, the test deployment fails and issues an error.

If your deployment package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the changes before you deploy to production. Perform a full deployment to another test sandbox. A full deployment includes a validation of the changes as part of the deployment process.

37
Q

What does it mean if you’re trying to deploy a change set and you receive an error about cross-version validation?

A

If you receive an error about cross-version validation, the org used to create the outbound change set is running on a different version than the destination org. This error typically occurs during upgrades, because orgs may be upgraded at different times due to Salesforce staggered releases. If you receive this error, you can only deploy those components that are compatible between versions.

38
Q

True or False?
If you upload a change set with components that can’t be deployed because of incompatible versions, the system detects which components can’t be deployed.

A

TRUE

If you upload a change set with components that can’t be deployed because of incompatible versions, the system detects which components can’t be deployed. Salesforce gives you the option of uploading the remaining components.

39
Q

True or False

Along with the Manage Prompts user permission, the Modify Metadata Through Metadata API Functions permission grants users the ability to manage In-App Guidance in Lightning Experience.

A

TRUE

Along with the Manage Prompts user permission, the Modify Metadata Through Metadata API Functions permission grants users the ability to manage In-App Guidance in Lightning Experience.

40
Q

In Change Sets, what button can you click to make sure you aren’t missing any related objects, validations, etc.?

A

View/Add Dependencies

41
Q

True or False?

Change sets cannot be used to delete metadata components in the target organization.

A

TRUE

Change sets cannot be used to delete metadata components in the target organization.

42
Q

True or False?

Renamed metadata components are not seen by the incoming system as new components.

A

FALSE

Renamed metadata components ARE seen by the incoming system as new components.

43
Q
A