Configure Apps with Custom Metadata Types (Generally Available)

Use custom metadata types to define configurations and create reusable app components and features that you can package and deploy. You and others can then create custom metadata that uses the characteristics of the custom type.
Available in: Enterprise, Performance, Unlimited, Developer, and Database.com Editions

Platform developers commonly use custom settings or custom objects to define configurations and create reusable app components and features. But because these entities’ records are data and not metadata, you can’t package, deploy, upgrade, and customize these types in a manageable way. With custom metadata types, you can build apps defined and driven by your own types of metadata.

With custom metadata types, you can:
  • Speed your development by 25% by writing fewer deployment tools.
  • Use just a few custom metadata types to accomplish what previously took tens of thousands of lines of code.
  • Upgrade installed apps up to 50% faster.
The essential tasks for custom metadata types are:
  • Create custom metadata types and records.
  • Create a user interface to accommodate the process of creating, editing, and deleting custom metadata records.
  • Package custom metadata types and records in unmanaged packages, managed packages, or managed package extensions.
  • Deploy packages that contain custom metadata types and records to Professional, Developer, Enterprise, Performance, Unlimited, and Database.com Edition organizations.
  • Use change sets to deploy custom metadata types and records from a sandbox.
  • Use all field types that are available in custom settings, except for currency fields, in custom metadata types.
  • Use SOQL queries to retrieve data from custom metadata types and their records. Unlike other Apex transactions, you can make unlimited SOQL queries for custom metadata types and records.
For more information.