Metadata is ‘data about other data’. In the terms of Salesforce metadata is your Objects, Fields, Page Layouts, etc. This is what admins, developers, and architects will be updating within Salesforce. The end user such as a sales rep will interact with the metadata in the sense of the layout definition determining what they can see on a page. However they will not be updating any metadata.
In order to update metadata it needs to be updated through Salesforce Setup which allows the ability to update a wide range of metadata such as previously described. However it does not allow the ability to update everything. Some metadata in Salesforce can only be updated through a deployment or through a REST API. Such as a Apex classes and triggers. In a production environment you do not have the ability to make any changes to Apex directly, in order to make changes a deployment needs to be made. Generally these changes are first made in a Sandbox or Scratch Org and then promoted up to a Production environment through a change set, automated deployment tool, or Salesforce CLI.
All metadata is categorized through different metadata types which define to Salesforce and the person changing the metadata what exactly is being changed. Each metadata type within has a set of fields which determine what can be updated and what values they can be updated to. Such as the FlexiPage metadata type (Lightning Record Page) Layouts in the type field it has a set of values that the type can be. The description field is a free form text describing the FlexiPage. With the FlexiPageRegion field being a list of regions that are in the FlexiPage.
Metadata within Salesforce describes how the application is going to function for the end users. Being able to change the metadata allows Salesforce to be a dynamic application that can be changed to fit your business needs at any point in time.
Checkout My New Course:
Crush It As A Salesforce Developer: Mastering Apex
Test Your Knowledge:
Try the new Salesforce Developer Quiz