1.10.1 • Published 11 months ago

tableausandbox v1.10.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

Tableau Extensions Sandbox

Sandboxed Extensions are a type of Tableau Extension that are not permitted to make external network requests and thus cannot exfiltrate end-user data. A Sandboxed Extension is hosted by Tableau and, using W3C standards, is wrapped inside an environment which prevents communication to anything except the Tableau hosting server. For further details, see Tableau Extensions API.

This project contains a local development environment that replicates the Tableau Sandboxed Extension Hosting Cloud Service so developers can test their extensions with the same sandbox policies before deployment.

This package is not for deploying to production. When your Extension is ready to deploy to production, see Publish Sandboxed Extensions.

Installation

This package can be installed both locally, within a nodejs project, or globally and executed anywhere.

npm install [-g] @tableau/tabextsandbox

Setup

When tabextsandbox starts, it serves sandboxed extension web pages on the HTTP port specified.

To run tabextsandbox, you specify a server configuration file (config.json) that identifies the extensions that the sandbox server will host.

The following is an example config.json that specifies running on HTTP port 8080 with 2 extensions.

{
    "port": 8080,
    "extensions": {
        "myExtension": {
            "path": "path/to/extension"
        },
        "anotherExtension": {
            "path": "c:/extensions/extension2"
        }
    }
}

myExtension will be served at http://localhost:8080/sandbox/myExtension/ from path/to/extension, which will be resolved as a path relative to the location of config.json.

anotherExtension will be served at http://localhost:8080/sandbox/anotherExtension/ from c:\extensions\extension2.

Running

If installed globally, run tabextsandbox and specify the required path to config.json. Note that relative extension paths will be relative to the location of config.json.

E:\extensions>tabextsandbox
Usage: tabextsandbox --config [config.json]

    Options:
      --config                         Server configuration file          [required]
      -h, --help                       Show help

If installed locally, use npx tabextsandbox [arguments].

Usage

Create a Tableau Extension Manifest (.trex) that points to your local environment to test extensions in Tableau.

Note that you need to specify the full URL to the extension in the .trex file. The sandbox server (tabextsandox) requires an explicit path and file name.

Deployment

tabextsandbox is designed for local development use only. It is not for deploying to production. When your Extension is ready to deploy to production, see Publish Sandboxed Extensions.

Support

For more information about creating and testing Sandboxed extensions, see the developer documentation Tableau Extensions API.

1.10.1

11 months ago