Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions docs/trex_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,18 @@ layout: docs
{:toc}

## Components of a Tableau dashboard extension
A Tableau extension consists of a manifest file (`.trex`), a web page that uses a Tableau-provided JavaScript library, and the JavaScript file (or files) that contain your extension logic. The Tableau extensions are supported on Tableau Desktop.
A Tableau extension consists of a manifest file (`.trex`), a web page that uses a Tableau-provided JavaScript library, and the JavaScript file (or files) that contain your extension logic. The Tableau extensions are supported on Tableau Desktop, Tableau Server, and Tableau Online.

![]({{site.baseurl}}/assets/extensions_dashboard_diagram.png)

## What can you do with a dashboard extension?

Plenty! Using the Extensions API, you can create dashboard extensions that enable customers to integrate and interact with data from other applications directly in Tableau.

* Integrate with third-party APIs inside the dashboard.
* Use third-party charting libraries like `d3.js` to add custom visualizations.
* Create an extension that has write-back functionality, so users can modify data in a viz and have that change automatically update the source data in the database or web application.
* Build custom viz and interactivity types, such as a filter replacement with a custom interface and network diagram.

## Extensions API library

Expand All @@ -29,4 +37,4 @@ The Extensions API and the Embedded API (also known as the [JavaScript API](http
* You can use the Embedded API for embedding Tableau dashboards in web pages (for example, blog posts), or in line of business applications.
* You can use the Extensions API for integrating web applications into zones in Tableau dashboards.

The Extensions API and Embedded API share a similar programming model, but there are differences. The two APIs are not designed to be used together. In the Embedded API, the `Viz` or `VizManager` is the highest-level object. However, in the Extensions API there is no object model or concept for a `Viz` or `VizManager`. For the Extensions API, the workbook is the highest-level object a developer interacts with.
The Extensions API and Embedded API share a similar programming model, but there are differences. The two APIs are not designed to be used together. In the Embedded API, the `Viz` or `VizManager` is the highest-level object. However, in the Extensions API there is no object model or concept for a `Viz` or `VizManager`. For the Extensions API, the workbook is the highest-level object a developer interacts with.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realize this isn't part of your changes, but few things jumped out to me..

i don't think the workbook exists in the extensions api? There are some high level namespaces... ui, dashboard, environement, etc...

"The two APIs are not designed to be used together." this also seems a bit misleading, theoretically you should be able to embed a viz with a dashboard extension.

@Kovner thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The working deck PPT for "Explore a whole new world..." TC 18 presentation has a nice list of the differences.

JavaScript is on the left|Extensions is on the right:

Brings Tableau into other web applications Brings other web applications into Tableau
Requires embedding Tableau dashboard into a web page Can be used in Desktop, Server, or embedded dashboard
Custom-built for each embed scenario Can be made as a re-usable, generic-built dashboard component
Written in JavaScript Written in JavaScript (similar calls)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jz-huang @johnDance Thanks for the feedback on this section. I'll update it with your corrections. I like the table. Thanks for that, John. I'll use it here. You are right, Jackson. The comparison of the Viz object in JS API and the workbook in the extensions API is off base, and saying "not designed to be used together" is not accurate or very helpful.