Upto 20% Scholarship on Live Online Classes
Many Salesforce developers and system administrators use Metadata API to manage the modification and release process for complex organizations. This blog covers guide about Salesforce Metadata API.
Metadata API is used to assist developers in retrieving, creating, deploying, updating, or deleting the customized information. This can be such a thing that is done using custom object definitions and page layouts for the organizations. The Salesforce Metadata API is meant to be used for management to make customizations and build tools to assist management at the mode of metadata.
The easiest and simplest way to access the functionality in Metadata API is to use the IDE of Force.com or Ant Migration Tool. To simplify the work with Metadata API, both tools are built on top of Metadata API and use Ant tools and Standard Eclipse respectively.
Metadata API enables you to access some entities and feature settings that you can customize in the user interface and manage the setup. Such as-
You can make changes in the metadata in test organizations on Developer Edition or sandbox, and then employ tested changes to production organizations on Enterprise, Unlimited, or Performance Editions. You can also create code snippets or scripts to populate a new organization with your custom objects, custom fields, and other components.
Employing Managed and Unmanaged Packages
Both managed and unmanaged packages can be employed with the Metadata API. The only difference comes in the process of working with unmanaged data. When you call for unmanaged packages, use of an asterisk (*) is prohibited in the package.xml file.
Thumb Rule: Asterisks work great for retrieving assets, but it’s better to not use them for deployments
Employing of a managed package is also possible with metadata API, but the method is different. A metadata type named Installed Packages is used to do this. These are named after the namespaces of the currently installed packages. If you employ any one of them or even only one, then the managed package will be installed in the target organization. You will receive an email, just like somebody clicked “Get It Now” on the AppExchange. This is the only metadata type that sends out emails; and the only asset that must be deployed alone.
With Great Power
The Metadata API solves very difficult problems.
There are some things which you can customize in a Salesforce org but are not available or invalid in the Metadata API. The following components can’t be retrieved or deployed with Metadata API, and changes to them must be made manually in each of your organizations:
Metadata components are based on metadata types, such as ApexClass and CustomObject, which extend Metadata which is the base class of metadata types. A component is an instance of a metadata type.
For instance, CustomObject which is a metadata type for custom objects, and MyCustomObject_c component is an instance of a custom object. A metadata type can be identified in the metadata WSDL as any complexType that extends the Metadata complexType. A complexType that is a metadata type includes the following element in its WSDL definition:
Each component field has a specific field type. These field types can correspond to other components defined in the WSDL, or primitive data types, like string, that are commonly used in strongly typed programming languages.
These field data types are used in the SOAP messages that are exchanged between your client application and the API. When writing your client application, follow the data typing rules defined for your programming language and development environment. Your development tool handles the mapping of typed data in your programming language with these SOAP data types.
Some component fields have a data type that is an enumeration. An enumeration is the API equivalent of a picklist. The valid values of the field are restricted to a strict set of possible values, all having the same data type. These values are listed in the field description column for each enumeration field. See sortBy for an example of an enumeration field of type string. The XML below shows a sample definition of an enumeration of type string in the WSDL.
All of the metadata types are supported by the main calls, unless it is stated otherwise in the individual component sections. The main Metadata API calls are:
Things to Remember
JanBask Training is a leading Global Online Training Provider through Live Sessions. The Live classes provide a blended approach of hands on experience along with theoretical knowledge which is driven by certified professionals.