connecticut salesforce developer group - jan 2017

34
Release Readiness - New features of Winter & Spring 17 Jan 24, 2017 Connecticut Salesforce Developer Group Organizers and Speakers : Howard Friedman Maria Belli – Salesforce MVP Jitendra Zaa – Salesforce MVP

Upload: jitendra-zaa

Post on 13-Apr-2017

1.683 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Connecticut Salesforce Developer Group - Jan 2017

Release Readiness - New features of Winter & Spring 17

Jan 24, 2017Connecticut Salesforce Developer Group

Organizers and Speakers :• Howard Friedman• Maria Belli – Salesforce MVP• Jitendra Zaa – Salesforce MVP

Page 2: Connecticut Salesforce Developer Group - Jan 2017

Meetup Agendao Networking – 5:00 pm

o AppExchange and Special guest – 5:15 pm

o Composite REST API, Re-captcha and many more – 5:45

pm

o Winter 16, Spring 17 features – 6:15 pm

o Swag distribution and wrap up – 6:45 pm

Page 3: Connecticut Salesforce Developer Group - Jan 2017

Howard FriedmanCT Dev group co-organizer

Page 4: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17Web-to-Lead Enhancements – Spam Prevention

• Ability to add reCAPTCHA to your web forms

How to (try to) incorporate (demo)

Page 5: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17Web-to-Lead Enhancements – Spam Prevention

• Still doesn’t solve the full problem (demo)

Page 6: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17Web-to-Lead Enhancements – TRUE Spam Prevention

• Add field validation (helps)• Process leads server-side

Page 7: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17REST API – Composite Resources

• What is a REST API?

A REST API defines a set of functions which developers can perform requests and receive responses via standard HTTP protocols.

Simply put, it allows you to access a URL address to “C”reate, “R”ead, “U”pdate, and “D”elete data (“CRUD”)

Page 8: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17REST API – Composite Resources

• Traditionally, Salesforce has provided developers with “out of the box” REST APIs to perform CRUD operations on all standard and custom objects.

For example you could add an Account record by calling:https://na??.salesforce.com/services/data/v38.0/sobjects/Account/

Page 9: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17REST API – Composite Resources

• If you wanted to then add an Contact record under that Account you would need to confirm the Account was added properly, use its Salesforce ID as the AccountID of the Contact and subsequently call the Contact REST API.

https://na??.salesforce.com/services/data/v38.0/sobjects/Contact/

Page 10: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17REST API – Composite Resources

• Composite Resource

Allows you to consolidate CRUD options across multiple objects including creating dependencies between those objects

https://na??.salesforce.com/services/data/v38.0/composite (demo)

Page 11: Connecticut Salesforce Developer Group - Jan 2017

Spring ‘17TLS 1.0 Disabling – REMINDER

https://tls1test.salesforce.com/s/

Test your browsers at:

Page 12: Connecticut Salesforce Developer Group - Jan 2017

Jitendra ZaaTechnical ArchitectSalesforce MVP17x Salesforce Certifications

Follow - @JitendraZaa

Page 13: Connecticut Salesforce Developer Group - Jan 2017

Utility Bar• GA in Spring 17• Add utility bar in Lightning App• Footer would be available across app just like Console • It can have standard and custom Lightning Component

Page 14: Connecticut Salesforce Developer Group - Jan 2017

Shortcuts to Your Top Salesforce Pages with Favorites• Use Favorite at top bar of Salesforce lightning to bookmark favorite pages.

Page 15: Connecticut Salesforce Developer Group - Jan 2017

Limit search to specific Object• Global search can be enabled to search on specific objects only

Page 17: Connecticut Salesforce Developer Group - Jan 2017

Run Flows with a Lightning Skin• Feature is GA now• Visual flow now renders with Lightning skin

Page 18: Connecticut Salesforce Developer Group - Jan 2017

Visual flow in two column - GA• No need of JavaScript hack to show two columns in flow• Decide at flow level that if screen needs to display in two columns

• Instructions1. From Setup, go to Process Automation Settings.2. Select Enable Lightning Runtime for Flows.

• To display a flow’s screens in two columns:

/flow/flowName?flowLayout=twoColumn

Page 19: Connecticut Salesforce Developer Group - Jan 2017

Classic Only Features

Page 20: Connecticut Salesforce Developer Group - Jan 2017

Omni Channel - Supervisor• Omni-Channel Supervisor Is Generally Available• Supervisors can check the health of their call center using the Agents, Queues, and Work tabs.

Page 21: Connecticut Salesforce Developer Group - Jan 2017
Page 22: Connecticut Salesforce Developer Group - Jan 2017

Omni Channel – Supervisor (cont.)

Page 23: Connecticut Salesforce Developer Group - Jan 2017

Omni Channel – Work overflow scenario• Assign Overflow Work to a User or Queue• You don’t have to miss out on work that’s created after your org reaches Omni-Channel limits. Set a user or queue to receive work until

• Omni-Channel is ready to use again.

Page 24: Connecticut Salesforce Developer Group - Jan 2017

Development changes

Page 25: Connecticut Salesforce Developer Group - Jan 2017

Lightning Components

Page 26: Connecticut Salesforce Developer Group - Jan 2017

Create CSP Trusted Sites to Access Third-Party APIs• The Lightning Component framework uses Content Security Policy (CSP) to control the source of content that can be loaded on a page.

• To use third-party APIs that make requests to an external (non-Salesforce) server, add the server as a CSP Trusted Site.

• When you define a CSP Trusted Site, the site’s URL is added to the list of allowed sites for the following directives in the CSP header.– connect-src– frame-src– img-src– style-src– font-src– media-src

Page 27: Connecticut Salesforce Developer Group - Jan 2017

Use Unbound Expressions for One-Way Data Binding Between Components• For Lightning Components

• Use the {#expression} syntax for unbound expressions

• Bound expressions with {!expression} create a bidirectional data• binding that’s expensive for performance.

Page 28: Connecticut Salesforce Developer Group - Jan 2017

Speed Up Your Components by Fixing Performance Warnings• Browser console now shows performance anti pattern• It will appear only if debug mode is enabled for Lightning component

Page 29: Connecticut Salesforce Developer Group - Jan 2017

Share Lightning Apps with Non-Authenticated Users• Add the ltng:allowGuestAccess interface to your Lightning Out dependency app to make it available to users without requiring them to authenticate with Salesforce. This interface lets you build your app with Lightning components, and deploy it anywhere and to anyone.

• A Lightning Out dependency app with the ltng:allowGuestAccess interface can be used with Lightning Components for Visualforce and with Lightning Out.

Page 30: Connecticut Salesforce Developer Group - Jan 2017

User friendly error messages

Page 31: Connecticut Salesforce Developer Group - Jan 2017

Apex

Page 32: Connecticut Salesforce Developer Group - Jan 2017

Monitor the Status of Apex Batch Jobs• Get more information about the status of Apex batch jobs. For a particular batch class, you can get information about parent jobs, such as submitted and completion dates and the number of batches processed or failed. This change applies to both Lightning Experience and Salesforce Classic.

Page 33: Connecticut Salesforce Developer Group - Jan 2017

Some other Apex Changes• Only One Test Setup Method per Class is Allowed• Make Web Service Callouts from Chained Queueable Jobs

Page 34: Connecticut Salesforce Developer Group - Jan 2017

Thank You