This chapter will give you a general overview of the Salesforce cloud technology including the benefits of the Cloud Platform, the introduction of Salesforce Lightning Experience, extending Salesforce beyond Customer relationship management (CRM), and navigating Salesforce reports and dashboards. We will also touch on the Salesforce architecture, Setup menu, and Lightning Experience user interface.
This chapter contains information that applies to both business users and Salesforce system administrators. Some topics in this chapter discuss features specific for the system administrator, but the business user might find it interesting to have a better understanding of the Salesforce architecture.
Throughout the book, we will provide notes and tips to help you to understand Salesforce technology easily. In the next few chapters, we will look at various skills to build advanced reports and dashboards, which suit your business requirements in Lightning Experience. Hands-on activities will be part of most chapters, while creating reports and dashboards will be covered in Chapter 4, Creating and Managing Reports and onward.
The following topics will be covered in this chapter:
- An overview and the benefits of Salesforce
- Salesforce Lightning Experience
- The Salesforce object model
- Navigating to the Setup menu
- Navigating to reports and dashboards
Salesforce is an enterprise, web-based platform which can be accessed from anywhere, anytime, and on any device as long as your device is 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 already used the Salesforce platform, it is a web-based application like Gmail or Yahoo, but more than that, it allows you to configure and customize the application to suit your own business needs.
When you sign up for Salesforce, either the free developer edition or the paid version, you will be provided with an organization--a software environment. The hardware, operating system, and database are shared among all Salesforce customers within the same instance. All customers within the same instance will be in the same release. Salesforce has three feature releases every year.
You can imagine it as an apartment building block shared by many residences. In this multi-tenant environment, each organization's data, configuration, and users are completely isolated, and are not accessible by any other organization. So, when you configure your Salesforce organization, the metadata changes are only for your organization. The same is true for data; it is accessible only by your registered users.
If you've heard about cloud computing, Salesforce is a SaaS (Software as a service) model, which means that you only need to configure Salesforce to start using it. Salesforce provides everything you need to run your business--the object model, business rules, workflow and automation, page layout, report and dashboard, and so on. You just need to configure them as per your business needs. Salesforce also has its own Java-like programming language called Apex, and HTML-like visual markup language called Visualforce page for custom user interface design.
Since Salesforce's team takes care of the infrastructure, maintenance, software upgrades, backup, and performance, this benefits companies, as it brings down the IT and resources costs. As a Salesforce subscriber, you just need to support your users, and implement your business processes in the platform.
When Marc Benioff started Salesforce.com from his apartment in San Francisco back in 1999, Salesforce.com was intended to be a CRM application only, but as the platform grew and became more robust, it was extended as Force.com Platform, where you can build any kind of application beyond CRM, or get an app from AppExchange, the app marketplace for the Salesforce platform. AppExchange is similar to the App Store for iOS devices, or Google Play Store for Android devices. AppExchange is the app store (free and paid) for the Salesforce platform.
The following are a few cloud products offered by Salesforce right now:
- Sales Cloud: Sales Cloud automates your sales process
- Service Cloud: Service Cloud delivers an evolutionary customer service process
- Marketing Cloud: Marketing Cloud gains from digital marketing automation
- Community Cloud: Community Cloud connects with your customer and partner
- Wave Analytic: Wave Analytic delivers analytics for business users and analysts
- App Cloud: App Cloud allows you to build an app for your business needs
- IoT Cloud: IoT Cloud is to store and process Internet of Things (IoT) data for connected devices
- Commerce Cloud: The Commerce Cloud enables you to build a unified shopping experience
As Salesforce keeps acquiring and building new products, the preceding list may change anytime.
In short, these are the advantages of using Salesforce as compared to other on-premise applications:
- Faster implementation schedule
- Lower maintenance cost, since you don't have to buy or support in-house servers, and maintain resources for it
- Scalability and robustness
- Secure and high performance
- Easy to expand the functionality using prebuilt solutions from AppExchange
- Accessible from desktops, laptops, tablet, and mobile apps
- Enterprise-level grade application for small and medium business
Lightning Experience is a modern, fast, and beautiful user interface designed to help your sales users to be more productive and efficient. It is built with a sales-centric mindset, focusing on helping sales representatives work more naturally on a daily basis. With Lightning Experience, your users will get an intuitive and intelligent user interface.
Lightning Experience is built with proven Salesforce1 Mobile App technology. Your sales representatives already use mobiles to enter prospective customers, log tasks and notes after client meetings, run reports and dashboards, and more. All this cool stuff from the mobile experience is being brought into the computer web browser by Lightning Experience.
On many occasions, Lightning Experience is simply referred to as Lightning, although there are many items in the Salesforce platform which start with the word "Lightning", such as Lightning Login, Lightning App Builder, Lightning for Outlook, Lightning Components, Lightning Sync, and so on. Some of them are applicable in Lightning Experience only, but some others will work in both Lightning Experience and older Classic user interfaces, for example, Lightning Sync is used to sync your user contacts and events between your email server with Salesforce.
Just to make it clear, when you meet someone from the Salesforce community, and he asks if you are on lightning, most probably, he is referring to Lightning Experience. To get the term right, it is Lightning, not Lightening or Lighting.
If you noticed, we mentioned the term classic user interface in the Let's get the right term section. Yes, that is the one--Salesforce Classic had been serving well for many years before Lightning Experience was introduced. Salesforce Classic still exists, and is widely used by many customers, but mostly, the new features introduced by Salesforce in recent releases are only applicable for Lightning Experience.
Because the user interface is totally different from Classic, your user manual, training video and material, and so on, need to be updated, so plan this journey with proper project management to roll out Lightning Experience.
This section is intended for system administrators who still operate in Salesforce Classic--only system administrators will have the permission to enable Lightning Experience. If you are on Lightning Experience already, you can skip this section.
Let's have a quick hands-on exercise on how to enable Lightning Experience:
- Click on Setup to navigate to the setup menu, and then click on Lightning Experience in the top-left menu:
- Scroll down to the bottom of the page, look for Lightning Experience, then switch to enable it:
- Click on Finish Enabling Lightning Experience to confirm:
- Once Lightning Experienced is enabled, notice that the switch turns to green with the label changed to Enabled:
- Click on your name in the top-right corner; you will notice that a new menu, Switch to Lightning Experience, is added, as shown in the following screenshot:
- Done! Now click on Switch to Lightning Experience from the menu to start exploring the modern Lightning Experience.
- This hands-on exercise will allow you, as a system administrator (including other system administrators), to try and explore Lightning Experience for your organization. Your normal users will not see the new menu, Switch to Lightning Experience, until you configure it for them.
- To enable Lightning Experience for your business users, as a system admin, you have the option to enable it by Profile (for all the users in that Profile) or by Permission Set (to assign on the user by user basis).
- To enable by Profile, click on Edit on the Profile, scroll down to the Administrative Permissions section, and look for Lightning Experience User permission; enable it, then save the Profile.
- To enable by Permission Set, the same permission Lightning Experience User is assigned to specific users who need to switch to Lightning Experience.
Salesforce provides a tool to help you check your organization's readiness for Lightning Experience. Click on the Evaluate link under Check Your Lightning Experience Readiness from the Lightning Experience setup menu. Salesforce will email a readiness report to you.
Once Lightning Experience is enabled and permission assigned, click on Switch to Lightning Experience after clicking on your name, as seen in the following screenshot:
Here is a screenshot of the modern Salesforce Lightning Experience:
Notice that the user interfaces of the Classic and Lightning Experience are totally different; if you still see a bluish background around the tab menu, you are in the Classic interface. Follow the Let's turn the Lightning Experience on section to enable it, or contact your system administrator to enable this for you.
As of now, not all features from Classic are available in Lightning Experience; you may need to switch back to Classic when needed. For example, Recycle Bin is not available in Lighting Experience. To switch back to Classic, click on your photo, then click on Switch to Salesforce Classic. You can use the same path to switch back to Lightning Experience:
No matter what the user interface, Classic or Lightning Experience, the backend database is the same. You will see the same data in Classic or in Lightning Experience, or even from the Salesforce1 Mobile App. All reports and dashboards which can be built are based on the object model implemented in your Salesforce organization, from objects relationship, down to the field type level. It's crucial for you to know this as a basis, before learning to build advance reports and dashboards.
This section will discuss the object model in Salesforce. Objects are a key component in Salesforce. They allow you to store your data. Similar to a table in the database, an object comprises several fields to store data. You can set some fields as mandatory, while some other fields will be automatically populated by the system, such as ID, Created Date, Created By, Last Modified Date, and Last Modified By.
You can illustrate an object as a table, field as a column in the table, and record as a row in the table. In the following table, field 1 will store values for all first names, field 2 for birth date, and so on:
There are two types of objects in Salesforce:
- Standard objects
- Custom objects
Standard objects are provided by default when you subscribe for Salesforce; this is dependent on the cloud type you subscribe to. Each object has its own uniqueness for specific functions, and the objects have built-in relationships to each other. Here are a few main standard objects when you subscribe to Sales and Service Cloud:
- Account: Account is used to store information about the businesses and organizations your company interacts with
- Contact: Contacts store information about the people that you work with--prospects, customers, or suppliers
- Opportunity: Opportunity is used to store information about sales interactions with your customers; this is often known as the Sales Cycle
- Lead: Lead is to store information about people who might become customers or partners of your company
- Case: Case stores information about interactions with your customers related to the products or services you provide
- Campaign: Campaign stores information about your company's marketing activities and responses
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, Mobile Phone in Contact, and so on. You can create your own fields in the Standard object; this is called as custom field. The maximum number of fields you can create depends on the Salesforce edition you subscribe to.
Custom objects are objects created within an organization to store data specific to that organization's business, and which cannot be stored using standard objects. Only users with admin access can create a custom object. Most AppExchange packages create and use custom objects, since they provide specific business processes. Just like standard objects, custom objects are used to store specific data in Salesforce.
A limited number of custom objects can be created depending on the Salesforce edition you subscribe to. If you have admin permission, you can create objects and fields in Salesforce with just Point and Click rather than complex SQL scripts as in the traditional database.
In a standard object, the standard fields available depend on the object, but each custom object comes with the following few standard fields, which is the same for all custom objects:
- Created By and Created Date
- Last Modified By and Last Modified Date
- Owner (if the object is not a child of other objects in Master-Detail Relationship)
Just as with Standard objects, you can create custom fields in a custom object.
You can relate an object to other objects in Salesforce. For example, relating a custom object Expense to custom object Project. With this relation, you'll know which expense record is used for which project. Project, in this example, will be considered as the parent object, and Expense as a child object. From the record-level perspective, one parent can have many children, while the child can only have one parent. To build this relationship from the child object, create a Lookup Relationship or Master-Detail Relationship field to the parent object.
There are three types of object relationships in Salesforce, which are as follows:
- Master-Detail Relationship
- Lookup Relationship
- Hierarchical Relationship
The following table compares the Master-Detail Relationship and Lookup Relationship:
|You can define master-detail relationships between two custom objects, or between a custom object with a standard object (the standard object must be the parent).
|You can define the relationship between any two objects, standard, or custom object.
|When a record in the master object (parent) is deleted, all records in the detail object (child) related to the master record will be deleted.
|You can configure the child object to control when the parent is being deleted, either to clear the parent record value in the child record, or to not allow deletion of the parent record.
|All child records must have a related parent record.
|The parent record may not be required, but you can configure to make the parent field required.
|The ownership of a child record is determined by the related parent record; the child record does not have an owner.
|Each child record has an owner.
|A detail record inherits sharing and security from the master record.
|There is no security sharing or inheritance between related parent and child records.
|You can relate an existing custom object as a child object, but no records should exist in the child object.
|To relate an object to another object, there is no validation on the existing number of records for the child object.
|If you have a Roll-Up Summary field in the parent object, the create, edit, or delete actions in a child record will trigger edit action in the parent object. If you have validation rule in the parent object, it will trigger for the parent object as well.
|You cannot create a Roll-Up Summary in Lookup Relationship using out-of-the-box Salesforce functionality.
|Supports cross-object workflow; you can define to update a field in the parent record using the value from the child record.
|Does not support cross-object workflow.
|Ability to configure for a child record to allow re-parent to a new parent.
|A child record can always re-parent to another parent record.
|Ability to configure the sharing setting to allow to create, edit, or delete related Detail records based on permission on the parent record.
|No sharing setting dependency between parent and child objects.
Hierarchical Relationship is a special Lookup relationship available for the user object only. It lets users use a lookup field to associate one user with another, which does not directly or indirectly refer to itself. For example, you can create a custom Hierarchical Relationship field to store each user's reporting manager.
Salesforce provides various data types to fit your business model. Some of them are built with business logic, for example, emails have to follow a valid e-mail format, and URLs have to follow a valid URL format; an invalid value will be auto rejected by the system. For each data type, you can determine additional options to specify including Required, Unique, Case sensitive, External ID, and Default Value.
Here is a list of the Salesforce data types:
- Auto Number
- Roll-Up Summary if an object is the parent in Master-Detail Relationship
- Hierarchical relationship--only for a User object
- Lookup Relationship
- Master-Detail Relationship
- Picklist (Multi-Select)
- Text Area
- Text Area (Long)
- Text Area (Rich)
- Text (Encrypted)
Once you log into Salesforce, click on the gear icon in the top-right corner of the window, then click on the Setup link. This will open the Setup page in a new tab of the web browser.
In the left panel, there are many links for you to configure Salesforce. These links can be categorized into three main categories: ADMINISTRATION, PLATFORM TOOLS, and SETTINGS. Each category has many menus. For each menu, start with arrow >, click on the menu to open the submenu.
If you are not a system admin, you may see fewer menu options in the Setup page, or you may not even see the Setup page at all--it depends on the permission given to you.
If you know a setup name, but do not remember where it is located, or whether it is a part of a menu, you can type the setup name into the Quick Find textbox at the top of the panel; this will filter all setup menus quickly, as shown in the following screenshot:
The center panel shows the last ten items most recently used in the Setup page (not records). Click on any link in that panel to open the related setup item. The top-right panel will give an admin shortcut to quickly create single or multiple users, custom object, custom tab, email template, and workflow process.
The Reports and Dashboards tabs in Salesforce Lightning Experience are located under different tabs, as seen in this screenshot:
You may wonder, "Why do I not see those tabs when I am in Salesforce?". Here are two reasons why:
- Make sure your Profile or Permission Set for the Reports tab and Dashboards tab setting is Default On or Default Off, and not Tab Hidden. You need to check with your Salesforce system admin for this setting.
- Open App Launcher from the upper-left corner in the tab rows (under the logo); the icon for this is nine dots in a square. If you can find the Reports and Dashboards link here, it means that the app you opened does not have the Reports and Dashboards item added. You can access it from here, or ask your admin to add those items to the app as shown in the following screenshot:
When you click on the Reports tab, by default, you will see a list of reports recently opened. In the left panel, you will find a menu with the following items:
- Created by Me
- Private Reports
- Public Reports
- All Reports
The following folders are present in the FOLDERS subsection:
- Created by Me
- Shared with Me
- All Folders
If you have the permission to create report, you will see the New Report button at the top-right corner of this page.
To run a report, just click on the report name, and it will open the report. The report generated is live data pulled from your organization.
In the main panel, there are few columns--REPORT NAME, DESCRIPTION, FOLDER, LAST MODIFIED BY, and SUBSCRIBED--and an arrow to perform a list of actions for the report. We will discuss most of these items in the next few chapters of this book.
The same is applicable for dashboard when you click on the Dashboards tab. You'll find the columns DASHBOARD NAME, DESCRIPTION, FOLDER, and LAST MODIFIED BY in the main panel.
Notice that there is an arrow next to most of the tabs. Clicking on the arrow will list all the recently opened records. The same is applicable to reports and dashboards--when you open a report or dashboard, it will be added to the Recent Records.
When your report or dashboard is open, you can bookmark that report or dashboard by clicking on Add Favorite (star icon), and the report or dashboard will be added to your personal favorites list, as seen in the following screenshot:
Now again click on the arrow next to the Report tab. You will see the report you just added as your favorite will be listed under MY FAVORITES.
Now check out the MY FAVORITES (star icon) button at the top of the page. On clicking the arrow next to the star icon, you will find the report or dashboard added earlier to your favorites. You can remove it from your favorite list by clicking on the Edit Favorites link:
The same behavior is seen with Reports--you can also bookmark your favorite dashboards, and they will be added to the favorite icon. You click on the arrow next to the favorite icon to see it.
In this chapter, we started with a discussion on Salesforce architecture, the benefits of using the Salesforce technology, and the multiple products offered by Salesforce. Lightning Experience is the latest user interface, which offers many enhancements and more productivity over the older Salesforce Classic user interface. We discussed how to switch to Lightning Experience, and gave tips on rolling it out to your users if you are new to Lightning Experience.
We continued to discuss the Salesforce object model, how data is stored in Salesforce, the types of objects, and the difference between Standard and Custom objects. Topics like how to relate objects, the relationship between objects using Master-Detail Relationship and Lookup Relationship, and a comparison between both the relationship models were explained in depth. You also learned about the multiple field types for the objects.
Next, we explained how to navigate to the Setup menu, gave tips for Quick Find on the menu, and also mentioned about the recently open setup menu from the main panel. At the end of the chapter, we showed you where to find Reports and Dashboards in Salesforce, and gave you reasons if you can't find them. Then we shared how to navigate to the Reports and Dashboards tab, and to behind the arrow next to the tab. We ended with how to bookmark reports and dashboards using the Favorite icon in Lightning Experience, and how we can take advantage of that feature.
In the next chapter, we will cover the concept of Reports and Dashboards in Salesforce, how reports and dashboards are stored, backend data related to reporting, permissions related to reporting and dashboards, and the security built around them.