+ Start a Discussion
sfdc freshersfdc fresher 

what is meta data and what are the instructions should we take care when moving to deployment?

Hi everyone,

could anyone give me the simple and clear explanation of meta data along with examples in salesforce. I would be greatful if you give the explantion instead of sharing the links ...
what is the use of this and any impacts/any precautions we should take care when we do some developement.

NagendraNagendra (Salesforce Developers) 

Most applications manipulate data, which is often stored in a database. Typically this data is information such as Account details or Contact information. However, you can consider the source code for the application itself as data that provides the information on how your application looks, feels, and functions. You can refer to this information as metadata.

Traditional development paradigms rely on software developers to take this code and configuration information, compile, package, and deploy it before users could begin using the application. The Force.com platform, however, delivers Software as a Service (SaaS) and immediately uses the metadata to provide an on-demand application directly in the cloud.

On the Force.com platform, metadata defines a rich set of components including all aspects of Force.com functionality, from the appearance of user interfaces through workflow. Examples of components of metadata include custom user interfaces created using Visualforce, generated page layouts, and even Apex classes for custom application functionality. In short, just about every aspect of a Force.com application, ranging from workflows to the configuration of database objects (that store data!), is metadata.

Metadata is basically "data that describes other data".

For example, in Salesforce you can query data like this:

SELECT FirstName FROM Contact WHERE FirstName='Mike'

Salesforce also provides metadata tables that describe code and configuration:

SELECT Id FROM ApexClass WHERE ApiVersion < 25

The Metadata API provides even more detail about code, objects, profiles, reports, and many more items
  • http://www.salesforce.com/us/developer/docs/api_meta/index.htm
The Force.com IDE for Eclipse plug-in uses the Metadata API to keep local files in sync with Salesforce.

Metadata in normal database concept is the data about your tables, databases etc. Like how many tables are there in database? How many columns are in table? What are the types of column in table etc.

So, Metadata in Salesforce gives us the information about your organization like : Total number and name of Workflows, Email Templates, sObjects, Page Layouts etc.

We have a Metadata webservice (Metadata WSDL) provided by Salesforce. Metadata can be used with combination of Java or C# or any other language for tasks like creating Custom Object, Creating profile, Creating fields, fetching complete object list etc.

The Eclipse IDE, ANT Migration tool, Dataloader and other client based tools are actually using Metadata API internally to perform these tasks.