+ All Categories
Home > Documents > Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers....

Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers....

Date post: 09-Aug-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
53
Transcript
Page 1: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer
Page 2: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Welcome

Page 3: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Introductions… (and cool pics)

Page 4: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Introductions… (and cool pics)

Flex the T-Rex

Page 5: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Automation

Extensions

Embedded Analytics

Data Connectivity

Data Science

Tableau Platform

Inte

gra

tion

s

Enabling Integrations for Developers

Page 6: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Developer Deep Dive:Dashboard Extensions

# T C 1 8

John Dance

Principal Software Engineer

Tableau

Ankit Patel

Senior Software Engineer

Tableau

Page 7: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Wait! Did they just say something like ‘code’ and ‘JavaScript’ in the same sentence!?

Someone in the audience

Page 8: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Am I in the right session?

That same someone in the audience

Page 9: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

E X T E N S I O N S R E L AT E D S E S S I O N S

Extending Tableau Front and BackOct-23 | 14:15 – 15:15

(Hands on Training) Dashboard ExtensionsOct-23 | 14:15 – 16:45 Oct-24 | 13:45 – 16:15

Developer Deep Dive | Dashboard ExtensionsOct-24 | 10:15 – 11:15 Oct-25 | 14:15 – 15:15

Real-world Tableau Using Extensions and TabPyOct-24 | 15:30 – 16:30 Oct-25 | 10:45 – 11:45

Page 10: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

E X T E N S I O N S R E L AT E D S E S S I O N S ( C O N T. )

Extensions FOMO Cure | Extensions to Use TodayOct-24 | 10:15 – 10:45 Oct-25 | 11:45 – 12:15

You Did What With the Extensions API!?Oct-23 | 16:00 – 17:00 Oct-24 | 15:30 – 16:30

Close the Loop & Light it Up with ExtensionsOct-23 | 14:15 – 15:15 Oct-25 | 10:45 – 11:45

Page 11: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Are you ready?

John & Ankit

Page 12: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

What is a dashboard extension?

A few in the audience

Page 13: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Gallery

Page 14: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

Initialization API

Data API

Page 15: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

InitializationAPI

Data API

Page 16: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Page 17: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Page 18: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Page 19: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

https://tableau.github.io/extensions-api/#

Page 20: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Page 21: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

Initialization API

Data API

Page 22: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Initializing an Extension

Occurs at the beginning of every extension:

tableau.extensions.initializeAsync().then(function() {

// Once this promise has resolved, all extension

// APIs have been initialized and can be used.

});

Page 23: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Javascript Promise

requestTShirtAsync().then(function() { iamHappy() },function() { iamSad() });

requestTShirtAsync : is a function returning a Promise

then : is a method of Promise

iamHappy : is called if Promise is fulfilled

iamSad : is called if Promise is rejected

Page 24: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Initializing the extension

Page 25: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

InitializationAPI

Data API

Page 26: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Initializing the extension

Getting data from the dashboard

Page 27: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

InitializationAPI

Data API

Page 28: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Event Listening Pattern

worksheet.addEventListener(eventType, eventHandlerFunction);

// somewhere else in the .js file

function eventHandlerFunction(event) {

// do something interesting with the event …

}

// eventType can be: FilterChanged, MarkSelectionChanged, ParameterChanged, SettingsChanged

Page 29: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Initializing the extension

Getting data from the dashboard

Adding an event handler

Page 30: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

InitializationAPI

Data API

Page 31: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Initializing the extension

Getting data from the dashboard

Adding an event handler

Saving state with settings

Page 32: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Setup & Manifest

Event API Interactive API

Settings API

InitializationAPI

Data API

Page 33: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Example Actions

// add to, remove, or replace the selection

worksheet.selectMarksByValueAsync(selectionCriteria, updateType) : Promise<void>

// change the value of a parameter

Parameter.changeValueAsync(newValue) : Promise<DataValue>

// change a filter

worksheet.applyFilterAsync(fieldName, values, updateType): Promise<string>

Page 34: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer
Page 35: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

CodeLoading the extension

Initializing the extension

Getting data from the dashboard

Adding an event handler

Saving state

Calling dashboard actions

Page 36: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

Edsger W. Dijkstra (not in the audience)

Page 37: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Debuggingtableau --remote-debugging-port=8696

Chromium (Chrome in 2019.1)

see: https://tableau.github.io/extensions-api/#

Page 38: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

With great power comes great responsibility.

Uncle Ben, and someone from the IT department in the audience

Page 39: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Site Settings

Page 40: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Site Settings

Page 41: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Site Settings

Page 42: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Server Settings

Page 43: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Tableau Extensions Server Settings

Page 44: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Roads? Where we’re going, we don’t need roads.

Doc Brown

Back to the Future

Page 45: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Future Extensions Roadmap

Transparency

Show/Hide

Printing

Beyond Dashboard Extensions

Page 46: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Extensions are the most AMAZING, MIND–BLOWING thing I have ever seen! … How do I learn more?

Everyone in the audience

Page 47: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

E X T E N S I O N S R E L AT E D S E S S I O N S

Extending Tableau Front and BackOct-23 | 14:15 – 15:15

(Hands on Training) Dashboard ExtensionsOct-23 | 14:15 – 16:45 Oct-24 | 13:45 – 16:15

Developer Deep Dive | Dashboard ExtensionsOct-24 | 10:15 – 11:15 Oct-25 | 14:15 – 15:15

Real-world Tableau Using Extensions and TabPyOct-24 | 15:30 – 16:30 Oct-25 | 10:45 – 11:45

Page 48: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

E X T E N S I O N S R E L AT E D S E S S I O N S ( C O N T. )

Extensions FOMO Cure | Extensions to Use TodayOct-24 | 10:15 – 10:45 Oct-25 | 11:45 – 12:15

You Did What With the Extensions API!?Oct-23 | 16:00 – 17:00 Oct-24 | 15:30 – 16:30

Close the Loop & Light it Up with ExtensionsOct-23 | 14:15 – 15:15 Oct-25 | 10:45 – 11:45

Page 49: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

#DataDev Resources

TC18 Developer Track Contenthttp://tabsoft.co/tcdevtrack

Tableau Developer Programhttp://tableau.com/developer

Free environment for development

Early access to info and APIs

Tableau on GitHubhttp://github.com/tableau

Page 50: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

What amazing extensions will you invent and write?

Flex the T-Rex

Page 51: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Thank you!

#TC18

Page 52: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

#DataDev Resources

TC18 Developer Track Contenthttp://tabsoft.co/tcdevtrack

Tableau Developer Programhttp://tableau.com/developer

Free environment for development

Early access to info and APIs

Tableau on GitHubhttp://github.com/tableau

Page 53: Welcome [tc18.tableau.com] · Tableau Platform Integrations Enabling Integrations for Developers. Developer Deep Dive: Dashboard Extensions #TC18 John Dance Principal Software Engineer

Recommended