From f5029353d9840261870d70aa1cd495cc0c3f34f5 Mon Sep 17 00:00:00 2001 From: Dave Hagen Date: Mon, 21 Oct 2024 18:00:25 -0700 Subject: [PATCH] Fixing links to use file path instead of url path; trailingSlash - false# --- .../Interaction_Guidelines/ux_build_test.md | 4 +- .../ux_components_modes.md | 10 +-- .../ux_controls_ui_patterns.md | 6 +- website/docs/Style_Guidelines/ux_branding.md | 4 +- website/docs/Style_Guidelines/ux_color.md | 2 +- website/docs/Style_Guidelines/ux_fonts.md | 4 +- website/docs/Style_Guidelines/ux_layout.md | 8 +- website/docs/core/trex_format.md | 2 +- website/docs/core/trex_getdata.md | 8 +- website/docs/core/trex_tableau_viz.md | 10 +-- website/docs/core/trex_typescript.md | 2 +- website/docs/dashext/trex_create.md | 12 +-- website/docs/dashext/trex_examples.md | 2 +- website/docs/dashext/trex_getstarted.md | 6 +- website/docs/dashext/trex_overview.md | 6 +- website/docs/debug/trex_debug_server.md | 4 +- website/docs/debug/trex_debugging.md | 4 +- website/docs/index.md | 10 +-- website/docs/publish/trex_publish.md | 6 +- website/docs/publish/trex_sandbox_publish.md | 8 +- website/docs/security/trex_data_access.md | 2 +- website/docs/security/trex_sandbox_test.md | 8 +- website/docs/security/trex_security.md | 4 +- website/docs/trex_api_about.md | 4 +- website/docs/trex_known_issues.md | 8 +- website/docs/trex_release-notes.md | 76 +++++++++---------- website/docs/trex_tableau_viz_ref.md | 6 +- website/docs/trex_tableau_viz_ref_v1.md | 2 +- website/docs/trex_tableau_viz_ref_v2.md | 2 +- website/docs/ux_design.md | 16 ++-- website/docs/ux_extension_gallery.md | 4 +- website/docs/vizext/trex_viz_create.md | 8 +- website/docs/vizext/trex_viz_examples.md | 4 +- website/docs/vizext/trex_viz_getstarted.md | 6 +- website/docusaurus.config.js | 2 + website/yarn.lock | 13 +--- 36 files changed, 138 insertions(+), 145 deletions(-) diff --git a/website/docs/Interaction_Guidelines/ux_build_test.md b/website/docs/Interaction_Guidelines/ux_build_test.md index 38db4d16..c52006df 100644 --- a/website/docs/Interaction_Guidelines/ux_build_test.md +++ b/website/docs/Interaction_Guidelines/ux_build_test.md @@ -35,7 +35,7 @@ The Extensions API includes all the information you need to build an extension. 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](ux_components_modes)**. +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](./ux_components_modes.md)**.   @@ -47,7 +47,7 @@ After you've completed making your extension, you may want to share your extensi #### Tableau Exchange -Tableau has created 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 on the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery). +Tableau has created 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 on the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery.md). #### Community Forums diff --git a/website/docs/Interaction_Guidelines/ux_components_modes.md b/website/docs/Interaction_Guidelines/ux_components_modes.md index d11bb34d..c8c4ae98 100644 --- a/website/docs/Interaction_Guidelines/ux_components_modes.md +++ b/website/docs/Interaction_Guidelines/ux_components_modes.md @@ -60,7 +60,7 @@ This is where authors can access the dropdown menu for more options, such as con ![extension container](./imgs/2-chrome_menu.png) -*Learn more about branding your extension container at [Branding your Extension](../Style_Guidelines/ux_branding#extension-container).* +*Learn more about branding your extension container at [Branding your Extension](../Style_Guidelines/ux_branding.md#extension-container).*   @@ -73,7 +73,7 @@ This dialog is only available to dashboard authors, It is primarily accessible t ![configuration dialog](./imgs/2-config_dialog.png) -*Learn more about branding your configuration dialog at [Branding your Extension](../Style_Guidelines/ux_branding#configuration-dialog).* +*Learn more about branding your configuration dialog at [Branding your Extension](../Style_Guidelines/ux_branding.md#configuration-dialog).*   @@ -122,7 +122,7 @@ The configuration dialog allows dashboard authors to customize extensions in the | **Tagline** | The tagline is one sentence in the help tag that explains what the extension does. The maximum character limit is 96 characters.| | **Confirmation** | Make sure there is a clear way for users to apply changes made while configuring the extension. | -Learn more about [Controls and UI Patterns](ux_controls_ui_patterns) to use in your configuration dialog. +Learn more about [Controls and UI Patterns](./ux_controls_ui_patterns.md) to use in your configuration dialog.   @@ -134,7 +134,7 @@ Many extensions require an author to configure the extension before using it in While this is optional, **we strongly recommend using this popup pattern** because when an author is configuring the extension for the first time, there often isn't any content present in the extension container until the extension has been configured. Using this popup pattern will allow authors to start configuring the extension right away. -*Learn more about how to implement this popup at [Add a Configuration Popup Dialog (Extensions API Documentation)](../core/trex_configure).* +*Learn more about how to implement this popup at [Add a Configuration Popup Dialog (Extensions API Documentation)](../core/trex_configure.md).*   @@ -144,7 +144,7 @@ The About Extension Dialog is automatically created using the content from your ![about extension dialog](./imgs/2-about_dialog_annotated.png) -*Learn more about the dashboard extension manifest file at [Tableau Extension Manifest File (Extensions API Documentation)](../dashext/trex_manifest)*. +*Learn more about the dashboard extension manifest file at [Tableau Extension Manifest File (Extensions API Documentation)](../dashext/trex_manifest.md)*. diff --git a/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md b/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md index 4720afc7..7d0daaf6 100644 --- a/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md +++ b/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md @@ -16,7 +16,7 @@ We've provided examples of controls that are used in Tableau. Using the exact st * [Tooltips](#tooltips) -The controls described here use Tableau branding, accessible from the **[Color](../Style_Guidelines/ux_color)** and **[Fonts](../Style_Guidelines/ux_fonts)** sections of these design guidelines. +The controls described here use Tableau branding, accessible from the **[Color](../Style_Guidelines/ux_color.md)** and **[Fonts](../Style_Guidelines/ux_fonts.md)** sections of these design guidelines. *At this time, we are only able to provide surface-level usage and design specifications for controls. We are working to make code for Tableau controls accessible to developers in the future.* @@ -63,7 +63,7 @@ A button communicates what happens when a user touches it. Button labels can con | Button | How to use | |----|:-----| -| **Call-to-Action                                                ** | These buttons are primarily used in dialogues to indicate an action. Use colors to communicate function–for example, green is commonly used for confirmation buttons. Learn more about color usage at **[Colors](../Style_Guidelines/ux_color)**.
You may also want to utilize branding practices on buttons. Learn more at **[Branding your Extension](../Style_Guidelines/ux_branding)**. | +| **Call-to-Action                                                ** | These buttons are primarily used in dialogues to indicate an action. Use colors to communicate function–for example, green is commonly used for confirmation buttons. Learn more about color usage at **[Colors](../Style_Guidelines/ux_color.md)**.
You may also want to utilize branding practices on buttons. Learn more at **[Branding your Extension](../Style_Guidelines/ux_branding.md)**. | | **Greyscale** | Greyscale buttons are used either to indicate a secondary action, or a button that has been disabled and a particular action needs to be taken before proceeding. | | **Text Button            ** | This is a low-attention button, and should only be used to provide a secondary option in the case that the user wants to perform an action that isn’t the primary action. | | **Icon** | Buttons can have icons to add a helpful visual. If you use icons, include a text label or a help tag that is activated on hover. | @@ -102,7 +102,7 @@ Primary buttons apply only to Call-to-Action buttons. ## Dialogs -A dialog is a “conversation” between the system and the user, which often requests information or action from the user. For info about the extension configuration dialog, learn more at **[Extension Components and Modes](ux_components_modes)**. +A dialog is a “conversation” between the system and the user, which often requests information or action from the user. For info about the extension configuration dialog, learn more at **[Extension Components and Modes](ux_components_modes.md)**. ### Standard Dialog These dialogs are non-modal, meaning they can be used when the requested information is not essential to continue. The dialog can be left open while the user interacts with other components in the extension. diff --git a/website/docs/Style_Guidelines/ux_branding.md b/website/docs/Style_Guidelines/ux_branding.md index 35ad00b8..2c1e1227 100644 --- a/website/docs/Style_Guidelines/ux_branding.md +++ b/website/docs/Style_Guidelines/ux_branding.md @@ -49,8 +49,8 @@ Your extension can be branded through two components: the **configuration dialog Links to review component usage and controls specifications: -* **[Extension Components and Modes](../Interaction_Guidelines/ux_components_modes)** -* **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns)** +* **[Extension Components and Modes](../Interaction_Guidelines/ux_components_modes.md)** +* **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns.md)**   diff --git a/website/docs/Style_Guidelines/ux_color.md b/website/docs/Style_Guidelines/ux_color.md index d65fe2b1..d87a6ab9 100644 --- a/website/docs/Style_Guidelines/ux_color.md +++ b/website/docs/Style_Guidelines/ux_color.md @@ -10,7 +10,7 @@ Use of color is essential for communication. Color is one of the first visual el ## Color Principles -**Use colors with purpose and clarity.** Your color choices should highlight your extension's content, while also communicating its function. You should be able to justify the colors used on your extension: why did you choose that specific color, and what does it communicate to your user? Color is also an opportunity to showcase your brand. Learn more at **[Branding your Extension](ux_branding)**. +**Use colors with purpose and clarity.** Your color choices should highlight your extension's content, while also communicating its function. You should be able to justify the colors used on your extension: why did you choose that specific color, and what does it communicate to your user? Color is also an opportunity to showcase your brand. Learn more at **[Branding your Extension](ux_branding.md)**. **Less is more.** Refrain from using too many colors, which could blur the focus. Try to avoid using color applied to text, which can make words difficult to distinguish and decrease legibility. diff --git a/website/docs/Style_Guidelines/ux_fonts.md b/website/docs/Style_Guidelines/ux_fonts.md index 92dd3e0f..f4ee883c 100644 --- a/website/docs/Style_Guidelines/ux_fonts.md +++ b/website/docs/Style_Guidelines/ux_fonts.md @@ -5,7 +5,7 @@ layout: guide Fonts and typography are essential to how we communicate with our users. When text is used effectively, it grabs attention, evokes emotion, and emphasizes tone and voice. -> **Note:** Starting with the Dashboard Extensions API v1.7 library, and supported with Tableau 2021.4 or later, you can apply workbook formatting on the HTML elements in your extension. For more information, see [Add Tableau Workbook Formatting](../core/trex_format). +> **Note:** Starting with the Dashboard Extensions API v1.7 library, and supported with Tableau 2021.4 or later, you can apply workbook formatting on the HTML elements in your extension. For more information, see [Add Tableau Workbook Formatting](../core/trex_format.md).   @@ -30,7 +30,7 @@ We recommend that you use a **sans serif font family** in your extension. Here,   #### Benton Sans -Benton Sans Book is the default font for the Tableau UI elements. To learn more about Tableau font colors, see [Color](ux_color). +Benton Sans Book is the default font for the Tableau UI elements. To learn more about Tableau font colors, see [Color](./ux_color.md). Other weight variations of Benton Sans should be used infrequently. For example, Benton Sans Medium is typically used for section titles in dialogs. Benton Sans Light and Book Italic are used in more specific cases like lightweight captions and should not be overused. diff --git a/website/docs/Style_Guidelines/ux_layout.md b/website/docs/Style_Guidelines/ux_layout.md index 438687cd..5a3c3af2 100644 --- a/website/docs/Style_Guidelines/ux_layout.md +++ b/website/docs/Style_Guidelines/ux_layout.md @@ -41,10 +41,10 @@ It is common for extensions to take up a smaller size due to most of the functio ## Spacing -Specifications about spacing have been detailed in **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns)** and **[Branding your Extension](ux_branding)**. +Specifications about spacing have been detailed in **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns.md)** and **[Branding your Extension](ux_branding.md)**. Here are some links to specific parts of your extension that you may need spacing guidance on: -* [**Dialogs** (Controls and UI Patterns)](../Interaction_Guidelines/ux_controls_ui_patterns#dialogs) -* [**Configuration Dialog** (Branding your Extension)](../Style_Guidelines/ux_branding#configuration-dialog) -* [**Extension Container** (Branding your Extension)](../Style_Guidelines/ux_branding#extension-container) +* [**Dialogs** (Controls and UI Patterns)](../Interaction_Guidelines/ux_controls_ui_patterns.md#dialogs) +* [**Configuration Dialog** (Branding your Extension)](../Style_Guidelines/ux_branding.md#configuration-dialog) +* [**Extension Container** (Branding your Extension)](../Style_Guidelines/ux_branding.md#extension-container) diff --git a/website/docs/core/trex_format.md b/website/docs/core/trex_format.md index 68ab0091..6622cdd7 100644 --- a/website/docs/core/trex_format.md +++ b/website/docs/core/trex_format.md @@ -85,7 +85,7 @@ dashboard.addEventListener(tableau.TableauEventType.WorkbookFormattingChanged, ( ``` -For more information about using event listeners, see [Events and Event Handling](./trex_events). +For more information about using event listeners, see [Events and Event Handling](./trex_events.md). ## What's Next diff --git a/website/docs/core/trex_getdata.md b/website/docs/core/trex_getdata.md index 7336d640..d40d6d92 100644 --- a/website/docs/core/trex_getdata.md +++ b/website/docs/core/trex_getdata.md @@ -3,7 +3,7 @@ title: Getting Data from the Workbook description: How to access data in the workbook --- -The Tableau Extensions API provides methods that you can use to access the data in a workbook. The data you can access includes the summary or aggregated data, and also the underlying data (or full data). If your extension needs to access the full data, there are security implications and your extension needs to declare its intent, so that users of your extension can choose to allow or deny the extension access. See [Accessing Underlying Data](../security/trex_data_access) for more information. +The Tableau Extensions API provides methods that you can use to access the data in a workbook. The data you can access includes the summary or aggregated data, and also the underlying data (or full data). If your extension needs to access the full data, there are security implications and your extension needs to declare its intent, so that users of your extension can choose to allow or deny the extension access. See [Accessing Underlying Data](../security/trex_data_access.md) for more information. ::::note @@ -65,7 +65,7 @@ The first step for accessing data of any kind is to get the worksheet object (or ``` -After you have a worksheet object, you can call one of the methods to access the data for that worksheet. For summary data, or the data from the selected or highlighted marks, the steps are straight forward. If you want access the underlying data (or full data), there are additional steps and considerations. See [Accessing Underlying Data](../security/trex_data_access). +After you have a worksheet object, you can call one of the methods to access the data for that worksheet. For summary data, or the data from the selected or highlighted marks, the steps are straight forward. If you want access the underlying data (or full data), there are additional steps and considerations. See [Accessing Underlying Data](../security/trex_data_access.md). ## Get summary data from a worksheet @@ -121,7 +121,7 @@ Prior to Tableau 2022.4 and the Dashboard Extensions API library v1.10, you woul ## Get full data from a worksheet -If your extension uses one of the functions that can access full data, you need to add an element to the manifest file (`.trex`) that declares that the extension requires `full data` permission. If the manifest file does not have this element, the extension can run, but the method to access full data will fail. See [Add permissions to access full data to manifest file](../security/trex_data_access#add-permissions-to-access-full-data-to-manifest-file). +If your extension uses one of the functions that can access full data, you need to add an element to the manifest file (`.trex`) that declares that the extension requires `full data` permission. If the manifest file does not have this element, the extension can run, but the method to access full data will fail. See [Add permissions to access full data to manifest file](../security/trex_data_access.md#add-permissions-to-access-full-data-to-manifest-file). Note whoever uses your extension must have the appropriate download permissions (Download Full Data) so that extension can run. @@ -250,7 +250,7 @@ tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "S You can also get the underlying data from the data sources for the worksheet. To do that, you must acquire the data sources for the worksheet with a call to the `getDataSourcesAsync()` method, which returns an array of the primary and all the secondary data sources of a worksheet. Once you have the data source object, you can access the underlying data and access information about the data source, such as the names of tables and fields and information about the connection. -Just like worksheet methods that access full data, the following methods for the data source also require that your extension specifies `full data` permissions in the `trex` file. See [Add permissions to access full data to manifest file](../security/trex_data_access#add-permissions-to-access-full-data-to-manifest-file). +Just like worksheet methods that access full data, the following methods for the data source also require that your extension specifies `full data` permissions in the `trex` file. See [Add permissions to access full data to manifest file](../security/trex_data_access.md#add-permissions-to-access-full-data-to-manifest-file). | Method | Tableau Version | Extensions API Library | Status | diff --git a/website/docs/core/trex_tableau_viz.md b/website/docs/core/trex_tableau_viz.md index d2da348b..2622ba46 100644 --- a/website/docs/core/trex_tableau_viz.md +++ b/website/docs/core/trex_tableau_viz.md @@ -141,7 +141,7 @@ For Tableau Viz version 2, an `inputSpec` supports combination charts, multiple ``` -For more information about the `inputSpec` for version 1 and version 2, see [Tableau Viz Reference](../trex_tableau_viz_ref). +For more information about the `inputSpec` for version 1 and version 2, see [Tableau Viz Reference](../trex_tableau_viz_ref.md). --- @@ -194,7 +194,7 @@ The following shows what a version 2 `inputSpec` looks like when rendered by the Now that you have seen the basic steps for adding a Tableau Viz to a dashboard extension, you can try adding Tableau Viz to your own dashboard extensions, or to one of the samples. -* For information about the Tableau Viz version 1 and version 2 `inputSpec` and all the options for specifying the visualization, see [Tableau Viz Reference](../trex_tableau_viz_ref). +* For information about the Tableau Viz version 1 and version 2 `inputSpec` and all the options for specifying the visualization, see [Tableau Viz Reference](../trex_tableau_viz_ref.md). * Review the [`tableau.extensions.createVizImageAsync`](pathname:///api/interfaces/extensions#createvizimageasync) method for information about the API. @@ -204,14 +204,14 @@ Now that you have seen the basic steps for adding a Tableau Viz to a dashboard e ## Troubleshoot Tableau Viz images in dashboard extensions -You can use the same tools that you use to debug dashboard extensions to debug problems that occur when you use Tableau Viz to create images. For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server). +You can use the same tools that you use to debug dashboard extensions to debug problems that occur when you use Tableau Viz to create images. For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging.md) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server.md). ### Tableau Viz Error Messages The following is a list of common error messages that you might encounter and includes steps for fixing those errors. The error messages appear in the Console window when you use the Chrome or Chromium debugging tools. -For specific issues with the current release, see [Tableau Viz - Known Issues](../trex_known_issues#tableau-viz---known-issues). +For specific issues with the current release, see [Tableau Viz - Known Issues](../trex_known_issues.md#tableau-viz---known-issues). #### Invalid Palette Name @@ -229,4 +229,4 @@ When you encode the fields in the `inputSpec`, you need to make sure that the di #### Invalid JSON -The `inputSpec` is a JavaScript object that Tableau converts to JSON for processing. The `inputSpec` needs to be in the correct format and must include all required elements. You must encode columns and fields. For the list of required elements, see [Tableau Viz Reference](../trex_tableau_viz_ref). +The `inputSpec` is a JavaScript object that Tableau converts to JSON for processing. The `inputSpec` needs to be in the correct format and must include all required elements. You must encode columns and fields. For the list of required elements, see [Tableau Viz Reference](../trex_tableau_viz_ref.md). diff --git a/website/docs/core/trex_typescript.md b/website/docs/core/trex_typescript.md index cbdf8693..ca7e4a4d 100644 --- a/website/docs/core/trex_typescript.md +++ b/website/docs/core/trex_typescript.md @@ -7,7 +7,7 @@ The Extensions API is a JavaScript library. If you author in TypeScript, Tableau :::note -If you want to examine and use TypeScript versions of several of the sample extensions in the `Samples` folder, see [Samples-Typescript (GitHub)](https://github.com/tableau/extensions-api/tree/main/Samples-Typescript) and follow the instructions to [Use the TypeScript Samples](../dashext/trex_examples#use-the-typescript-samples). +If you want to examine and use TypeScript versions of several of the sample extensions in the `Samples` folder, see [Samples-Typescript (GitHub)](https://github.com/tableau/extensions-api/tree/main/Samples-Typescript) and follow the instructions to [Use the TypeScript Samples](../dashext/trex_examples.md#use-the-typescript-samples). ::: diff --git a/website/docs/dashext/trex_create.md b/website/docs/dashext/trex_create.md index 3cc3265e..a0585e93 100644 --- a/website/docs/dashext/trex_create.md +++ b/website/docs/dashext/trex_create.md @@ -17,7 +17,7 @@ To create a Tableau extension you need the following components. ### What you need to get started -These instructions assume that you already have cloned or download the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Installation](../installation) and [Get Started with Dashboard Extensions](trex_getstarted). +These instructions assume that you already have cloned or download the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Installation](../installation.md) and [Get Started with Dashboard Extensions](trex_getstarted.md). For convenience, you might want to create a folder for your "Hello World" dashboard extension in the same location where you installed or cloned the GitHub repository (for example, `HelloDemo` under `/extensions-api`). That way, you can use the same web server (`http-server`) that is used for the samples. @@ -25,7 +25,7 @@ For convenience, you might want to create a folder for your "Hello World" dashbo ### Create a manifest file -The manifest file (`EXTENSION-NAME.trex`) is an XML file that describes the extension and provides information to register the extension with Tableau. For a description of the contents of this file, see [Elements of the manifest file](trex_manifest#elements-of-the-manifest-file). +The manifest file (`EXTENSION-NAME.trex`) is an XML file that describes the extension and provides information to register the extension with Tableau. For a description of the contents of this file, see [Elements of the manifest file](./trex_manifest.md#elements-of-the-manifest-file). 1. In the `HelloDemo` folder (or where ever you want to put your files), create a manifest file for your extension. Name the manifest file for your extension (for example, `HelloExtension`) and save it with the file name extension `.trex`. @@ -67,7 +67,7 @@ Name the manifest file for your extension (for example, `HelloExtension`) and sa - After you have created the HTML and JavaScript files for your extension, you use this `.trex` file to add the extension to a Tableau dashboard. To do that, you drag the **Extension** object on to the dashboard. In the **Choose an Extension** dialog box, click **My Extensions** to locate and open the manifest file you just created. -- For information about the manifest file and about adding version information, see the [Tableau Extension Manifest](trex_manifest). +- For information about the manifest file and about adding version information, see the [Tableau Extension Manifest](./trex_manifest.md). --- @@ -177,7 +177,7 @@ After you have created the manifest file (`.trex`) and have hosted your web app - If not, and you see a 404 error, verify that you specified the correct URL to serve the page in the `.trex` file. - - Tableau parses the `.trex` file when you add the extension to the dashboard. If you make changes to the `.trex` file after you have added it to the dashboard, you need to remove the extension and re-add it. See [What Happens When you Reload an Extension](../debug/trex_reload) + - Tableau parses the `.trex` file when you add the extension to the dashboard. If you make changes to the `.trex` file after you have added it to the dashboard, you need to remove the extension and re-add it. See [What Happens When you Reload an Extension](../debug/trex_reload.md) --- @@ -234,9 +234,9 @@ After your extension is installed and showing up in Tableau, you can continue to ![alt text](../assets/extension_reload_menu.png "Shortcut menu showing the Reload option") -For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server). +For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging.md) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server.md). -You can also use the Tableau log files to identify issues, see [Use Log files to Troubleshoot Dashboard Extensions](../debug/trex_logging). +You can also use the Tableau log files to identify issues, see [Use Log files to Troubleshoot Dashboard Extensions](../debug/trex_logging.md). --- diff --git a/website/docs/dashext/trex_examples.md b/website/docs/dashext/trex_examples.md index 749e431d..f8913d51 100644 --- a/website/docs/dashext/trex_examples.md +++ b/website/docs/dashext/trex_examples.md @@ -172,4 +172,4 @@ The TypeScript samples show how you can write your source code in TypeScript and ### Build your own extensions using TypeScript -If you want to experiment with your own TypeScript code for extensions, you can use the same infrastructure that the TypeScript samples use. Create a folder in the **Samples-Typescript** directory and then add your extension source files. Add an entry to the `webpack.config.js` file for your extension TypeScript file. Update the path to your extension in the `.trex` file. Build and run your extension using the same commands you use to build the samples. For more information, see [Use TypeScript with the Extensions API](../core/trex_typescript). +If you want to experiment with your own TypeScript code for extensions, you can use the same infrastructure that the TypeScript samples use. Create a folder in the **Samples-Typescript** directory and then add your extension source files. Add an entry to the `webpack.config.js` file for your extension TypeScript file. Update the path to your extension in the `.trex` file. Build and run your extension using the same commands you use to build the samples. For more information, see [Use TypeScript with the Extensions API](../core/trex_typescript.md). diff --git a/website/docs/dashext/trex_getstarted.md b/website/docs/dashext/trex_getstarted.md index 4c0145d9..806d4682 100644 --- a/website/docs/dashext/trex_getstarted.md +++ b/website/docs/dashext/trex_getstarted.md @@ -26,7 +26,7 @@ A Tableau extension consists of a manifest file (`.trex`), a web page that uses ### What you need to get started -If you want to create an extension or work with the sample code, make sure you have followed the instructions for [installation](../installation). +If you want to create an extension or work with the sample code, make sure you have followed the instructions for [installation](../installation.md). ---- @@ -145,8 +145,8 @@ You can add multiple instances of an extension to a dashboard or to multiple das * Follow the [Tutorial (GitHub)](https://github.com/tableau/extensions-api/tree/master/Tutorial/Dashboard) and learn how to build a dashboard extension, step by step. If you downloaded or cloned the repository, look in the `Tutorial` folder on your computer. -* For information about creating a simple "Hello World" Tableau extension, see [Create a "Hello World" Dashboard Extension](./trex_create). +* For information about creating a simple "Hello World" Tableau extension, see [Create a "Hello World" Dashboard Extension](./trex_create.md). * To get familiar with the programming interface for the Extensions API, see the [Tableau Extensions API Reference](pathname:///api). -* For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server). +* For information about debugging your extension, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging.md) and [Debug Extensions in Tableau Server and Tableau Cloud](../debug/trex_debug_server.md). diff --git a/website/docs/dashext/trex_overview.md b/website/docs/dashext/trex_overview.md index d0a5230c..8cf6137b 100644 --- a/website/docs/dashext/trex_overview.md +++ b/website/docs/dashext/trex_overview.md @@ -31,11 +31,13 @@ For more information about how you can use the Extensions API, go look at the da ## Comparing the Tableau Extensions API and the Tableau Embedding API -The Dashboard Extensions API and the [Tableau Embedding API v3](https://help.tableau.com/current/api/embedding_api/en-us/index.html) are both JavaScript libraries that allow you to interact with Tableau, but they do so in two different fundamental ways: +The Dashboard Extensions API and the [Tableau Embedding API v3](https://help.tableau.com/current/api/embedding_api/en-us/index.html) are both JavaScript libraries that allow you to interact with Tableau, but they do so in two different fundamental ways: + * You can use the Embedding 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 Embedding JavaScript API share a similar programming model, but there are differences. +The Extensions API and Embedding JavaScript API share a similar programming model, but there are differences. | Embedding API | Extensions API | |------------| ---------------| diff --git a/website/docs/debug/trex_debug_server.md b/website/docs/debug/trex_debug_server.md index 777e0800..7f10d7fe 100644 --- a/website/docs/debug/trex_debug_server.md +++ b/website/docs/debug/trex_debug_server.md @@ -10,7 +10,7 @@ The following section describes how you could debug your extension using Chrome. :::note -For Tableau Desktop, see [Debugging Extensions in Tableau Desktop](./trex_debugging). +For Tableau Desktop, see [Debugging Extensions in Tableau Desktop](./trex_debugging.md). ::: @@ -90,7 +90,7 @@ After you select the event breakpoint and refresh or reload the browser window, 3. In the debugger, click **Continue** to get to your JavaScript code.
You might need to click **Continue** many times, as code execution stops for all the scripts in the dashboard. If you are just looking to debug general initialization problems and haven't tested your extension in Tableau Desktop, you might want to start there first. -In Tableau Desktop, there is a debugging option you can set to pause the extension when it is loading. For more information, see [Debugging loading and initialization issues](./trex_debugging#debugging-loading-and-initialization-issues). +In Tableau Desktop, there is a debugging option you can set to pause the extension when it is loading. For more information, see [Debugging loading and initialization issues](./trex_debugging.md#debugging-loading-and-initialization-issues). If your extension fails to load at all on Tableau Server or Tableau Cloud, check the console window of the debugger to see if there is an error message of some kind. The console messages can give you clues about where to begin investigating when something goes wrong. If the error is caused by mixed content (trying to load an HTTP web page inside of a secure HTTPS server), see [Load and view localhost content on sites that use secure connections](#load-and-view-localhost-content-on-sites-that-use-secure-connections). diff --git a/website/docs/debug/trex_debugging.md b/website/docs/debug/trex_debugging.md index 2eb04a38..4e4f2e41 100644 --- a/website/docs/debug/trex_debugging.md +++ b/website/docs/debug/trex_debugging.md @@ -9,7 +9,7 @@ Debugging an extension involves starting Tableau with a command option to enable :::note -For Tableau Server or Tableau Cloud, see [Debugging Extensions in Tableau Server and Cloud](./trex_debug_server). +For Tableau Server or Tableau Cloud, see [Debugging Extensions in Tableau Server and Cloud](./trex_debug_server.md). ::: @@ -164,7 +164,7 @@ While you are debugging your extension, there are times you might want to reload Note that you do not need to close and reopen the Chromium browser every time you click **Reload**. You can start another debugging session by entering the URL (`http://localhost:8696`) in the Chromium address bar and selecting the extension from the page selector. -For more information, see [What Happens When You Reload an Extension](./trex_reload). +For more information, see [What Happens When You Reload an Extension](./trex_reload.md). diff --git a/website/docs/index.md b/website/docs/index.md index c18a3399..4f4e499e 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -8,14 +8,14 @@ If you are looking for information about how to extend Tableau calculations to i ::: -The Tableau Extensions API is a JavaScript library that is organized into namespaces that contain the classes and methods for communicating with Tableau components. The Tableau Extensions API library supports both dashboard extensions and viz extensions, although not all interfaces and methods apply to both extensions. For an overview of how the API is organized, see [Tableau Extensions API Basics](./trex_api_about). +The Tableau Extensions API is a JavaScript library that is organized into namespaces that contain the classes and methods for communicating with Tableau components. The Tableau Extensions API library supports both dashboard extensions and viz extensions, although not all interfaces and methods apply to both extensions. For an overview of how the API is organized, see [Tableau Extensions API Basics](./trex_api_about.md). -Details on the supported platforms and hardware requirements can be found in the [Installation instructions](installation). +Details on the supported platforms and hardware requirements can be found in the [Installation instructions](installation.md). ## Start here -* [Installation](installation) +* [Installation](installation.md) -* [Get Started with Viz Extensions](./vizext/trex_viz_getstarted) +* [Get Started with Viz Extensions](./vizext/trex_viz_getstarted.md) -* [Get Started with Dashboard Extensions](./dashext/trex_getstarted) +* [Get Started with Dashboard Extensions](./dashext/trex_getstarted.md) diff --git a/website/docs/publish/trex_publish.md b/website/docs/publish/trex_publish.md index 40459ea3..1cfadab8 100644 --- a/website/docs/publish/trex_publish.md +++ b/website/docs/publish/trex_publish.md @@ -61,15 +61,15 @@ Dashboard extensions that appear in the Tableau Exchange must also: * Ensure that the information in the extension manifest file (`.trex`) matches the content that you will publish in the Tableau Exchange. For example, the `name`, `description` fields are used to populate the name and description fields in the Tableau Exchange. The icon you use in the manifest should also be the icon that is used in the Exchange. You need to provide a 280x280 pixel `.png` version of the icon. -For information about getting your extension into the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery). +For information about getting your extension into the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery.md). -For information about designing an extension, see [Design Guidelines for Dashboard Extensions](../ux_design). +For information about designing an extension, see [Design Guidelines for Dashboard Extensions](../ux_design.md). ![](../assets/trex_gallery.png) ## Publishing or sharing a dashboard extension on the Communities page Another way to share your work with other developers is to add it to the [Community Portal for Dashboard Extensions](pathname:///community/). You can use the portal to provide links to your source code and you can also provide a `.trex` file for users to download. To make it easier for others to use your extension, we ask that your `.trex` file specifies a link to a hosted version of your extension -See [Hosting and Contributing to the Community Portal](./trex_contributing) +See [Hosting and Contributing to the Community Portal](./trex_contributing.md) Submit your extension to the [Community Portal for Dashboard Extensions](pathname:////community/) diff --git a/website/docs/publish/trex_sandbox_publish.md b/website/docs/publish/trex_sandbox_publish.md index 1b987a89..db8f65b1 100644 --- a/website/docs/publish/trex_sandbox_publish.md +++ b/website/docs/publish/trex_sandbox_publish.md @@ -12,13 +12,7 @@ Be sure to follow the guidelines and requirements to [Create and Test Sandboxed ## Submit your Sandboxed Extension for publication -After you finish developing and testing your Sandboxed Extension, fill out the [Tableau Exchange Submission form](https://tabsoft.co/gallerysubmit) with your information and details about your extension. -For information about what goes in the form, see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery). - -Our developers from the Developer Platform team at Tableau will let you know the next steps including legal agreements after you submit your information. If you have any questions about the Tableau Exchange, send them to [extensiongallery@tableau.com](mailto:extensiongallery@tableau.com). - -Once accepted, Tableau will publish your extension and your extension will be available in the [Tableau Exchange](https://extensiongallery.tableau.com/). - +After you finish developing and testing your Sandboxed Extension, you can submit your extension to the Tableau Exchange. To submit your extension to the Tableau Exchange, you must be added as a contributor on the Exchange. Contact the Tableau Exchange at [extensiongallery@tableau.com](mailto:extensiongallery@tableau.com) and see [Submitting your Extension to the Tableau Exchange](../ux_extension_gallery.md) for more information. diff --git a/website/docs/security/trex_data_access.md b/website/docs/security/trex_data_access.md index 248b1fe1..85df5b03 100644 --- a/website/docs/security/trex_data_access.md +++ b/website/docs/security/trex_data_access.md @@ -61,7 +61,7 @@ The `` element you add looks like the following: ``` -The `` element must be added under `` immediately following the `` element. For a complete description of the manifest, see the [Tableau Dashboard Extensions Manifest File](../dashext/trex_manifest) and the [Tableau Viz Extensions Manifest File](../vizext/trex_viz_manifest). +The `` element must be added under `` immediately following the `` element. For a complete description of the manifest, see the [Tableau Dashboard Extensions Manifest File](../dashext/trex_manifest.md) and the [Tableau Viz Extensions Manifest File](../vizext/trex_viz_manifest.md). If full data is not declared in the manifest file, and the extensions calls one of the APIs that accesses any underlying data or data source information, the API call fails. In addition, an error is written to the Tableau log file (`log.txt`). If you are debugging the extension with the Chromium web browser, an error is reported the console pane. The error message would look similar to the following: diff --git a/website/docs/security/trex_sandbox_test.md b/website/docs/security/trex_sandbox_test.md index 2e217d19..70fa1020 100644 --- a/website/docs/security/trex_sandbox_test.md +++ b/website/docs/security/trex_sandbox_test.md @@ -35,7 +35,7 @@ To port an existing extension, make sure all resources and libraries are local t * Resources should be placed in the same folder as your extension web page(s), or in a sub-folder of that directory. All references must be relative. -* Review the suggested guidelines that all extensions should follow to reduce XSS vulnerabilities, see [Cross-Site Scripting and Extension Security](./trex_xss_guidance). +* Review the suggested guidelines that all extensions should follow to reduce XSS vulnerabilities, see [Cross-Site Scripting and Extension Security](./trex_xss_guidance.md). * Sandboxed Extensions cannot connect to sites outside of the sandbox and cannot transfer data. For example, a Sandboxed extension cannot transfer data to be processed by other applications. If you need to connect to outside services or resources, you can create a Network Enabled extension. Network Enabled extensions can't run in the local sandbox environment or in the Tableau Hosting Cloud Service for Sandboxed Extensions. @@ -47,7 +47,7 @@ To port an existing extension, make sure all resources and libraries are local t ## Sandboxed Extensions development environment -The Extensions API SDK provides a local development environment that replicates the Tableau Hosting Cloud Service for Sandboxed Extensions. You can test your Sandboxed extensions locally with the same sandbox policies before submitting the extension to Tableau for publication. See [Publish Sandboxed Extensions](../publish/trex_sandbox_publish) for information about making your extension available to others in the cloud service for Sandboxed Extensions. The local development environment can't be used to deploy or publish your extension. +The Extensions API SDK provides a local development environment that replicates the Tableau Hosting Cloud Service for Sandboxed Extensions. You can test your Sandboxed extensions locally with the same sandbox policies before submitting the extension to Tableau for publication. See [Publish Sandboxed Extensions](../publish/trex_sandbox_publish.md) for information about making your extension available to others in the cloud service for Sandboxed Extensions. The local development environment can't be used to deploy or publish your extension. --- @@ -167,13 +167,13 @@ The `` for `` must use the name of local server (`localhos After you update the `.trex` file to point to the sandboxed instance, you can start the local sandbox sever (**npm run start-sandbox**), and then open Tableau and try it out. -For information about making your Sandboxed Extension available to others, see [Publish Sandboxed Extensions](../publish/trex_sandbox_publish). +For information about making your Sandboxed Extension available to others, see [Publish Sandboxed Extensions](../publish/trex_sandbox_publish.md). The local development environment can't be used to deploy or publish your extension. ## Troubleshoot the test environment -To troubleshoot issues with your Sandboxed Extension in the test environment, you should start a debugger so you can observe if there are any problems with your setup, such as missing files and resources, and to see if there are any instances where your extension generates any CSP errors and warnings. For information about using debugging tools, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging). +To troubleshoot issues with your Sandboxed Extension in the test environment, you should start a debugger so you can observe if there are any problems with your setup, such as missing files and resources, and to see if there are any instances where your extension generates any CSP errors and warnings. For information about using debugging tools, see [Debug Extensions in Tableau Desktop](../debug/trex_debugging.md). Error `Cannot find extension with id: ` diff --git a/website/docs/security/trex_security.md b/website/docs/security/trex_security.md index 0d06db87..691e3d38 100644 --- a/website/docs/security/trex_security.md +++ b/website/docs/security/trex_security.md @@ -86,7 +86,7 @@ file: Example.trex ``` -For more information, see [Use Log files to Troubleshoot Dashboard Extensions](../debug/trex_logging). +For more information, see [Use Log files to Troubleshoot Dashboard Extensions](../debug/trex_logging.md). ## Avoid mixed content - use HTTPS or site-relative paths for resources @@ -129,7 +129,7 @@ For example, you can author a workbook in Tableau Desktop that uses an extension Note the following considerations: -- If Tableau Server is using HTTPS, your extension might not load if it is using `http://localhost`. The same situation occurs with Tableau Cloud. This is because it is generally not a good practice to embed an HTTP `