An Introduction to Point-and-Click App Building with Force.com
The Force.com platform enables you to build, execute, and deploy applications in the cloud quickly and easily, all from within your Web browser. With Force.com's point-and-click interface, you can create and modify application components, including:
- customize standard objects such as Contact, Account, and User
- create and manage custom objects (aka tables)
- manage user interface components that correspond to objects, such as page layouts
- build reports to list and summarize data
- declare simple but powerful business logic such as workflow rules and approval processes
- develop, execute, and test custom business logic, including Apex class methods (stored procedures) and database triggers
- develop custom user interfaces using Visualforce pages
This article introduces you to Force.com's browser-based user interface and provides an overview of the different menus, including how you can use it to create and control your Force.com applications and environment. After reading this article, you will have a good overview of what you can accomplish with the Force.com interface and how to use it.
Force.com Metadata
The Force.com platform provides an enormous amount of functionality and flexibility, all of which is driven by underlying metadata. Force.com metadata is a collection of attributes that describe most components of data and applications that 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, simply access a data record held in Force.com. When you access the record in your Force.com environment, the platform uses metadata to understand the structure of the record, the user interfaces defined for the record, the applications that use the user interface, even the security on that data and application. To read more about metadata and its role, read An Introduction to Force.com Metadata.
Why is there a discussion about metadata here in article about a user interface? Because Force.com's Web-based development environment presents you with pages and wizards to define the underlying metadata for your environment. When you enter or edit values through point-and-click tools, you are setting values for the underlying metadata. The Force.com IDE, an integrated development environment based on Eclipse, also manages metadata when you develop application components. But instead of acting through a Web interface, the Force.com IDE downloads textual representations of the metadata for manipulation on a local client and then uploads modified metadata to Force.com when you apply changes.
The Structure of Force.com's Development Environment
All Force.com users have access to the Force.com's development environment from any application through the Setup link in the upper right side of the page.
Clicking on the Setup link opens the Force.com Home Page.
The Force.com Home page has several key areas to notice.
- Getting Started
- The Getting Started box in the top middle of the page provides access to the App Quick Start wizard for building a simple app with just a few mouse clicks, along with handy links to resources for learning more about Force.com app development.
- Quick Links
- The Quick Links box, underneath Getting Started, provides handy links to tools for managing tools, users, apps, security, and data.
- Community
- The Community box, underneath Quick Links, showcases available resources. This box doesn't appear if you've previously dismissed it. It reappears with each new release; click Dismiss to hide it again.
- Left Sidebar
- The menus and links in the left sidebar provide you access to various parts of Force.com's Web-based development environment. Subsequent sections in this article explain each menu in more detail.
- Right Sidebar
- The right sidebar includes external links that are useful for developers and administrators.
Before exploring the various aspects of the Force.com development environment, first notice that the tabs for the currently selected application are still visible. You can immediately return to the application by selecting any of those tabs.
System Overview
When you click on the System Overview link in the left sidebar, the System Overview page loads.
The system overview page shows usage data and limits for your organization, and displays messages when you near limits. Click the numbers under each metric to get more details about your usage. If it’s available, use Checkout to increase usage limits for your organization. For example, if your organization reaches the limit for custom objects, the system overview page notifies you with a message link. Click the link to clean up any unused objects, or visit Checkout to increase your limit for objects. You can also add system overview messages to the Force.com home page to remind you when your organization reaches its usage limits.
Personal Setup Menu
All users have access to Personal Setup, which you use to set preferences for your personal Force.com environment.
The main work in Personal Setup takes place in the My Personal Information section. You can shape your own Force.com environment, including specifying personal information, adjusting aspects of your authentication, and even changing the display of the applications available to you. You can go so far as to add or remove individual tabs from your own version of a Force.com application through the Change My Display option of My Personal Information. The Personal Setup menu also includes configuration settings for your email, as well as the ability to import accounts and contacts from various third-party contact managers and to enable and use Force.com Connect Offline.
Personal Setup for Developers
Although the Personal Setup menu is available for all users, there are some specific parts of this menu that developers should be aware of. The Change My Display option lets you customize tabs for any particular application, or to show and hide related lists for a page, within the boundaries of your security settings. When you add tabs to an existing application, you have the option to have these tabs automatically override existing tab settings.
When you click Personal Information > My Personal Information, notice that your personal information includes a setting called Development Mode. This setting, when enabled, lets you access the in-page Visualforce editor for building custom user interfaces for your applications.
App Setup Menu
The App Setup menu is where you will spend the most time as a developer. These menus provide access to pages thats let you create and configure Force.com components and services.
The App Setup menu has four primary menus:
- Customize
- Use these menu options to modify the standard objects that are in 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, and fine-tune Chatter settings, including feed tracking preferences.
- Create
- Use these menu options to access most of the declarative application building power of the Force.com platform. These menus let you define applications and tabs, custom objects, report types, along with workflow rules and approvals. The next section of this article uses the Objects menu option to explore the point-and-click interface to underlying Force.com metadata.
- Develop
- Use these menu options when you need access to the programmatic power of the Force.com platform. Visualforce is Force.com's custom markup language that you can use to quickly and easily build custom user interfaces for your apps. Apex is Force.com's procedural programming language, similar to Java, that you can use to build custom app logic in the form of Apex classes and triggers, as well as custom Visualforce page controllers. The Develop menu also includes options for executing Apex unit tests, managing custom Visualforce components, and much more. You can also load static resources that your apps need, and download Web Service Definition Language (WSDL) files for your environment. And finally, the Develop menu options include links to download key tools for use with the Force.com platform, including the Force.com IDE and the Force.com Migration Tool.
- Deploy
- Use these menu options to access Force.com's visual schema building tool, Schema Builder (see below), to manage aspects related to change sets (metadata sets) and to monitor deployments of XML configuration files from Force.com IDE, Force.com Migration Tool, and other Metadata API client applications.
Among other things, the App Setup menus also provide access to information about applications in your environment, which are called packages. You can unload these packages and their associated data from this page.
Schema Builder
Click App Setup > Schema Builder to display Schema Builder, a dynamic environment to add new custom objects, custom fields, and relationships to your schema. Schema Builder makes it easy to navigate easily among your related schema objects without having to load various page. And it's drag-and-drop interface lets you easily add a custom object or new field, and saves the layout of your schema any time you move an object. Schema Builder provides details such as the field values, required fields, and how objects are related by displaying lookup and master-detail relationships. You can view the details for both standard and custom objects in schema builder.
App Setup for Developers
The App Setup menu is where Force.com developers do most of their 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 the Setup interface—virtually all of the menu entries here are relevant to your work as a developer.
Administration Setup
All users have access to the Administration Setup menu, which you can use for a wide variety of adminstration options for the Force.com environment.
In this section, you can create, edit, and manage organization-wide resources, such as users and security controls, templates used for email and mail merges, company information, and globalization settings. Main choices in this section let you 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 also 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 options under Administration Setup provide access to choices and tools for moving data in and out of your Force.com organization. Most importantly, you also have access to security controls for the environment, your users and the entities in your environment.
Administration Setup for Developers
Although you will typically define security settings for each entity in your Force.com environment individually, the security settings in Administration 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.
Using the Force.com Development Environment
Each discrete menu option Force.com's Web-based development environment brings up a page in the main portion of your screen. Typically, the initial page lists all the entries for a particular type of component, along with menu choices that let you view or edit the metadata for individual components. For example, the following screen shows a representative Apex Classes page that appears when you click App Setup > Develop > Apex Classes.
From such lists, you have the option of working with one of the existing components (in this example, an Apex class) or creating a new component. When you create a new component, Force.com 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. For example, the following screen shows the Create Apex Class page with some Apex code for a new class.
Similarly, you can create custom objects, what you might refer to as "tables" in a traditional database system. Once you create a custom object, you can edit the definition of the object via the Custom Object page.
The Custom Object page provides links for adding custom fields, validations to enforce data integrity rules, database triggers, and custom buttons or links to the object's page layouts. 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, a wizard walks you through a number of steps, including:
- Selecting a field type.
- Giving the field a label, name, 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.
- Adding the field to existing page layouts.
- Depending on the type of field in focus, the wizard may include other pages for other relevant metadata attributes.
As with all pages in Force.com, you can use the on-line help for more details about the individual fields and choices you can make on the Custom Object page.
When to use Force.com's Web-Based Development Environment
You may have already read articles such as An Introduction to Force.com Metadata and know about the Force.com IDE. So when should you use the Force.com IDE and when should you use Force.com's Web-based development environment?
Because the Force.com IDE framework is designed as an 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 Force.com's Web-based interface.
Declarative features, from custom object creation through defining workflows, are probably handled best through Force.com's browser-based development environment because the built-in wizards help to guide you to successful definition of all appropriate metadata.
You can build Visualforce pages using both the Force.com's Web interface and the Force.com IDE. You might find it more convenient and intuitive to create Visualforce pages using the Force.com Web interface because development mode lets you instantly see how your Visualforce pages appear and operate.
The Developer Console
Another feature of the Force.com Web-based development environment is the Developer Console. You can access it from the same menu in the upper right corner that contains Setup.
Once the console loads in a new window, click the Repository tab to view, edit, and create new Apex classes, triggers, Visualforce pages, view all the standard and custom objects in your org, and more.
The Heap Dumps tab lets you browse snapshots of the state of objects in memory at the time of capture, including references between objects, and view variables in detail.
Summary
Force.com's Web-based development environment is a powerful tool that lets you create and modify all the declarative capabilities of the Force.com platform from within your Web browser, without having to install or configure any software. You can also use it to modify procedural components such as Apex classes and Visualforce pages, and even perform many administrative tasks. Familiarizing yourself with this environment is an essential part of becoming a developer on the Force.com platform.
Additional Resources
- Developer Force provides access to free Developer Edition accounts, which you can use to start developing and exploring Force.com's development environment immediately. Click Join Now to get started.
- 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 about several topics covered in this article.

