An Introduction to Builder

An Introduction to Builder

Abstract

The Force.com platform enables you to build, execute and deploy applications in the cloud. To create, manage and administrate applications, you can use a traditional Integrated Development Environment (IDE). However, you can also use a powerful web-based interface, which we'll call builder. This web-based interface is the subject of this article.

With builder, you can create and modify all the declarative capabilities of the platform—for example, you can create new persistent objects, and setup workflow and approval rules. You can also use builder to modify the procedural capabilities—for example you can write Apex Code and edit Visualforce user interfaces. In addition, the interface allows individual users to shape their personal preferences for the Force.com environment, and administrators to control the overall capabilities of the Force.com organization.

This article introduces builder and provides an overview of the different builder menus, including how you can use builder to create and control your Force.com applications and environment. After reading this article, you will have a good overview of what the builder can do and how to use it.

Force.com Metadata

The Force.com platform provides an enormous amount of functionality and flexibility, which is driven by underlying metadata. Metadata is a collection of attributes that describe most components of data and applications which operate on the platform. Metadata describes the data structures in your environment, the declarative functionality implemented on the platform - even the applications you build on the platform.

To understand the power and reach of metadata, you can simply access a Force.com record. When you access the record in your Force.com environment, the Force.com platform uses metadata to understand the structure of the record, the user interfaces defined for the record, the applications which use that user interface, even the security on that data and application. To read more about metadata and its role, read An Introduction to Metadata and Development as a Service.

Why is there a discussion about metadata in article about a user interface? Well, builder is an interface that presents you with pages and wizards to define the underlying metadata for your environment. When you enter or edit values through builder, you are setting values for the underlying metadata. You can think of the Force.com IDE, an integrated development environment, as doing the same thing. Instead of acting through a web interface though, the Force.com IDE downloads textual representations of the metadata for manipulation on a local client.

The Structure of Builder

All Force.com users have access to the builder from any application through the Setup link in the upper right side of the page. Clicking on that link will open the builder environment, as shown below, with the builder menu on the left hand side.

The tabs for the currently selected application are still visible, and you can immediately return to the application by selecting any of those tabs.

The builder menu is divided into three main areas - Personal Setup, App Setup and Administrative setup. Clicking on any of these category headings will present an overview of the capabilities of that section of the builder, along with some links to training materials.

Click on the Help for this page for extensive help on any page displayed in builder.

The following sections of this article will provide an overview of the options available in each of these respective areas of the builder menu.

Personal Setup

All users have access to Personal Setup, which is used to set preferences for their personal Force.com environment.

The main work of Personal Setup takes place in the My Personal Information section. A user can shape their own Force.com environment, including specifying personal information, adjusting aspects of their authentication, and even changing the display of the applications available to them. A user can go so far as to add or remove individual tabs from their own version of a Force.com application through the Change My Display option of My Personal Information.

The Personal Setup category also includes configuration settings for a user's email, as well as the ability to import accounts and contacts from various third party contact managers and to enable and use Force.com Offline.


Personal Setup for developers

Although the Personal Setup area of builder is available for all users, there are some parts of this setup area that developers should be aware of. The Change My Display option gives users the ability to show or hide tabs for any particular application, or to show and hide related lists for a page, within the boundaries of their security settings. When you add tabs to an existing application, you will have the option to have these tabs automatically override existing user tab settings.

The Personal Setup page, in the User Details section, has a setting called Development Mode. This is particularly useful when editing Visualforce pages, as it enables the in-page Visualforce editor when selected.

App Setup

The App Setup area of the builder is where developers will spend the most time, since this area allows you to create and configure Force.com components and services.

This area is divided into three sections:

  • Customize, which is where you can modify the standard objects that come with your Force.com environment, such as the Account, Contact and Opportunity objects, as well as create console layouts, enable and configure tagging for objects, and enable different user interface and search options. You can also enable Salesforce-to-Salesforce exchange and Customer Portal.
  • Create, which is where you gain access to most of the declarative power of the Force.com platform. This section is where you can define applications, report types, tabs and workflow and approvals, as well as defining custom (persistent) objects. The next section of this article will use the Objects option to explore the general builder interface to the underlying Force.com metadata.
  • Develop, which focuses on the programmatic aspects of the Force.com Platform. You can create, delete and edit Apex Code, Visualforce pages and components and S-Controls in this section. You can also load static resources, download Web Service Definition Language (WSDL) files for your environment. This section also includes links to download key tools for use with the Force.com platform, including the Force.com IDE, the Force.com Migration Tool and the Force.com Explorer.

The App Setup section of builder also includes a page that will give you information about applications you have installed in your environment, which are called packages. You can even unload these packages and their associated data from this page.

App Setup for developers

