Skip to main content
Brian Cline

Solution Architect skilled in Salesforce, NetSuite and JavaScript Development

Menu

Skip to content
  • JavaScript
  • Resume
  • Home
  • About
  • Contact
  • Articles

Introducing Salesforce’s Custom MetaData Types

July 2, 2016
Brian Cline
Salesforce No Comments
Sharing is Caring

Quite a while ago, Salesforce introduced some very significant changes to custom settings. If you aren’t sure what custom settings are please take the time to read my How To Use Salesforce Custom Settings post. This post covers a lot of the changes and when you should start looking at using Custom MetaData Types.

What is is a Custom MetaData Type?
Custom MetaData Types change a lot of things about custom settings. In my mind, the biggest advantage is that the data is deployable and can be managed by a package or by developers without having to write code or sign into the production org and manually set values. This means that the values aren’t really data, they’re metadata and it’s a fantastic improvement for developers and admins. Most Salesforce orgs have dozens or hundreds of custom objects or custom settings that handle configuration. A lot of the time these changes are manually migrated from a sandbox or developer org.

For the most part, custom metadata can do everything that a list custom setting can do. The two downsides that I am aware of are that there’s no native support to create or modify the records within the apex language. I believe this is currently on the roadmap for Salesforce to deliver at some point.

The other downside is that the Custom MetaData Type must be queried unlike the List Custom Setting. Thankfully, the SOQL queries for the custom metadata types don’t count against the number of soql queries.

Common Usages
For most situations, where you used a list custom setting you can probably use custom metadata types. The only caveat with that is they can’t Create Update or Delete done on them without using the MetaData API. For developers working on managed packages, they are a fantastic replacement for storing anything that doesn’t need to be updated by the apex. During the installation process, there’s also no need to write any code to initialize them because the values are deployed with the package.

Sharing is Caring

Related Posts:

  • Everything You Need to Know About Salesforce Relationship Types
    Everything You Need to Know About Salesforce Relationship…
  • Types of APIs
    Types of APIs
  • API Parameter Types
    API Parameter Types
  • How to Use Salesforce Custom Settings
    How to Use Salesforce Custom Settings
  • Custom Submit Button for a lightning:recordEditForm
    Custom Submit Button for a lightning:recordEditForm
  • Visualforce Custom Controllers and Extensions
    Visualforce Custom Controllers and Extensions
Custom Metadata Salesforce salesforce custom settings

Post navigation

Previous post: How to Use Salesforce Custom Settings
Next post: Asynchronous Programming in Salesforce

Tag Cloud

api Athabasca AWS aws lambda best practices Book Review c# Chrome Clean Code cloud computing CMS css Database Drupal enterprise integration patterns firefox javascript jQuery learning javascript Learning Salesforce Magento Microsoft netsuite NodeJS PHP Programming rest api restful api Salesforce Salesforce Apex Salesforce API Salesforce Best Practices salesforce integration Salesforce Lead Salesforce Lightning Serverless Serverless Computing serverless frameworks SOAP API software architecture SOQL Testing visualforce Windows WordPress

Latest Posts

  • How should a REST Endpoint Handle No Results?
  • Do REST API Standards Exist?
  • How to Optimize an API
  • Should you send payload in an HTTP GET request?
  • Implementing Paging in a REST API