Chapter 21
In This Chapter
Understanding the Force.com platform
Creating apps on Force.com
Deploying apps for your company
What if you could modify your business applications in minutes to match the unique ways you manage your customer relationships? How much more productive could you be if you spent less time fighting your technology — and more time with your customers?
Force.com is the Salesforce platform you use to customize and create on-demand applications by simply pointing and clicking your mouse on easy-to-use web pages. In fact, with Force.com, you can not only customize your existing Salesforce applications but also now build entirely new applications to fit the way you do business. If you need a little inspiration, you can also install a preexisting solution from the AppExchange directory.
In this chapter, we demystify the Force.com platform and define some basic terms to give you a glimpse of the awesome power of creating custom apps. Then you see how to share your creation on the AppExchange (www.appexchange.com). Finally, we offer simple and critical tips for preparing your deployment game plan.
As we mention, Force.com is the salesforce.com on-demand platform: a suite of development tools for customizing, building, integrating, and installing business applications — and you don’t need to build or maintain any infrastructure yourself.
Force.com is both a collection of customization tools as well as the underlying infrastructure that powers the Salesforce app that you use. The cool part is that over time, salesforce.com engineers have exposed parts of their secret sauce so that you can use it, too, and they’ve also used these customization tools to build additional features onto Salesforce.
Briefly, here are some key terms to know:
Unless you’re a developer (or a glutton for punishment), you don’t need to know the technical ins and outs. What you do need to know is that Force.com enables Salesforce administrators to easily customize and extend their existing on-demand applications without extensive involvement from developers. For building applications, which can take months with traditional software, you can point and click to quickly develop new applications in hours or days, completely integrated with your existing Salesforce CRM system.
To see all options available to you with building Custom apps, log in to Salesforce and follow these steps:
The Build page appears. This page highlights all the features and functionality available to help you customize, build, share, and integrate your CRM.
This chapter focuses on the tools listed under the Create header. We cover the Customize heading in Chapter 20. We don’t discuss Develop because that’s a more technical discussion, and we promised you “no code required.”
Force.com places so much potential at your fingertips that just like a kid in a candy store, you may have the urge to just jump in and start building custom objects and tabs — a baptism by fire. Although that method is appetizing in theory, it’s a quick way in reality to get a stomachache, especially if your business grows and more people start entering information in Salesforce. Resist that impulse until you review these simple steps for planning your strategy for on-demand applications:
Your wish list doesn’t need to be very involved, but it should spell out the who, what, when, why, and how.
With agreed-upon objectives, take your project down another level and lay out a plan to address the most pressing objectives.
You have many different ways to tackle a business issue with Force.com — some better than others.
Don’t sacrifice your objectives at the expense of simplicity — although at the beginning, simple is often better.
If a custom app seems like the right strategy, figure out what it is that you want to measure. Understand how well your solution may scale (or not).
After you sketch the basic requirements for your new application, you’re ready to begin building. A good place to start is to simply create the custom app, much like a container, before you add your objects and tabs.
Choose Setup⇒Build⇒Create to get to a powerful set of customization tools that can empower your business faster than the status quo of traditional software solutions.
To add the custom app, choose Setup⇒Build⇒Create and then follow these steps:
The Apps page appears. You see a list of your standard Salesforce apps, plus any custom apps you created.
The first step of the New Custom App Wizard appears.
The name you type in the label field will appear on the Force.com Apps pull-down menu.
You have to first add the logo to a public folder on the Documents tab.
The logo will appear as the header whenever a user selects the custom app from the Force.com Apps menu. Of course, if you don’t want to brand the app, you can leave the current Salesforce-provided image.
You do this step by simply clicking tabs from the Available Tabs box and using the arrow buttons to create your list of Selected Tabs.
If you haven’t created all your custom tabs yet, don’t worry. As you create custom tabs, you can associate them with your custom or standard apps. (For all the details, see the section “Creating custom tabs,” later in this chapter.)
You want to make sure that the right apps are available to the right people in your organization.
The Apps page reappears, and your new custom app now appears in the list.
Typically, you create a custom object to house a discrete set of information that’s different from what is contained in other standard objects. For example, an Opportunity object contains opportunity information. A Custom Expense object contains information about expenses that’s unique from the typical purpose of other standard objects.
If you want to build a home, you have to add the basic building blocks first. The same analogy applies to custom apps and objects. For example, if you want to build a recruiting application, you might decide that you could use the Contacts object for applicants and need to build custom objects for Job Postings and Interview Feedback because they’re distinct blocks of data.
To set up a new object, follow these steps:
The Custom Objects page appears. This page, your starting point for creating an object, is where all your custom objects are displayed.
The New Custom Object page appears.
You usually just need to fill out the Label and Plural Label fields. This will then automatically populate the Object Name field. Labels are what your end users see (like “Time Off Request”). The object name is what Force.com sees (like “Time_Off_Req”) in case you need to have another system (or another part of Salesforce) talk to it.
The record name appears on page layouts, related lists, lookups, and search results. This is what you use to differentiate one record of this object from another. Depending on the type of object you’re creating, you may want to switch the data type from Text to Auto Number.
Here’s how to tell when to use text versus auto numbers:
Auto Numbers are useful for sequenced business documents, such as invoices (INV-001, INV-002, INV-003, and so on), purchase orders, IT tickets, and timecards.
With simple pointing and clicking on your part, Force.com allows you to select your custom object’s features that are identical to many of the features found on standard objects, such as tracking activities, allowing reporting, or allowing notes and attachments to be added.
We recommend making sure that you can explain the business process around using the new object before deploying it to help guide correct adoption.
Select the Deployed button if you’re ready for your users to begin using it. If you wait to deploy the app, return to this screen by choosing Setup⇒Build⇒Create⇒Objects. Select your object from the list of custom objects, and you return to the custom object detail page.
The New Custom Object Tab Wizard starts. See the section “Adding a tab to a custom object,” later in this chapter, for the how-tos on building a new tab.
Designing your custom object is as simple as modifying a contact record or adding to a contact record’s related lists. If you need to change the basic settings, simply click the Edit button at the top of the Custom Object page for the object, and the New Custom Object Wizard reappears.
If you want to customize your new object, you can point and click through the related lists on the page.
One primary reason for building applications with Force.com is to create a single, integrated, one-stop shopping experience for your users.
The key to those linkages is building custom relationships between objects. For example, if your company wants to manage account planning in Salesforce, you want to create a relationship between the standard Account object and a custom object for the Account Plan.
To build a relationship, follow these steps:
The All Custom Objects page appears.
The Custom Object page appears.
The New Custom Field Wizard appears.
Force.com supports two types of custom relationships: Master-Detail and Lookup. They’re both one-to-many relationships.
A Lookup relationship links one object to another. The representative custom field will have a little magnifying glass icon next to it so that you can “look up” a value from that related object to associate with another object. Master-Detail (also known as parent/child) relationships are a special type of association: The relationship is required for the detail, and the value can’t be changed after the association is made. If you delete the master record, its related children are also deleted.
The two relationships look the same in the user interface — as a lookup field with a magnifying glass on the record side and as a related list on the related object.
But here are two big differences:
When you’re in doubt, start with the Lookup option.
You can create as many as five Lookup relationships with a custom object.
As a default, Force.com prefills the fields with the name of the object you selected, although you can change it.
If you chose the Master-Detail option, the security is set for you because it’s locked to the profile. If you chose the Lookup option, select the appropriate check boxes to control visibility and edit rights to the field.
Suppose that you’re creating an expense application. You may want the rep’s layout to be different from the manager’s layout.
For example, if you’re linking expenses with accounts, you may not want a long list of expenses showing up on an account record.
The Custom Object page reappears, and your custom relationship is displayed in the Custom Fields & Relationships related list.
Remember that between two objects, you can have only one object that allows the Master-Detail relationship, so the other object has to be a Lookup relationship.
Other ways that you can modify custom objects to fit your company’s business processes include
Don’t forget this step because without customizing this section, your users don’t see much in a related list. When you add the right columns, though, the related list becomes a powerful tool for your users. By customizing the columns displayed in a related list, users can quickly see a summary of relevant information from a record’s detail page. See Chapter 20 for more information on customizing related lists.
With Force.com, you can create two types of custom tabs: custom object tabs and web tabs. They look just like the standard tabs that your users already use, and you can build the tabs in less than a minute — piece o’ cake.
If you read through the section “Building your custom objects,” earlier in this chapter, you’ve probably already built a custom tab. Sometimes, however, you build a custom object and decide later to add the tab.
To build a custom tab, follow these steps:
The Custom Tabs page appears.
Step 1 of the New Custom Object Tab Wizard appears.
The tab style affects both the color of the tab and the icon associated with a custom object record under Recent Items.
With the radio button feature, you can control tab visibility to your profiles.
This step makes it simple to associate custom tabs with just the right apps for your users.
The Custom Tabs page reappears with your new custom tab listed.
In the normal course of a day, your users frequent other websites as part of their jobs. Here are just a few examples:
The list goes on. Why not make it easier for users to get to your business-related sites? With Force.com, you can build web tabs that access web applications and Visualforce.
To create a simple web tab, follow these steps:
The Custom Tabs page appears.
Step 1 of the New Web Tab Wizard appears.
In this example, we show you how to create a URL-based web tab for news labeled Company News.
Embedding merge fields is easy after you get the hang of it. For example, this URL is the standard search results URL from Yahoo News:
http://search.news.yahoo.com/search/news/?p=salesforce&c=
We copied and pasted the URL in the Button or Link URL box. Then we used the merge field tool for {!Org_Name}
and put that in place of salesforce
in the URL.
As customers, employees, and partners began building custom applications (or apps), some bright person came up with an idea: Wouldn’t it be great if other customers like you could simply try, download, and install these custom apps without having to build them on their own? iTunes uses the web to distribute music, so why shouldn’t enterprise applications work the same way?
Enter AppExchange, the website owned and operated by salesforce.com where you can try, download, and quickly install apps that can extend the value of Salesforce to meet your unique needs. You can even use the AppExchange to share your custom apps.
Of course, the biggest benefit beyond how much easier your life will be is the impact on your users. The AppExchange marketplace isn’t just about easy sharing — it’s about your employees using integrated business apps with all your information in one place.
Downloading music and video from the web is something we take for granted nowadays. But downloading enterprise apps? Wow, that seems like a whole ’nother animal.
Yet, when you get down to it, AppExchange is still about the exchange of a package of goods from one party to another. As with many innovations, getting the most out of a new system usually amounts to understanding some basic terms and knowing your limits before jumping in.
Here are six key things you should know before you get started:
Familiarize yourself with AppExchange at www.appexchange.com, and then try out some apps before you decide whether you want to use them.
If you want to install a custom prebuilt app, you can do it in a matter of simple clicks. This process amounts to first downloading the package, installing the app into your instance of Salesforce, and deploying it to all or a portion of your users.
To install a custom app, follow these steps:
If you haven’t logged in to the AppExchange yet, you will be prompted to enter your Salesforce username and password. Make sure you enter the information that reflects which org you want to install the app into.
For larger organizations, you may have customizations that need to be tested with this package. A sandbox that is practically an exact copy of what you have in your live system is a good place to kick the tires without the potential of impacting your business if something goes wrong. If you don’t have access to a sandbox, install the app in your production environment, but make sure you make it visible just to system administrators first until they’ve thoroughly tested the installation.
Salesforce makes this as transparent an installation as possible. You can see if this app is free or not, what the subscription model is, and where it is being installed.
The Package Installation Details page appears in Salesforce.
If you’re experimenting with the AppExchange for the first time, you may want to consider using the Sandbox Edition or a free Developer Edition instance to install, customize, and test the custom app.
This page summarizes the custom app’s details, including objects, fields, tabs, reports, and dashboards.
Make sure that you examine the contents of a package thoroughly before proceeding. You may see a next page that shows you the package’s API access to various objects, including details of what permissions the package will have on what objects.
This Package Installer Wizard allows you to choose either standard or custom security settings to meet your comfort level. We recommend that you choose the Select Security Settings option to start.
After choosing the Select Security Settings option, a Customize Security page appears.
The access levels here determine the layout assignments, field-level security, and other fun stuff such as editing permissions for the custom objects in the package. Access levels set here don’t affect those of any existing objects you have.
Any standard profiles will have full access to custom objects in this package because permissions aren’t editable for them. The only exception is the Read-Only profile, which will still maintain (duh) read-only permissions.
A progress page appears as installation begins. An Install Complete page appears after the installation finishes. Bet your traditional software can’t create a whole new app that fast!
At this point, you can choose to deploy the app immediately to users or further customize it. We suggest that you click OK to confirm the download and begin prepping some dummy data before you deploy this to users.
The Installed Package Details page for your newly downloaded custom app appears. It shows installation details, and from here, you can click the respective buttons to view the package components or view dependencies between this app and anything else you have in your org. If you check out the upper-right corner, you’ll notice that the Force.com Apps menu now contains a listing for your new app.