The App Setup area of builder is where you will do most of your work in creating applications and their components. As such, you should familiarize yourself with the broad range of functionality available to you within this section of builder—virtually all of the menu entries will be relevant for your work.

Administrative Setup

All users have access to Administrative Setup, which is used for a wide variety of administrative options for the Force.com environment.

In this section, you can create, edit and manage organization-wide resources, such as templates used for email and mail merges, company information, and the creation of users. Main choices in this section allow you to manage the use of the email and offline capabilities of the platform, integration with Google Apps, and the use of your Force.com applications with mobile devices.

You can monitor a variety of platform interactions, including database imports, API usage, and scheduled data snapshots, called analytic snapshots and listed as Scheduled Jobs.

The Data Management area of the Administrative Setup option gives you choices and tools to move data in and out of your Force.com database. Most importantly, you also have access to security controls for the environment, your users and the entities in your environment.

Administrative Setup for developers

Although you will typically define security settings for each entity in your Force.com environment individually, the security settings area of Administrative Setup give you a more global view of security across your environment, and you have to use the Manage Users choice to create and modify the basic units used to assign security, such as roles and profiles.

If you wish to setup and use analytic snapshots, you will access this capability through the Analytic Snapshot choice in the Data Management menu.

You will also use the Mobile and Offline choices to control the deployment of your Force.com applications into these alternative environments.

Using Builder

Each discrete menu option in builder brings up a page in the main portion of the Force.com environment. Typically, the initial page lists all the entries for a particular type of component, along with menu choices that allow you to view or edit the metadata for that component, as shown below for the Objects choice in the Develop section of the App Setup category.

From this list, you have the option of working with one of the existing entities or creating a new entity. When you create a new entity, builder presents you with either a single page or the first page of a wizard that guides you through specifying the core metadata attributes for the entity, as shown in the image below.

Once you have created a custom object, you can edit the definition of that object. This process allows you to add custom fields, validations, triggers and custom buttons or links to the object. You can also modify the attributes of standard fields, buttons, links or layouts for both the page and search dialogs, as well as add new page layouts or assign record types.

As an example, when you add a new field to a custom object, the wizard walks you through a number of steps, including:

  • Selecting a field type
  • Giving the field a label, name, and help text, as well as specifying help text, a default value and potentially other attributes, such as the length of the field or whether a value is required
  • Assigning security settings to the field and
  • Adding the field to existing page layouts

Depending on the type of field selected, the wizard may include other pages for other relevant metadata attributes.

This wealth of flexibility is accessed through different sections of the Object edit page. The top of the page includes a list of links that can display the entries for different sections without having to scroll to those areas, as shown below.

As with all pages in the builder, you can use the on-line help for more details about the individual fields and choices you can make on this page.

When to use Builder?

You may have already read articles on Force.com metadata, which explain how the source of much of the functionality of your Force.com applications is contained within this metadata. You may have also read about the Force.com IDE, which allows you to use a client to modify this metadata. But when should you use the Force.com IDE and when should you use builder?

Since the Force.com IDE framework is designed as an Interactive Development Environment (IDE) for many different languages, the Force.com IDE, built on Eclipse, is ideal for working with Apex Code, either in triggers or classes. It also boasts features such as integration with source code control systems, which you can't access through builder.

Declarative features, from custom object creation through defining workflows, are probably handled best through builder, since the built-in wizards help to guide you to successful definition of all appropriate metadata.

Visualforce pages can be defined in builder, through the Force.com IDE, and through the interactive Development Mode, which allows you to instantly see how your Visualforce pages will appear and operate.

Of course, your own familiarity with Force.com IDE or builder will also determine your best choice for any task.

Summary

Builder is a powerful web-based that lets you create and modify all the declarative capabilities of the Force.com platform. You can also use builder to modify the procedural capabilities, as well as perform administrative tasks. This article introduces builder and provides an overview of the different builder menus. Familiarizing yourself with this environment is an essential part of becoming a developer on the Force.com platform.

References

  • Developer Force provides access to free developer edition accounts, which you can use to start developing and exploring the builder user interface immediately. It also provides links to documentation, forums, and more.
  • An Introduction to the Force.com Database provides a much more comprehensive introduction to the Force.com Database, and shows how defining a little metadata results in a robust user interface being automatically generated.
  • An Introduction to Environments describes the various environments that are available, including those for development, testing and production.
  • The Force.com IDE page provides access to the Force.com IDE and its documentation.
  • An Introduction to Force.com Apex Code provides a comprehensive introduction to the Apex language, providing a lot more detail on all topics covered in this document.

About the Author

Rick Greenwald is a Platform Evangelist at salesforce.com, the author of the Developer Guide to the Force.com Platform and a frequent contributor to both the discussion boards and to Force.com blogs.