-
Notifications
You must be signed in to change notification settings - Fork 261
General editing pass over most of the docs pages #462
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,9 +17,9 @@ | |
| <div class="content .col-xs-12 .col-sm-8 .col-md-9"> | ||
| <h1>{{ page.title }}</h1> | ||
| <div class="edit-container"> | ||
| <a href="https://github.com/tableau/projectfrelard/edit/master/{{ page.path }}" class="edit-links"><span class="glyphicon glyphicon-pencil"></span> Edit this page</a> | ||
| <a href="https://github.com/tableau/extensions-api/edit/main/{{ page.path }}" class="edit-links"><span class="glyphicon glyphicon-pencil"></span> Edit this page</a> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @bcantoni Good catch! Project Frelard was the code name and the name of the repo when we were first launching.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Indeed - luckily GitHub does the right thing and handles with a redirect both the repo name and default branch name changes. |
||
| | ||
| <a href="https://github.com/tableau/projectfrelard/issues" class="edit-links"><span class="glyphicon glyphicon-flag"></span> Submit an issue</a> | ||
| <a href="https://github.com/tableau/extensions-api/issues" class="edit-links"><span class="glyphicon glyphicon-flag"></span> Submit an issue</a> | ||
| </div> | ||
| <br /> | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,12 +6,8 @@ layout: guide | |
|
|
||
| This section serves as a broad overview of the developer experience and considerations of making extensions. | ||
|
|
||
| | ||
|
|
||
|  | ||
|
|
||
| | ||
|
|
||
| ## Build | ||
| The first thing to do is start running sample extension code from the Extensions API Documentation. **Make sure that your sample code works** and your environment is set up properly before jumping into building a new extension. | ||
|
|
||
|
|
@@ -23,42 +19,24 @@ Once you're ready to go, you can start building and customizing your extension. | |
|
|
||
| * [Community Forums](https://community.tableau.com/community/developers/extensions-api/overview)<br>Participate in a community of developers that are passionate about creating extensions. | ||
|
|
||
| * [Extension Gallery (beta)](https://extensiongallery.tableau.com/)<br>Explore and use some of the extensions our partners have created. | ||
| * [Tableau Exchange](https://exchange.tableau.com/)<br>Explore and use some of the extensions our partners have created. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for catching all these gallery references. I missed them completely when I updated references earlier. |
||
|
|
||
| * [Developer Preview](https://prerelease.tableau.com/extensions-api)<br>Participate in the Developer Preview for our Extensions API. Be invited to bi-weekly sprint demos with Tableau's development team and have the opportunity to give ongoing feedback. | ||
|
|
||
| | ||
|
|
||
| ## Test | ||
| Ensure that your extension works properly for different test cases. Try it on your own dashboards, test it with others, and uncover possible edge cases. | ||
|
|
||
| Consider that dashboard extensions can be both **configured** and **viewed** in Tableau. These terms refer to two usage modes we recommend for extensions. To read about these modes and their audiences, learn more at **[Extension Components and Modes]({{ site.baseurl }}/docs/Interaction_Guidelines/ux_components_modes.html)**. | ||
|
|
||
|
|
||
| | ||
|
|
||
| ## Share | ||
| After you've completed making your extension, you may want to share your extension for others to use. Here are some places you might think about sharing your extension. | ||
|
|
||
| ### Tableau Exchange | ||
| Tableau has released the [Tableau Exchange](https://exchange.tableau.com/), a place to explore and download some extensions that our partners have created. If you would like to share your extension, learn more at [Sharing to the Tableau Exchange]({{site.baseurl}}/docs/ux_extension_gallery.html). | ||
|
|
||
| ##### Extension Gallery | ||
| Tableau has released the [Extension Gallery](https://extensiongallery.tableau.com/), a place to explore and download some extensions that our partners have created. If you would like to share your extension to our gallery, learn more at [Sharing to the Extension Gallery]({{site.baseurl}}/docs/ux_extension_gallery.html). | ||
| ### Community Forums | ||
| Tableau also has a [Community Forum](https://community.tableau.com/s/) for developers to discuss extensions and the Extensions API. | ||
|
|
||
| ##### Community Forums | ||
| Tableau also has a [Community Forum](https://community.tableau.com/community/developers/extensions-api/overview) for developers to discuss extensions and the Extensions API. | ||
|
|
||
| ----- | ||
| ----- | ||
|
|
||
| While you might not choose to share your extension directly with Tableau, we encourage you to share your extension through other platforms of your choice! Use it internally at your company or for yourself, consider open source platforms, share over social media channels. How you go about sharing your extension with the world is entirely up to you. | ||
|
|
||
| | ||
|
|
||
| | ||
|
|
||
| --- | ||
| <!-- | ||
| ### <div id="expand-box"><div id="expand-box-header">[<span style="float: right;">2 – Extension Components and Modes →</span>](2 - Extension Components and Modes.md)</div></div> | ||
|
|
||
| ##### <div id="expand-box"><div id="expand-box-header">[<span style="float: left;">Interaction Guidelines</span>](Interaction Guidelines)</div></div> | ||
|
|
||
| --> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,23 +18,23 @@ The [Extensions API Reference]({{site.baseurl}}\docs\index.html) namespaces are | |
|
|
||
| The `extensions` namespace is the namespace for Tableau extensions. A dashboard extension is one type of extension. When a extension is registered as a dashboard extension, it has access to the `dashboardContent` namespace, and all of the objects and classes of the dashboard. The type of extension you have registered determines what namespaces will be available. Some namespaces, like the `settings`, `environment`, and `ui` are available to all extensions. | ||
|
|
||
| The `extensions` name space has one method `initializeAsync()` that is used to initialize the extension. When this method is called, it also triggers Tableau to configure the Extensions API. Like the Tableau JavaScript API, the Extensions API follows the [CommonJS Promises/A standard](http://wiki.commonjs.org/wiki/Promises/A) for asynchronous method calls. | ||
| The `extensions` namespace has one method `initializeAsync()` that is used to initialize the extension. When this method is called, it also triggers Tableau to configure the Extensions API. Like the Tableau JavaScript API, the Extensions API follows the [CommonJS Promises/A standard](http://wiki.commonjs.org/wiki/Promises/A) for asynchronous method calls. | ||
|
|
||
|  | ||
|
|
||
| ## Registering and accessing dashboard extensions | ||
|
|
||
| The dashboard extension is one type of extension in the Tableau extensions namespace (and it is accessed using `tableau.extensions`). To register the extension, you declare the type of extension in the manifest file (`.trex`). For more information about what goes in the file, see [Tableau Manifest File]({{site.baseurl}}\docs\index.html). | ||
| The dashboard extension is one type of extension in the Tableau extensions namespace (and it is accessed using `tableau.extensions`). To register the extension, you declare the type of extension in the manifest file (`.trex`). For more information about what goes in the file, see [Tableau Manifest File](./trex_manifest.md). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My mistake. The link when to the API reference page. The url should be So the full link is:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it's cleaner and perhaps more standard to just point to the relative .md file like this. These will resolve correctly when published but also when doing a local jekyll build. |
||
|
|
||
| ```xml | ||
| <dashboard-extension id="com.example.extensions.name" extension-version="0.1.0"> | ||
| <dashboard-extension id="com.example.extensions.name" extension-version="0.1.0"> | ||
| ``` | ||
| After the extension is initialized, it provides access to the objects in the dashboard, but also has access to the namespaces that are common to all extensions. For example, you can use the `tableau.extensions.environment` to query the environment the dashboard is running in, or `tableau.extensions.settings` to set or get key-value pairs associated with the extension. The `tableau.extensions.settings` can be saved with the workbook, so you can configure the dashboard and the extension in specific ways and then share that configuration with others. | ||
|
|
||
| To access the objects in the dashboard, you specify the namespace reserved for dashboard extensions `dashboardContent`, which then gives you access to the dashboard object. For example, the following code snippet gets the array of worksheets in the dashboard. | ||
|
|
||
| ```python | ||
| const worksheets = tableau.extensions.dashboardContent.dashboard.worksheets ; | ||
| ```javascript | ||
| const worksheets = tableau.extensions.dashboardContent.dashboard.worksheets; | ||
| ``` | ||
|
|
||
| The following diagram shows an outline of the namespace hierarchy that you traverse to get to worksheets. | ||
|
|
@@ -49,16 +49,7 @@ For example, after you extract a worksheet object from the dashboard, you can us | |
|
|
||
| The following code fragment shows an example of setting an event listener `addEventListener` on a worksheet. | ||
|
|
||
| ```python | ||
|
|
||
| // Add an event listener for the selection changed event on this sheet. | ||
| unregisterEventHandlerFunction = worksheet.addEventListener('mark-selection-changed', myfunctionHandleSelectionEvent); | ||
| ```javascript | ||
| // Add an event listener for the selection changed event on this sheet. | ||
| let unregisterEventHandlerFunction = worksheet.addEventListener('mark-selection-changed', myfunctionHandleSelectionEvent); | ||
| ``` | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My mistake. The VizAPI isn't a separate doc set and so it shouldn't have the
target="_blank"