App cloud academy: hands-on

Post on 10-Jan-2017

37 views 0 download

transcript

App Cloud Academy - Hands-onFollow these steps to get a full mobile, collaboration-enabled, external-connected app run-ning. All with clicks, in under 2 hours.This baseline app will allow to manage hiring process (job requisitions and applicants). Youare free to extend after to add more process into it (managing interviews, etc)

Before We start - Some pre-work.

Register for a dev org (http://sfdc.co/devsignup)

Sign-up in the newly created org

Enable “My Domain” –> Setup - Domain Management - My Domain  (more info https://help.salesforce.com/articleView?id=domain_name_overview.htm&type=0)

Choose a a domain name

Check Availability

Register domain

Enable Lightning (Setup - Lightning Experience - “enable” at bottom of page)

Move to lightning!

Go into Setup

PART 1 - Data ModelCreate a data model in a few clicks. Security built-in, UI built-in (forms, lists, displays), Collabora-tion built-in. https://trailhead.salesforce.com/en/module/data_modeling

Setup - Objects and fields - Object Manager (or directly depuis Setup Home - Create)

Create → Create Custom Object (Job Requisition - Name: Title -  with reports, activ-ities and field tracking, Check “Launch new custom tab wizard”)

Create Fields (for each object, keep defaults)

Location (text - length 128)

Status (Picklist : Open, Needs Approval, Open - Approved, Closed)

Travel required (checkbox)

Rec Open Date (date)

Hiring Manager (lookup → User)

Create→ Create Custom Object (Applicant - Auto Number - with reports, activitiesand field tracking, Check “Launch new custom tab wizard”)

Create Fields

Name (text - length 128)

Email (email)

Mobile Phone (phone)

Status ( Picklist: new - Schedule Interview - Expend Offer - Hired - rejected)

Resume (Rich text)

HR Contact (Lookup User)

Job Requisition (Lookup Job Requisition)

Schema Builder - UI to easily show objects and relationships , and create objects/fieldsquickly

For applicant object → go to page layout: create a section with 1 column layout forthe resume

Publish my domain for all users

Create HR profile (copy standard user)

Secure access to your data by granting fine-grained access to users. 

Modify object access

Applicants: CRU

Job Requisiitons: CRUD

Modify Field-Level Security on Applicant

resume - read-only

Create an HR App 

Quickly organize your app and give it a customized branding

Setup - Apps - App Manager → New lightning App

Name: HR 

Color: green

Add “Home” “Reports” “Chatter” “Job Requisitions” and “Applicants” Tab

Give access to “system admin” and “HR” profiles

We now have a running App!  Let’s try it!

Navigate to HR App - create a job requisition - create an applicant

Setup - Feature Settings - Chatter - Feed Tracking

Enable Chatter feed tracking for job requisition and Applicant to activate Chatter Col-laboration on these objects

“Enable Feed Tracking” on Job Requisition and Applicant

You can now go back to the Job Requisition you created, and post on the feed (Chattertab)

Edit the record page in app builder (optional)

You can change the layout of the page, and add value-added component from a GUI

Activate for RH app

PART 2 - ProcessNow we have an app with a functioning UI and data model. By the way, it works on mo-bile too (more on than later). Let’s create some processes, because any app gets better withsome automatisation. https://trailhead.salesforce.com/en/business_process_automation/process_builder

Create a new Process in Process Builder 

The process Builder gives you a Graphical User Interface to power automation. Sendemail, create or update records, post to chatter, or launch other processes or apex code,all with a few clicks.

Name: applicant process

Object: Applicant - When a record is created or edited

Criteria 1: New applicant

conditions are met: Job Position is not null AND last modified date equals cre-ation date 

New action if HR contact is not null : “Notify HR contact”→  Chatter post to HRContact

Create a message with merge fields (applicant name and position name)

Criteria 2: Schedule Interview (Optional):

Conditions are met: status=schedule interview

Action: “Notify hiring manager” → chatter post to hiring manager

Want to go further (optional)? Create an interview object, and create an inter-view record at this step to hold the feedback from the hiring manager.

Activate Process

Go back to application created - set status to “schedule interview” and see the re-sulting chatter post.

PART 3 - External Data SourceIntegrate with external data source with clicks, not code. In this exemple we will integratewith an HR database that holds master job records. https://trailhead.salesforce.com/en/module/lightning_connect

Create an external data source

Name: HR

Type: Odata 4.0

URL: https://odata-eu.heroku.com/odata/v4/4135c18dc7854af8b2a833086e24c6c0/ (Go to http://sfdc.co/aca-ext to copy/paste the URL, Login and Password)

Writeable External Objects: Yes

Reports: Yes

Enable Search: Yes

Authentication

Named principal / password authentication

Username: 09f97774519d4ae6aaea11cd161260da

Password: 1f07cc48262e48798b545149117c6633

Validate and Sync, check public$jobs table 

Edit External object Name: Master Job Detail

Change field level security on “Salaire Max” Field

Add a tab for the object and include it in HR app

Setup - User Interface - Tabs → New

Select Master Job Detail Object, and change the tab style

Leave visibility as default, include only on HR App.

Chatter feed tracking → Enable for Master Job Detail (Feature Settings - Chatter - FeedTracking)

Create External lookup on job requisition

Objects and Fields - Object Manager - Job requisition object

New field

Type: external lookup to Master Job Detail

Name: Master Job Record

You can now navigate to Job Requisitions and link them to their master job details! 

PART 4 - Mobile - APP Exchange - ReportGet Insight into you data with a powerful Report Editor. Power your mobile workforce with ad-vanced applications. https://trailhead.salesforce.com/en/module/reports_dashboardshttps://trailhead.salesforce.com/en/module/lightning_app_builder

Create a report “Applicants with job requisitions”

Show All Applicants

Change Format to Summary

Group by Job Requisition Title - Group by Status, and add interesting fields (Appli-cant Name, Email, Phone)

Save as: Applicants by Job Requisition  - in Unfiled Public Reports folder

Run The Report and Add a graph

Edit the graph to make it a donut

Save

Data Visualisation and reporting in a few clicks. Business user don’t need anymore tomaster Spreadsheets or use IT resources to gain insight into their data.

Create a Mobile App - Lightning App Builder

Setup - User Interface - Lightning App Builder - New

New App Page

One column

Name: HR Mobile 

Drag a report component - select previously created report

Drag a list component. Select Applicants

Add a component from the appExchange: Jumbotron

Refresh the component palette until Jumbotron appears under “Custom - Man-aged”

Drag-and-drop it and customize it

Save and activate for Salesforce 1

You can now go to your phone, head to the App Store or the Play Store. Install Salesforce1app. Login with your dev org credentials. You have now access to the app you just created.And you have access to the applicants and Job Requisitions objects. You can view, edit,report, all that on your mobile, without any code! 

PART 5 -  deploy from sandbox to prod (Part done by the presenter only)Get from a development environnement to production in a few clicks. Manage your applifecycle to bring new features to life easily. https://trailhead.salesforce.com/en/module/app_deployment

Create a New Outbound Deployment

Select components

Custom objects: Job requisition, applicants, Master Job Detail

Tabs: Job Requisition, Applicants, Master Job Detail, HR

Application : HR

Page layouts: Job requisition, applicants, Master Job Detail

Report: Applicant per job requisition 

Flow definition: Applicant process

Push to produsction

From the production Org:  Deploy the inbound change set

PART 6 - Event Monitoring (Part done by the presenter only)Get insight into adoption, usage, and the security of you Salesforce implementation, and yourcustom apps. https://trailhead.salesforce.com/en/event_monitoring/event_monitoring_intro

PART 7 - CommunityExtend your application to external user (Authenticated or Anonymous) with a few clicks.Enjoy powerful branding and customization tool, and enjoy the no-replication of data be-cause communities are on the same platform! https://trailhead.salesforce.com/en/module/community_cloud_basics

Setup - Feature Settings - Communities - Communities Settings → Activate Communities

Domain name: Choose the same one you used for “My Domain”

Setup - Feature Settings - Communities - All Communities → New Community

Select the Customer Service (Napili) Template 

 Lightning bolt allows you to create a community fro a template in a few click. Templatesare available for various use case like partner community, Finance vertical, Customer Ser-

vice etc.

Name: HR , URL: hr

Build and Customize 

Make your own basic branding: Upload  a logo /Upload a Header Image / Change col-ors

Go to Page Editor Mode

Select the Menu Area - Then Edit Navigation Menu

Add menu item

Name: Job Requisitions - Type: Salesforce Object - Object Type: Job Requisition - De-fault List View: ALL

Publish and look at the result!

You can now navigate the community, see the records you created earlier. You can evenredo the same steps and get access to the Master Job Detail!

You have created in a few minutes and a few click, an hiring portal with collaboration! Allwhile securely handling sensitive information with Profiles and Field Level Security!

Now, wouldn’t it be great if we made it easier for applicant to apply to a job on the por-tal? Let’s create a quick action that do just that!

Let’s create a new action on job requisition

Setup - Objects and Fields - Object Manager - Select Job Requisition

Section “Buttons, Links and Actions” - New Action

Action: Create record, Target Object: Applicant, Label: Apply to this job

Add fields to the layout: Name, Email Mobile Phone, Resume

Set predefined value for field Status (New) and HR Contact (Owner of the Job Req-uisition)

Setup - Objects and Fields - Object Manager - Select Job Requisition - Modify Page

Layout

Add the action “apply to this job” on the page layout (drag and drop - Salesforce 1& Lightning Actions)

Save

 Go back to the community to see the result. Setup - Feature Settings - Communi-ties - All Communities - Click on link

Go to Job Requisitions, select the first, and click on “apply to the job”

 You’ve made it! It is now very easy for an interested person to apply for a job at your organ-isation. You also have a process that notifies the HR contact upon application, and managea basic Hiring process, all available from your mobile. A few more hours of clicks (not code)and you’ll have a full hiring application tailored to your need! Feel free to do it, and share theresults!