From fd625419dad7c86a9ba1633cd45a6c4fc250299b Mon Sep 17 00:00:00 2001 From: Dave Hagen Date: Wed, 2 Apr 2025 09:19:13 -0700 Subject: [PATCH 1/2] clarified sandbox query results --- website/docs/security/trex_sandbox_test.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/security/trex_sandbox_test.md b/website/docs/security/trex_sandbox_test.md index 70fa1020..7a6bea48 100644 --- a/website/docs/security/trex_sandbox_test.md +++ b/website/docs/security/trex_sandbox_test.md @@ -3,10 +3,10 @@ title: Create and Test Sandboxed Extensions description: Create and test sandboxed extensions --- -To provide security for customers, Tableau supports a type of dashboard or viz extension that runs in a sandbox. These Sandboxed Extensions are hosted by Tableau and employ W3C standards, such as Content Security Policy (CSP), to ensure the extension can't make network calls outside of the hosting Tableau Server. This means a Sandboxed Extension can query data in the workbook using the Extensions API, but it can't send that data anywhere outside of the sandbox. This topic provides information to help you get started creating and testing Sandboxed Extensions. +To provide security for customers, Tableau supports a type of dashboard or viz extension that runs in a sandbox. These Sandboxed Extensions are hosted by Tableau and use W3C standards, such as Content Security Policy (CSP), to ensure the extension can't make network calls outside the hosting Tableau Server. This means a Sandboxed Extension can query data in the workbook using the Extensions API, but it can't send that data anywhere outside the sandbox. The results of the query are on the client computer (in the browser) and can't be sent anywhere. This topic provides information to help you get started creating and testing Sandboxed Extensions. :::note -If your extension requires resources of outside services, you should not create a Sandboxed Extension. Dashboard and viz extensions that don't run in the sandbox environment are called Network Enabled Extensions. While Sandboxed Extensions are allowed to run by default on Tableau Server and Tableau Cloud, Network Enabled Extensions require server and site administrator approval and need to be added to safe list for a site. +If your extension requires resources of outside services, you shouldn't create a Sandboxed Extension. Dashboard and viz extensions that don't run in the sandbox environment are called Network Enabled Extensions. While Sandboxed Extensions are allowed to run by default on Tableau Server and Tableau Cloud, Network Enabled Extensions require server and site administrator approval and must be added to safe list for a site. ::: --- From 0a3ac182c268b1d353dfe4c2b768bb1fe8853bf9 Mon Sep 17 00:00:00 2001 From: Dave Hagen Date: Fri, 25 Apr 2025 14:30:13 -0700 Subject: [PATCH 2/2] fix paths to class diagrams, links --- website/static/api/index.html | 14 +++++++------- website/static/img/tab_ext_class_worksheet.png | Bin 0 -> 41100 bytes 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 website/static/img/tab_ext_class_worksheet.png diff --git a/website/static/api/index.html b/website/static/api/index.html index db70f41c..2897fb6f 100644 --- a/website/static/api/index.html +++ b/website/static/api/index.html @@ -6,7 +6,7 @@ Tableau Extensions - +
@@ -69,7 +69,7 @@

Tableau Extensions API

the classes and methods for communicating with Tableau components. The Tableau Extensions API library supports both dashboard extensions and viz extensions (only available in beta), although not all interfaces and methods apply to both extensions. For an overview of how the API is organized, - see Tableau Extensions API Basics.

+ see Tableau Extensions API Basics.

Note: To see all the methods and properties for the Extensions API interfaces, select the Inherited option in the upper-right corner of your browser window. This option shows any methods and properties inherited from base classes.
@@ -113,15 +113,15 @@

Tableau Extensions API

Dashboard extensions

The following diagram shows the relationship between the extensions namespace and the worksheets in - the dashboard. For more information, see Tableau Extensions API Basics.

-

Extensions API namespace hierarchy

+ the dashboard. For more information, see Tableau Extensions API Basics.

+

Extensions API namespace hierarchy


-

Viz extensions (available in beta only)

+

Viz extensions

The following diagram shows the relationship between the extensions namespace and the worksheets in - the workbook. For more information, see Tableau Extensions API Basics.

-

Viz Extensions API namespace hierarchy

+ the workbook. For more information, see Tableau Extensions API Basics.

+

Viz Extensions API namespace hierarchy


diff --git a/website/static/img/tab_ext_class_worksheet.png b/website/static/img/tab_ext_class_worksheet.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc384db6b0207115dee03edcb8a0806cf902b48 GIT binary patch literal 41100 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 literal 0 HcmV?d00001