55
Introduction to Point-And-Click App Building Fabien Taillon CGI Technical Architect @FabienTaillon Bruno Vuong Platform Solution Engineer [email protected]

Dev day paris020415

Embed Size (px)

Citation preview

Page 1: Dev day paris020415

Introduction to Point-And-Click App BuildingFabien Taillon

CGI Technical Architect

@FabienTaillon

Bruno Vuong

Platform Solution Engineer

[email protected]

Page 2: Dev day paris020415

Agenda

• Salesforce Platform Overview

• Multi Tenant Architecture

• Services brought by the platform

• Integration

• New Features

• How do we build an application?

• Hands On

• Q&A

Page 3: Dev day paris020415

Salesforce Platform is the Fastest Path from Idea to App

IdeaBuild App

Idea

buy &

setup

hardware

install

complex

software

define user

access

build & test

security

make it

mobile &

social

setup

reporting &

analytics

build

app

Legacy Platforms

6-12 Months?

App

App

Page 4: Dev day paris020415

Salesforce1 Platform Powers an Entire Ecosystem of Apps

Collaboration, Report & Dashboard

Multi-Tenant Cloud Infrastructure

Sales

Cloud

Service

CloudMarketing

Cloud

Community

Cloud

Cloud Database

Access, Security & Compliance

Any Social

Network

Any Device

Back End

Systems

Any App

AppExchange Apps

ERP

Finance

Public or Private

Apps

ConnectedCustomers

ConnectedProducts

ConnectedPartners

ConnectedEmployees

Analytics

Cloud

Mobile Services & SDK

Workflow & Approval Processes

Desktop UI

Page 5: Dev day paris020415

The Power of the Salesforce1 Platform

Automatic

Upgrades

46 Major

Releases

(3x /year)

Multi-tenant

Infrastructure

Metadata-based

Single Code Base

and Shared

Infrastructure

Open &

Extensible

API-First Architecture

2700+ AppExchange

Apps

Unbreakable

Customizations

Integrations and

customizations

auto-upgraded

6BLines of

Apex Code

500MAPI Calls Per Day,

28 Versions

15MCustom

Database

Tables

12MVisualforce

Pages

Page 6: Dev day paris020415

Mobile SDK AppsSalesforce1 Apps

Two Ways to Build and Surface Mobile Apps

Page 7: Dev day paris020415

Force.com Integration APIs

Middleware / Enterprise Service Bus

Web Service

Endpoint

Call External

Web Service

REST or SOAP API

Data Centric Access

Web Service

Endpoint

Outbound

Messaging

Workflow

WS

Callouts

Web Service

Endpoint

Process

Centric Access

Apex

Class method

Apex Code

ETL / Batch

Bulk API

(REST based)

Delegated

Authentication

Authentication

Source / Assertion

Metadata API

Software Development

Lifecycle

IDE, Source Control

Streaming API

Presence,

Instant Messaging,

Real-time Updates

CTI API

Cloud or On-premise

CTI integration

Analytics API

Datasource

Analytics Tools

Lightning

Connect

Page 8: Dev day paris020415

Salesforce1 Lightning Connect: Unlock Your Back Office

Fast:

Fast, easy, point and click integration

Innovative:

Build an agility layer for your business

Trusted:

Access data by reference in real time

Page 9: Dev day paris020415

Lightning Process Builder

PowerfulCreate processes using visual layout

Manage multiple process paths in ONE place

Collaborate with business owners

EasyPoint-and-click development

Create “headless flows”

Replace many basic Apex triggers

ExtensibleEvery process instantly becomes a RESTful end-point

Automate business faster

Page 10: Dev day paris020415

Standard ComponentsBuilt by Salesforce

Custom charts Data entry tools Custom data layout Dynamic maps

Left nav Publisher bar Feed items

Tasks

Sliders Multi-view charts

Pass/Fail

Custom ComponentsBuilt by customer developers

AppExchange ComponentsBuilt by Partners (25+ today)

Lightning Component Framework

Page 11: Dev day paris020415

Lightning App Builder

Drag & DropBuild with standard, custom &

partner Lightning Components

Any DeviceDesign apps for every screen

from one canvas

Now anyone can build apps faster

