lightning reports - dreamforce 2015

17
Build a Lightning Reporting App with the Salesforce Analytics API Daniel Peter Lead Applications Engineer – Kenandy, Inc [email protected] @danieljpeter Using the Reporting API as a declarative data source, Lightning Components as the application framework, and Lightning Design System for the UI style.

Upload: daniel-peter

Post on 13-Apr-2017

690 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Lightning Reports - Dreamforce 2015

Build a Lightning Reporting App with the Salesforce Analytics API

 Daniel Peter  Lead Applications Engineer – Kenandy, Inc  [email protected]  @danieljpeter

Using the Reporting API as a declarative data source, Lightning Components as the application framework, and Lightning Design System for the UI style.

Page 2: Lightning Reports - Dreamforce 2015

 Safe harbor statement under the Private Securities Litigation Reform Act of 1995:

 This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.

 The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.

 Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Safe Harbor

Page 3: Lightning Reports - Dreamforce 2015

•  Salesforce Lightning

•  Analytics (Reporting) API

•  UI framework with Lightning Components (Lightning Design System)

•  Apex to retrieve and process the Analytics API response

•  Lightning navigation and events

•  Summary and Matrix report data structure

•  Styling lightning components

•  Demo

•  Questions

Overview

Page 4: Lightning Reports - Dreamforce 2015

1.  Lightning Connect

2.  Lightning Components

3.  Lightning App Builder

4.  Lightning Process Builder

5.  Lighting Experience

6.  Lighting Design System

Salesforce Lightning Family

Page 5: Lightning Reports - Dreamforce 2015

Lightning Component Framework

•  UI and application framework geared towards Single Page Applications.

•  No VF-style viewstate. Stateful client, stateless server

•  Focus on componentization.

•  Include JavaScript controller, helper, and encapsulated CSS.

Lightning Design System

•  CSS Framework like bootstrap

•  Works with Visualforce or Lightning Components (or anything else)

•  Makes your app look great, without needing to be a designer.

Salesforce Lightning – This Demo

Page 6: Lightning Reports - Dreamforce 2015

•  Has both a REST and Apex implementation

•  Awesome way to build queries declaritively

•  Demo: report response

Access Salesforce Reports programmatically Analytics (Reporting) API

Page 7: Lightning Reports - Dreamforce 2015

•  Salesforce lightning has limited UI components, but more are being built.

•  Many UI frameworks available

•  Salesforce Lightning Design System to do the heavy lifting of presenting the report data

Make the presentation easy Use a UI framework within Lightning Framework

http://www.lightningdesignsystem.com/

Page 8: Lightning Reports - Dreamforce 2015

DEMO: Retrieve and transform reporting data

Apex and the Analytics API

Page 9: Lightning Reports - Dreamforce 2015

•  Need a way to find the report you want to display

•  Autocomplete search

•  Need a way to click and navigate to the selected report

•  Application event

•  Need a way to drill into records in the report

•  e.force:navigateToSObject

Navigation

Page 10: Lightning Reports - Dreamforce 2015

App Components

spinner

reportSearch

svgIcon

reportGroup

sobjectHyperlink

report

reportLoad

toggleLoading

Component Controller

Helper Style Docs

Renderer Design SVG

Page 11: Lightning Reports - Dreamforce 2015

•  Summary Report

•  Needs a different structure, has to hold the groups and the detail

•  Make a new user defined type in Apex (complex storage)

•  Matrix Report

•  We can shoehorn it into a tabular structure

•  Use Apex to transform into an existing type (complex processing)

The Fact Map gets more complex Summary and Matrix Reports

Page 12: Lightning Reports - Dreamforce 2015

•  Salesforce Lightning Design System handles most of it (external CSS, static resource)

•  Can also do component level CSS contained within, and namespaced to the component

•  Style the grouping headers

•  Makes reports easier to read

Styling Lightning

Page 13: Lightning Reports - Dreamforce 2015

Lightning Design System Icon div.slds-icon__container

Sprite: custom9

Lookup .slds-lookup__control

.slds-input-has-icon--right

Scrollable div. slds-scrollable--x

Data Table table.slds-table slds-table—bordered

table.slds-max-medium-table--stacked

Spinner div. slds-spinner—large slds_spinner_brand.gif

Page 14: Lightning Reports - Dreamforce 2015

Let’s see it all in action!

Final Demo

Page 15: Lightning Reports - Dreamforce 2015

•  Source code on github •  https://github.com/danieljpeter/lightningReports2015

•  Reference •  Analytics API for Apex

•  https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_analytics_intro.htm

•  Lightning Components Developer’s Guide

•  https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/

•  Lightning Design System

•  https://www.lightningdesignsystem.com/

Resources

Page 16: Lightning Reports - Dreamforce 2015

Thank you

Page 17: Lightning Reports - Dreamforce 2015

Share Your Feedback, and Win a GoPro!

3 Earn a GoPro prize entry for each completed survey

Tap the bell to take a survey 2Enroll in a session 1