Let’s say that you simply help a number of orgs, and also you’ve created a customized area. You need to add your new area to the web page layouts in all of your orgs. This kind of configuration info is saved in metadata sorts and parts in your org.
You possibly can create a script that makes use of Apex Metadata API so as to add your new area to the web page layouts in all of your orgs instantly from Apex. The metadata within the orgs is up to date behind the scenes, in order that your admins don’t need to make guide modifications in every org.
Apex Metadata API additionally lets you construct customized setup experiences to your options. For instance, let’s say you’ve created customized metadata sorts to help a brand new characteristic. The information of your customized metadata sorts should be configured otherwise for various international locations. You should utilize Apex Metadata API to construct a setup wizard that guides admins by means of a collection of steps to configure the information. This automation saves your admins from having to make guide modifications within the Setup UI.
Work with Metadata Straight from Apex
To work with metadata from inside Apex code, use lessons within the Metadata namespace. You possibly can entry two top-level metadata sorts: web page layouts and information of customized metadata sorts, which supplies you the power to deal with a lot of the customization and configuration to your org.
So, what sorts of issues are you able to do with the Apex Metadata API? You possibly can retrieve metadata from an org synchronously. Then you’ll be able to examine this metadata and replace it, and it’s also possible to create metadata. It’s simple to deploy your up to date metadata to your orgs, utilizing asynchronous deployment. To be notified when your deployment completes, you’ll be able to implement a callback.
Do not forget to take a look at: How to Update the Values of a Custom Picklist Field using Metadata API?
We will deploy this new document to an org instantly from Apex
Metadata.CustomMetadata customMetadata = new Metadata.CustomMetadata(); customMetadata.fullName="MyNamespace__MetadataTypeName.MetadataRecordName"; Metadata.CustomMetadataValue customField = new Metadata.CustomMetadataValue(); customField.area = 'customField__c'; customField.worth="New worth"; customMetadata.values.add(customField);
Though there’s lots you are able to do with Apex Metadata API, there are some limitations to remember.
- Within the present launch, we help solely two metadata sorts: web page layouts and the information of customized metadata sorts.
- Studying, creating, and updating metadata are supported, however deleting metadata shouldn’t be supported.
- We don’t have an API that permits you to monitor the standing of a deployment. Nonetheless, you’ll be able to arrange a callback that is named when the deployment completes.
What About Safety?
Metadata is highly effective stuff. So, maybe you’re involved about safety. Don’t fear! Belief is our primary worth at Salesforce, and Apex Metadata API is constructed to be a trusted interface. Put in packages should be Apex-certified, or the subscriber org should activate a setting to permit an Apex metadata deployment. You possibly can monitor the namespace that initiated deployment within the Setup audit path.
Try one other wonderful weblog by Rupesh right here: What is the Apex Testing Framework in Salesforce in 2023?
A Be aware for ISVs
Though the examples on this module concentrate on enterprises, Apex Metadata API may also be helpful if you happen to’re a developer at an ISV. Creating setup UIs particular to your apps and automating configuration modifications can present a lift to your online business. With Apex Metadata API you’ll be able to:
- Get monetary savings for you and your prospects by making the setup expertise sooner and simpler for non-experts.
- Remove some setup steps fully by automating them.
- Present admins the potential to vary configuration on the fly by giving them a software they will use with out skilled companies experience.
- Improve product adoption by reducing the barrier for purchasers to attempt your app.
- Defend your mental property. The flexibility to replace protected metadata in your app means you’ll be able to disguise extra of your configuration from prospects.
- Remove reliance on distant website settings, lowering the complexity of your code and simplifying prospects’ setup.