PDII practice question 5 of 10

A developer is asked to develop a new AppFxchange application. A feature of the program creates Survey records when a Case reaches a certain stage…

Full set: 198 questions
A developer is asked to develop a new AppFxchange application. A feature of the program creates Survey records when a Case reaches a certain stage and is of a certain Record Type. This feature needs to be configurable, as different Salesforce instances require Surveys at different times. Additionally, the out-of-the-box AppExchange app needs to come with a set of best practice settings that apply to most customers. What should the developer use to store and package the custom configuration settings for the app?
Answer options
A: Custom objects
B: Custom settings
C: Custom metadata Correct answer
D: Custom labels
Correct Answer:
C. Custom metadata
Explanation

Custom Metadata Types are the optimal solution for creating configurable, deployable, and packageable application settings in an AppExchange package. Unlike custom settings, both the metadata schema and the actual records (the configuration data) of a Custom Metadata Type can be packaged and deployed across environments. This capability allows AppExchange ISVs to include out-of-the-box, default configuration records (representing best practices) directly within their application package. Customers can then use or override these records without the developer needing to write post-install scripts to generate the initial data. Custom metadata is also cached natively by the Salesforce platform, guaranteeing highly efficient access times and protecting governor limits when reading configuration values during transactional execution.

Why Incorrect

Option A: Custom objects consume valuable storage space and data limits, and their records cannot be natively packaged or deployed via standard packaging without relying on complex post-install data loading scripts.
Option B: Custom settings structure can be packaged, but the actual records (data) cannot be packaged. This prevents providing out-of-the-box default configurations without using a specialized post-install Apex script.
Option D: Custom labels are intended to store text values for multi-language localization (translations) and UI rendering, not for structuring complex application configuration logic or storing relational settings.

References

Salesforce Apex Developer Guide: "Custom Metadata Types", Section: Data Modeling.

Salesforce ISVforce Guide: "Packaging Custom Metadata Types", Section: Packaging and Updating.

Scroll to Top