Page 12: Dev day paris020415

HR Help Desk

Employee Intranet

Recruiting &

Onboarding

Performance

& Coaching

IT Help Desk / Self-

Service Community

Legacy Applications

Consolidation

Enterprise

Knowledge

Identity Mgmt

Custom Web /

Mobile Applications

Business Agility

Layer (e.g. Claims,

Underwriting, …)

Asset & Facilities

Management

Financial Shared

Services

M&A Enablement

Early Warning

Management

Product Ideas &

Innovation

Pre-Production

Testing

Warrant Coverage

Decisioning

Procurement

Vendor

Management

Transportation

Logistics

Contract

Management

Budget

Management

Contract

Management

Pricing

Billing

Management

Audit

Management

Connect Every Department on One Platform

Apps

HR ProductSupply

ChainITFinanceOps

Page 13: Dev day paris020415

All the Platform Services You Need to Build Apps Fast

The Fastest Path From Idea To App

Page 14: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

So when we talk about building apps, what’s really in an app?

Page 15: Dev day paris020415

A Cloud Database is The Core of Our Platform

Da

ta Schema

Page 16: Dev day paris020415

Security and User Sharing are Our Secret Sauce

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Page 17: Dev day paris020415

Workflows Drive Business Logic and Process

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Workflow & Approvals

Logic

Page 18: Dev day paris020415

Chatter Enables All Business Process to Be Social

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Workflow & Approvals

Logic

Chatter

Socia

l

Page 19: Dev day paris020415

Dashboards Provide Real-Time Visibility

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Workflow & Approvals

Logic

Chatter

Socia

l

Analytics

Insig

ht

Page 20: Dev day paris020415

Customize the Look & Feel with Drag & Drop Page Layouts or Visualforce

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Workflow & Approvals

Logic

Chatter

Socia

l

Analytics

Insig

ht

Page Layouts & User InterfaceUI

Page 21: Dev day paris020415

Deliver Mobile Apps Instantly with Salesforce1 or Build Custom Apps

Da

ta Schema

Authorization, Security & Compliance

Secu

rity

Workflow & Approvals

Logic

Chatter

Socia

l

Analytics

Insig

ht

Page Layouts & User InterfaceUI

Salesforce1

Mobile App

Mobile Services

& SDK

Page 22: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc. Hands On

Page 23: Dev day paris020415

Sign up for a Developer Edition

1. In your browser, go to https://developer.salesforce.com/signup

2. Fill in the fields about you and your company

3. In the Email Address field, make sure to use a public address you can easily

check from a web browser

4. Type a unique Username. Not that this field is also in the form of an email

address, but does not have to be the same as your email address, and in fact, it’s

usually better if they aren’t the same. Your username is your login and your identity on developer.salesforce.com.

5. Read and then select the checkbox for the Master Subscription

Agreement. And then click Submit Registration.

This exercise is designed to be used with a Developer Edition Organization or DE

org.

Page 24: Dev day paris020415

Goal for Today’s Exercise

• Show you how to create a Salesforce

App using only declarative tools.

• Get you familiar with declarative app

building on the Force.com platform

and give you a useable app that you

put to work today.

• How many people have never

created an App in Salesforce?

Page 25: Dev day paris020415

Business Case

• We need a application to manage Salesforce

Requests

– New Feature or bug requests

– Adding New Users to the system

• The Application should be in Salesforce

• Management wants to see reports on

Requests

Page 26: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc. Build a Salesforce Admin App

Page 27: Dev day paris020415

What is an App?

You can also build your own on-demand apps by grouping standard and custom tabs

into new custom apps. A custom app consists of a label, a description, and an

ordered list of tabs.

The available custom apps are listed in the Force.com app menu, which is a drop-

down list that displays at the top of every Salesforce page.

An “app” is a group of tabs that works as a unit to provide application functionality.

Salesforce provides standard apps such as Sales and Call Center. You can

customize the standard apps to match the way you work.

Page 28: Dev day paris020415

What is a Custom Object?

After you define a custom object, you can:

• Create Custom Fields.

• Associate the custom object to other records and display the custom object data in

custom related lists.

• Track tasks and event for custom object records

• Create a custom tab for the custom object

