This chapter will give you a general introduction to Salesforce.com. You will learn the benefits of cloud computing technology and how to extend beyond the Salesforce CRM application using custom objects. There is also an introduction to Schema Builder. Then we will be covering the Salesforce.com architecture, setup menu, and testing environment. This guide will involve some hands-on activities for mastering reports and dashboard creation from Chapter 3, Creating Your First Report, and onwards.
This chapter contains information about reporting and dashboards that applies to both business users and system administrators. Some topics in this chapter discuss features specific for system administrators, but business users will also find it interesting to understand the Salesforce.com architecture better.
Throughout this chapter, we will provide notes and tips for you to understand the Salesforce.com technology. The following topics will be covered in this chapter:
Overview and benefits of Salesforce.com
The Salesforce object model
Navigating the setup menu
Salesforce.com is a web-based enterprise platform that you can access from anywhere, anytime, and on any device as long as you are connected to the Internet. It is a cloud application, so you do not need to purchase any server/hardware, operating system, or database to use it. If you haven't used Salesforce.com before, then let me tell you that it is a web-based application like Gmail or Yahoo e-mail, but it takes this a step further because it allows you to configure and customize it to suit your business needs.
When you sign up for Salesforce, you will be provided with an "organization," which is basically a software environment. Hardware, the operating system, and the database are shared among Salesforce customers within the same "instance". Salesforce customers within the same instance run the same version of platform.
You can illustrate the Salesforce platform as an apartment building, shared by many residences. In this multitenant environment, each organization's data, configuration, and users are completely isolated and are not accessible to any other organization. So, when you configure your Salesforce organization, the metadata changes are only for your organization. A similar rule applies to your database; access to it is only for your registered users.
If you have heard about cloud computing, you will easily understand that since Salesforce.com is a Software as a Service (SaaS) model, you will only need to configure Salesforce.com to start using it. Everything from object model and business logic to page layouts, reports, and dashboards is provided by the Salesforce platform. It also has its own Java-like programming language called Apex, and an HTML-like visual markup language called Visualforce page for custom user interface design.
Since the Salesforce team takes care of the infrastructure, maintenance, software upgrades, backup, and performance, it benefits companies by lowering the IT cost and the cost of resources. As a Salesforce subscriber, you just need to maintain your users and implement the business processes you need.
When Mark Benioff started Salesforce.com from his apartment in San Francisco back in 1997, Salesforce.com was intended to act as a CRM application only. However, as the platform grew and became more robust, Salesforce opened up its platform to more customization, where you could build any kind of applications beyond CRM.
The following products are available in this platform at the time of writing this book:
In summary, the advantages of using Salesforce.com compared to other on-premise applications are as follows:
Faster implementation schedule
Lower maintenance cost, since you don't have to buy or support in-house servers, data centers, and high-speed internet connections, or hire any IT staff for this work
It is scalable and robust
Security and high performance
Easily expandable functionality using prebuilt solutions from the AppExchange
Enjoy enterprise grade level application for small and medium businesses
Objects are key components in Salesforce.com. They allow you to store your data. Similar to a table in a database, an object consists of several fields to store data. You can set some fields as mandatory, while some other fields such as
Last Modified Date, and
Last Modified By will be automatically populated by the system.
You can illustrate an object as a table, a field as a column in the table, and a record as a row in the table. In the following table, field 1 will store the values for all first names, field 2 will store the values for all birth dates, and so on:
There are two type of objects in Salesforce:
Standard objects are provided by Salesforce.com by default. Each standard object has its own uniqueness, and the objects are named by their common uses. Some of the main Salesforce.com objects when you subscribe for Sales or Service Cloud are as follows:
Some other standard objects are Activity, Asset, Contract, Quote, Order, Products, and Price Book.
Each standard object comes with default fields based on the purpose of the object, for example, Stage in Opportunity and Mobile Phone in Contact. You can create your own fields in a standard object called custom field. The maximum number of fields you can create depends on the Salesforce edition purchased.
You can upgrade Salesforce.com to a higher edition simply by paying the increased subscription fee, and continue using the same organization with the existing database and customization. But if you plan to "downgrade" to a lower edition (it is actually not possible to downgrade), Salesforce.com will give you a brand new organization where you will need to reconfigure and transfer all your data.
Custom objects are specific objects created in your organization to store data for your business that does not fit into standard objects. Only a user with admin access is allowed to create custom objects. Most AppExchange packages create and use custom objects, since they provide specific business processes.
The maximum number of custom objects that can be created depends on the Salesforce edition. If you have admin permission, you can create objects and fields in Salesforce with just point-and-click rather than using complex SQL scripts as in traditional databases.
For a standard object, the number of standard fields depends on the object itself, but a custom object comes with a few standard fields that are the same for all custom objects:
Last Modified Byand
Last Modified Date
Owner(if the object is not a child of another object in a master-detail relationship)
You can relate an object to other objects in Salesforce.com, for example, relating the
Expense custom object to the
Project custom object. With this relation, you can know for which project the specific expense is used. In this example,
Project will be considered as the parent and
Expense as the child object. Remember that one parent can have many children, while the child can have only one parent. To build this relationship from the child object, create a lookup or master-detail relationship field for the parent object.
There are two types of object relationships in Salesforce.com:
Here is the comparison between master-detail relationships and lookup relationships:
To create a master-detail relationship for an existing object with records as the child object, you can initially define it as a lookup relationship, populate all parent fields for all records, and then change the relationship to a master-detail relationship.
Salesforce.com comes with field data types that fit your business model. Some of them are built with business logic, such as e-mails and URLs, these need to follow valid e-mail and URL formats respectively. Invalid values will be automatically rejected by the system. When you define custom fields, the data type you select determines which additional options you can specify Required, Unique, Case sensitive, External ID, and Default Value.
Roll-Up Summary, if the object is a parent in a master-detail relationship
Hierarchical Relationship (only for the
Text Area (long)
Text Area (rich)
If you do not have Sandbox org for testing, you can sign up and get Developer Edition for free by clicking on Sign Up at https://developer.salesforce.com/page/Developer_Edition.
Sandbox has an exact copy of your production configuration on the date of Sandbox creation or Sandbox refreshes. Depending on the Sandbox type, you can have a complete copy of production data, partial data, or no data in a Sandbox, but all of them will have a configuration copy from the production environment. We will discuss more on Sandbox in Chapter 2, Managing Data in Salesforce.com.
While Developer Edition is an environment without any relation to your production environment, it is good enough for you to try anything explained in this book.
If the Salesforce instance organization has Enable Improved Setup User Interface enabled, the Setup link will be visible next to Help, as shown in this screenshot:
For a Salesforce instance without Enable Improved Setup User Interface enabled, click on your name, and the Setup link will appear in the drop-down window shown in the following screenshot:
A Salesforce instance with Enable Improved Setup User Interface disabled and Accessibility Mode enabled in your user details will look like the following screenshot:
Schema Builder is a tool within Salesforce.com that is used to view and manage objects, fields, and relations between objects in a graphical interface. It is available in all Salesforce.com editions. Schema Builder is not the only option to view and manage objects, fields, and relations between objects.
The following screenshot shows four custom objects that have been created: Object1, Object2, Object3, and Object4. Object2 and Object3 have a master-detail relationship with Object1, while Object4 has a lookup relationship with Object1.
Some users prefer to create the field manually rather than use Schema Builder. Manual field creation offers more options such as field-level security and adding fields to the page layout. To create or access a field, navigate to Setup | Customize for standard objects or Setup | Create | Objects for custom objects, and then you can configure the object and the field.
Create and delete custom objects
Edit custom object properties
Create and delete custom fields
Edit custom field properties
Manage custom field permissions
In addition to the preceding actions, with Schema Builder, you can easily:
Understand fields in an object:
Required field and auto-populate field by system mark with red bar before field name
Field type, field length, external ID, and unique fields displayed in the right column
Understand relationships between objects:
The one end with circle and arrow is the child object. Remember that one parent can have multiple children.
The master-detail relationship is displayed by a red line, while the lookup relationship is displayed by a blue line.
Navigate to Setup | Schema Builder.
Go to Setup | Create | Objects and click on Schema Builder in the panel to the right.
Go to Setup | Home, and in the Quick Links box, click on the Schema Builder link.
If you don't see the Schema Builder link, it means that your user does not have the permission to customize the application.
When you are in the Setup page, you can type in the Search All Setup… textbox to search for a menu. The system will automatically filter the menu as you type.
Elements will show all field types (except Geolocation). You can drag and drop a field onto an object to add new custom fields for that object.
To create a new custom object, drag the Object icon from the Elements tab onto the canvas area. It will prompt you to enter an object label and other required information.
To create a new custom field, drag a field-type icon from the Elements tab onto an object selected in the canvas area. It will prompt you to enter a field label and other required information.
To move the object in the canvas, click on the object name and drag it.
Click on the gear icon at the top-right corner of the object. For standard objects, you can:
Hide the object.
View the object and page layout. It will open the details in a new window.
For custom objects, click on the icon to:
Hide the object.
View the object and page layout. It will open the details in a new window.
Edit the object properties.
Delete the object.
View the field in a new window
Edit the field properties
Manage field permissions
Delete the field
In this chapter, we started with a discussion on Salesforce.com's architecture, the benefits of using the Salesforce.com technology, and multiple products from Salesforce.com.
We continued to discuss the Salesforce object model, how data is stored, types of objects, and the difference between standard and custom objects. You understood how to relate objects, relationships between objects (master-detail relationships and lookup relationships), and a comparison of both the relationship models. You also learned about multiple field types for objects.
Next, you learned how to find the Setup menu, and we covered the testing environment with the Sandbox or Developer Edition to get a hands-on of this book's activities. At the end of this chapter, we went into a little depth about getting a hands-on of Schema Builder. Then you learned how to navigate it to analyze and configure object models.
In the next chapter, we will go through various data management activities including data backup, data import, the Sandbox environment, and data accessibility. This chapter is intended more for system administrators, but business users will nevertheless get more knowledge on how to manage data in Salesforce.