About Metadata Files

Force.com IDE is in a maintenance-only state. We still provide support for the product through our official channels, but updates prior to October 12, 2019 will be only for critical security issues that arise. On October 12, 2019, we will no longer provide support or updates of any kind for Force.com IDE. On that date, we will also begin archiving documentation and removing download links for the product. We recommend that you start migrating to Salesforce Extensions for Visual Studio Code or one of the great tools made by our partners. For more information, see The Future of Salesforce IDEs on the Salesforce Developers Blog.

Warning

The Lightning Platform executes applications in its multi-tenant environment through a concept known as meta-customization. Application components such as schema definitions, page layouts, workflow rules, even classes and triggers, are stored in a database, just like data in a traditional single-tenant application. These database records that describe the application itself are called metadata components. Because they are stored in the database and loaded at runtime, metadata components can be created and modified on the fly by manipulating these records using the Setup pages of your Salesforce organization.

The Force.com IDE brings these metadata components into the context of traditional source code based application development by presenting them as text files. In the IDE, you work with metadata files that define Apex classes and triggers, custom objects, custom fields, Visualforce pages, and other metadata components, and then synchronize these artifacts back to your home organization (a sandbox or Developer Edition environment).

Because the files are text-based, these metadata files can be created or modified in a text editor, compared using text diff tools, managed in a version control system such as CVS or Subversion, and even deployed from one Salesforce organization to another.

The Force.com IDE uses the Metadata API to communicate with Salesforce servers. This API contains a retrieve() method to convert metadata components stored in the database into text files, and a deploy() method to convert metadata files back into database records. Although most developers will want to use the Eclipse user interface to accomplish their development tasks, the underlying Metadata API calls and components are openly available and documented for your reference. For more information about Metadata calls, see the Metadata API Developer Guide.

Note