• Create Reports and Dashboards to analyze custom object data

• Import Custom object records.

Custom objects are custom database tables that allow you to store information

unique to your organization. For example, we are creating a custom object called

“Salesforce Requests” to store data based on user requests.

Page 29: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc. Step 1: Create an Admin App

Page 30: Dev day paris020415

Step 1: Create an Admin App

1. Turn to page 4.

2. Launch your browser and got to https://login.salesforce.com/

3. Enter your username and password.

4. Follow the Exercise Guide for creating an app.

5. Stop at the end of the module

You can create an app with just a few clicks. In this exercise we will create a custom

object to house our Salesforce Requests.

Page 31: Dev day paris020415

Step 1: Create an Admin App

Page 32: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

Step 2: Adding Fields to the Salesforce Request ObjectDivider Subtitle

Page 33: Dev day paris020415

About Salesforce Fields

Salesforce Field Reference Guide http://help.salesforce.com/help/pdfs/en/salesforce_field_names_reference.pdf

You can create custom fields with just a few clicks. In this exercise we will create a

custom fields to house information on our Salesforce Request Object.

Field Label Type Business Case

User First & Last Name Text Field Capture User information for License

Activation/Deactivation request

User Email Email Field Capture User email for License

Activation/Deactivation request

Mirror User Lookup Field Show which user to replicate

Request Description Text Area (Rich) Field for user to describe new Feature

request

Request Category Picklist Field Let’s us categorize requests

Request Status Picklist Field Allows us to prioritize and organize requests

Resolution Picklist (Multi-select) Allows us to document resolution solutions

Closed Date Date Document when the request was closed

# Days Open Formula Field Calculate how long the request is open

Page 34: Dev day paris020415

Step 2: Adding Fields to the Salesforce Request Object

1. Click Setup | Build| Create | Objects

2. Click on Salesforce Request

3. Scroll to “Custom Fields and Relationships”

4. Click New

5. Stop at the end of the module

In this part of the exercise we will create fields that will be used to gather and report

on data.

Page 35: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

Step 3: Adding Page Layouts & Record TypesDivider Subtitle

Page 36: Dev day paris020415

About Salesforce Page LayoutsPage Layouts control the layout and organization of detail and edit pages in

Salesforce.

Features of Page Layouts

• Control which fields, related lists, and custom

links users see, on detail and edit pages only.

• Control which standard and custom buttons

display on detail pages and related lists.

• Determine whether fields are visible, read

only, or required, on detail and edit pages

only.

Page 37: Dev day paris020415

About Salesforce Page LayoutsFor our Application, we will have 2 Page Layouts

New User Request Layout Feature/Bug Request

Layout

Page 38: Dev day paris020415

Step 3: Create the Following Page Layouts

Salesforce Page Layout Reference Guide http://help.salesforce.com/HTViewHelpDoc?id=customize_layoutcustomize_pd.htm&language=en_US

Create the following Page Layouts using the Enhanced Page Layout Editor with the

fields listed below.

• User First & Last Name

• User Email

• Mirror User

• #Days Open

• Closed Date

• Request Status

• Request Category

• Request Status

• Request Category

• Request Description

• #Days Open

• Closed Date

• Resolution

Salesforce User Request Salesforce Feature Request

Stop at the end of the module.

Page 39: Dev day paris020415

About Salesforce Record TypesRecord types allow you to offer different business processes, picklist values, and

page layouts to different users. Record types can be used in various ways, for

example:

• Create record types for opportunities to differentiate your regular sales deals from

your professional services engagements and offer different picklist values for

each.

• Create record types for cases to display different page layouts for your customer

support cases versus your billing cases.

Salesforce Record Type Reference Guide https://help.salesforce.com/apex/HTViewHelpDoc?id=customize_recordtype.htm&language=en_U

S

Page 40: Dev day paris020415

Step 3: Adding Record Types to the Request Object

1. Follow the steps on p. 17 to create 2 new record types.

2. Then edit the picklist values for Request Category

3. Stop at the end of the module

In this final part of the exercise we will create 2 Record Types and assign them to the

2 Page Layouts we just created. We will also edit the picklist values for the record

types.

Page 41: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

Step 4: Add App Logic with Clicks, Not CodeDivider Subtitle

