Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau....

33

Transcript of Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau....

Page 1: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau
Page 2: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Welcome

Page 3: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Writing your first Web Data Connector

Brett Taylor

Staff Software Engineer

Tableau

# T C 1 8

Ashwin Sekar

Software Engineer

Tableau

Page 4: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Automation

Extensions

Embedded Analytics

Data Connectivity

Data Science

Tableau Platform

Inte

gra

tion

s

Enabling Integrations for Developers

Page 5: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Agenda

What is a Web Data Connector

How to use a Web Data Connector

Live demonstration of building a Web Data Connector

Page 6: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

What isWeb Data Connector?

Page 7: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Your

HTML & JavaScript

Web Data Connector

Page 8: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Why use a WDC?

Data Accessibility Automation

Page 9: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

UsingWeb Data Connectors

Page 10: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

BuildingWeb Data Connectors

Page 11: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

It all starts here…

Page 12: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

WDC Phase Model

Phase 1: Interactive Phase

• The UI that a user sees

• The purpose is to collect input:• Filters

• Authentication

Phase 2: Gather Data Phase

• Runs after the interactive phase

• Used to retrieve schema & data

Page 13: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Functions WDCs Implement

init(initCallback)Initializes WDC and specifies

advanced options [optional]

getSchema(schemaCallback)Returns schema information

getData(table, doneCallback)Returns data for requested table

Page 14: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau
Page 15: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau
Page 16: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau
Page 17: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Creating a Web Data Connector

Pre-req #1: Know your Web API

API Overview

API Documentation

Response format (JSON? XML?)

API parameters

Sample requests (e.g. JSON lint)

Page 18: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Creating a Web Data Connector

Pre-req #2: Web Data Connector tools

Download the WDC SDKgit clone https://github.com/tableau/webdataconnector.git

Download and Install a good text editor Brackets, Atom, Sublime Text

Have a web server ready to host your WDCPython (SimpleHTTPServer), IIS, Node and npm, Tomcat, WAMP

Page 19: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Functions WDCs Implement

init(initCallback)Initializes WDC and specifies

advanced options [optional]

getSchema(schemaCallback)Returns schema information

getData(table, doneCallback)Returns data for requested table

Page 20: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Creating a Web Data Connector

Let’s party in Desktop!

Load connector in Tableau Desktop

Check for any error messages

Have fun and start visualizing in Tableau Desktop!

Page 21: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

What Else Is Possible?

Page 22: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

What Else Is Possible?

Page 23: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

WDC Tips

Watch out for differences in browser behavior

• WDC uses a browser called Qt WebKit which behaves differently than Chrome and Firefox.

• This can lead to “it worked in the Simulator but not Tableau”.

Page 24: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

WDC Tips

Watch out for differences in browser behavior

• WDC uses a browser called Qt WebKit which behaves differently than Chrome and Firefox.

• This can lead to “it worked in the Simulator but not Tableau”.

We are actively working to move

WDC to use Chromium!

Page 25: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

WDC Tips

Don’t expect state to be preserved

• WDCs are launched multiple times and state is not preserved.

• Global variables won’t be preserved.

• Use tableau.connectionData property.

Page 26: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

WDC Tips

Refresh WDCs on Tableau Server requires extra work

• Admins must whitelist WDCs in order to refresh on Tableau Server.

• We recommend the Sync Client with Tableau Online.

More suggestions are in our WDC FAQ.

Page 27: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Advanced Topics

Multiple tables

User inputs in HTML

Authentication

Publishing your WDC

Page 28: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Final Takeaways

Read the tutorials

Don’t start from scratch!

Find an existing WDC you can re-use.

Use the WDC Simulator

Debugging JavaScript is a lot easier from the simulator.

Page 29: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

#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

http://github.com/tableau/webdataconnector

Page 30: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

D ATA C O N N E C T I V I T Y R E L AT E D S E S S I O N S

Data and Back Again | Lessons from Shipping WDCsOct-24 | 10:15 – 11:15 Oct-24 | 12:00 – 13:00

Write Your First Web Data Connector (WDC)Oct-23 | 14:15 – 15:15 Oct-24 | 15:30 – 16:30

Leveraging the Extract API to Build Data ModelsOct-23 | 10:45 – 11:45 Oct-24 | 10:15 – 11:15

Page 31: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Please complete the

session survey from the

Session Details screen

in your TC18 app

Page 32: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau

Thank you!

#TC18

Brett – [email protected]

Ashwin – [email protected]

Page 33: Welcome [tc18.tableau.com] · 2020. 1. 6. · Tableau #TC18 Ashwin Sekar Software Engineer Tableau. Automation Extensions Embedded Analytics Data Connectivity Data Science Tableau