PD1 Deployment Strategies 3 — Questions and Answers
Question 1: Which metadata type is used to control field-level security and is included in a deployment as part of a Profile or Permission Set?
- FieldPermissions (Correct answer)
- FieldSecurity
- ProfileFieldAccess
- ObjectPermissions
Correct answer: FieldPermissions
FieldPermissions is the metadata subtype within Profile and Permission Set XML that controls field-level security settings.
Question 2: What is a key risk of deploying Profiles via Change Sets between orgs with different installed packages?
- Profiles cannot be included in Change Sets
- Profile XML may reference fields or objects that do not exist in the target org (Correct answer)
- Profiles always overwrite all settings in the target org
- Change Sets strip field-level security from Profiles
Correct answer: Profile XML may reference fields or objects that do not exist in the target org
If the target org lacks certain managed package fields or objects referenced in the Profile XML, the deployment will fail with missing component errors.
Question 3: In source-format projects, how are Custom Object fields stored on the file system?
- All fields in a single CustomObject XML file
- Each field in its own file under a 'fields' subdirectory (Correct answer)
- Fields stored in a separate CustomField metadata file
- Fields embedded inside the Layout metadata
Correct answer: Each field in its own file under a 'fields' subdirectory
Source format decomposes CustomObject metadata so each field is stored as an individual XML file inside a 'fields' subdirectory of the object folder.
Question 4: Which Salesforce CLI command validates a deployment against a production org without committing any changes?
- sf project deploy start --dry-run
- sf project deploy validate (Correct answer)
- sf project deploy preview --production
- sf org validate --metadata
Correct answer: sf project deploy validate
'sf project deploy validate' performs a full validation including Apex test execution against the org without saving any components.
Question 5: A team uses scratch orgs for development. What is the recommended way to share a scratch org definition across the team?
- Export org credentials to a shared spreadsheet
- Commit the project-scratch-def.json to the shared repository (Correct answer)
- Use a sandbox as the shared development environment instead
- Share the scratch org username via Slack
Correct answer: Commit the project-scratch-def.json to the shared repository
The project-scratch-def.json file defines the scratch org configuration and should be committed to version control so all team members create identical environments.
Question 6: What is the maximum number of components allowed in a single Change Set?
- 1,000
- 5,000
- 10,000
- There is no documented component limit (Correct answer)
Correct answer: There is no documented component limit
Salesforce does not publish a hard component limit for Change Sets, though very large Change Sets can time out or experience performance issues.
Question 7: Which deployment approach allows a developer to roll back a failed production deployment automatically?
- Change Set with rollback enabled
- Salesforce CLI --rollback flag
- Quick Deploy of a previously validated Change Set
- No automatic rollback exists; failed deployments leave the org unchanged (Correct answer)
Correct answer: No automatic rollback exists; failed deployments leave the org unchanged
Salesforce deployments are transactional — if they fail, no changes are committed, but there is no automated rollback of previously successful deployments.
Which metadata type is used to control field-level security and is included in a deployment as part of a Profile or Permission Set?