Page 42: Dev day paris020415

Salesforce Workflow RulesEach Workflow Consists of:

• Criteria that cause the workflow rule to run.

• Immediate actions that execute when a

record matches the criteria.

For example, salesforce.com can automatically send

an email that notifies the account team when a new

high-value opportunity is created.

• Time-dependent actions that queue when

a record matches the criteria, and execute

according to time triggers.

For example, salesforce.com can automatically send

an email reminder to the account team if a high-value

opportunity is still open ten days before the close date.

Page 43: Dev day paris020415

About Salesforce Workflow RulesMany of the tasks you normally assign, the emails you regularly send, and other record updates are

part of your organization's standard processes. Instead of doing this work manually, you can configure

workflow rules to do it automatically.

• Tasks: Assign a new task to a user, role, or record owner.

• Email Alerts: Send an email to one or more recipients you

specify.

Field Updates: Update the value of a field on a record.

Outbound Messages: Send a secure, configurable API

message (in XML format) to a designated listener.

Workflow rules can help automate the following types of actions based on

your organization's processes:

Page 44: Dev day paris020415

Step 4: Add App Logic with Clicks, Not Code

Stop at the end of the module

In this exercise we will create a Workflow Rule to automatically

update the status field when a Closed Date is entered.

Page 45: Dev day paris020415

See your app in action on Salesforce1

There are three ways you can access

the Salesforce1 mobile app.

• As a downloadable mobile app you

install on your phone.

• By navigating to login.salesforce.com

using a mobile browser.

• By appending one/one.app to your

Salesforce instance.

Open a Salesforce Request your previously created. Assign yourself as the Admin.

Click Save.

Page 46: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

Step 5 Create a Dashboard and Useful ReportsDivider Subtitle

Page 47: Dev day paris020415

Analyze your Salesforce DataSalesforce offers a powerful suite of analytics tools that work together to help you

view and analyze your data.

Gather Data with Reports

Reports give you access to the data your organization

has accumulated over time, enabling you to make

informed decisions. You can examine your

organization’s data in almost infinite combinations,

display it in easy-to-understand formats, and share the

resulting insights with others via dashboards.

Share Insights with Dashboards

Dashboards help you visually understand changing

business conditions so you can make decisions based

on the real-time data you have gathered with reports.

Use dashboards to help users identify trends, sort out

quantities, and measure the impact of their activities.

http://www.salesforce.com/us/developer/docs/workbook_analytics/workbook_analytics.pdf

Page 48: Dev day paris020415

Step 5: Create a Simple Tabular Report

A report returns a set of records that meets certain criteria, and displays it in

organized rows and columns. Report data can be filtered, grouped, and displayed

graphically as a chart. Reports are stored in folders, which control who has access.

Follow the steps in the Exercise Guide to Create a Simple Report

Stop at the end of the module

Page 49: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc. Create a DashboardDivider Subtitle

Page 50: Dev day paris020415

You can show data in reports and dashboards in

the form of bars, columns, lines, shapes, or other

elements. Which is right depends on what the

data is about and what you want to show with it.

• Bar Charts

• Column Charts

• Line Charts

• Pie Charts

• Donut Charts

• Funnel Charts

• Scatter Charts

About Salesforce DashboardsDashboards are a way to graphically display multiple reports. They give you the big

picture, letting you see key metrics at a glance.

Page 51: Dev day paris020415

Step 5: Create a Dashboard

1. Click the Reports tab and then New Dashboard.

2. Click the editor’s Components tab, then drag the Pie Chart component and drop it

in the first column of the new Dashboard.

Stop at the end of the module

Page 52: Dev day paris020415

Use to

introduce a

demo, video,

Q&A, etc.

Congratulations!

Survey: bit.ly/elevate-paris-track1

You just built a Salesforce App with clicks, not code!

Page 53: Dev day paris020415

developer.salesforce.com/trailhead

Page 54: Dev day paris020415

Paris Salesforce Developer Group

Every month, join Salesforce developers for talks, presentations and… pizzas !!

Subscribe to receive notifications of new Meetups scheduled :

http://www.meetup.com/Paris-Salesforce-Developer-User-Group/

Page 55: Dev day paris020415