diff --git a/README.md b/README.md index 7f2d6ea0..8f3275c3 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,26 @@ ![Image of Flex the T-Rex](./assets/flex.png) + ## Why the Tableau Extensions API? -The Extensions API lets you do more without leaving Tableau. Build Tableau extensions that can interact and communicate with Tableau, and embed them directly in your workbooks. + +The Extensions API lets you do more without leaving Tableau. Build Tableau dashboard and viz extensions that can interact and communicate with Tableau, and embed them directly in your workbooks. + +* Build viz extensions to create new viz types that Tableau users can access through the worksheet Marks card. + + + + + +* Build dashboard extensions to add new features and functionality to Tableau that users can access through the dashboard. + + + ## Setup and Running Samples ### Prerequisites + * You must have Node.js and npm installed. You can get these from [https://nodejs.org](https://nodejs.org). ### Install Extensions API SDK Components and Start Server @@ -27,13 +41,14 @@ The Extensions API lets you do more without leaving Tableau. Build Tableau exten **npm start** -5. Launch Tableau and try the sample extensions in a dashboard. The samples are located in the `Samples` folder. +5. Launch Tableau and try a dashboard sample extension in a dashboard, or a viz extension in a worksheet. The dashboard and viz extension samples are located in the `Samples` folder. - >**Note** The local web server you start just serves to host the extension samples and extensions used in the tutorial, which have URLs similar to the following: `http://localhost:8765/Samples/DataSources/datasources.html` or `http://localhost:8765/Samples-Typescript/DataSources/datasources.html` - > This local web server is not intended to serve the Extensions API Help pages. + >**Note** The local web server you start just serves to host the extension samples and tutorial. These extensions have URLs similar to the following: `http://localhost:8765/Samples/Dashboard/DataSources/datasources.html`. + > This local web server is not intended to serve the Extensions API Help pages. > View the Help on GitHub at [https://tableau.github.io/extensions-api](https://tableau.github.io/extensions-api). ### Typescript Development + Samples written in Typescript are located in the `Samples-Typescript` folder. If you want to use TypeScript to write your extensions, you can run a script that starts up the HTTP server and actively listens for changes to the `.ts` files located in the `Samples-Typescript` folder. You can then add your extension to the folder and use the script to transpile your extension to JavaScript. @@ -41,7 +56,7 @@ If you want to use TypeScript to write your extensions, you can run a script tha **npm run dev** -For more information, see [Use TypeScript with the Extensions API](https://tableau.github.io/extensions-api/docs/trex_typescript.html). +For more information, see [Use TypeScript with the Extensions API](https://tableau.github.io/extensions-api/docs/core/trex_typescript). ### Sandboxed Extension Development Environment @@ -51,18 +66,19 @@ Tableau is introducing development support for Sandboxed Extensions with Tableau **npm run start-sandbox** -2. Launch Tableau (Tableau 2019.3 and later) and try the sample Sandboxed Extension in a dashboard. You can find the `.trex` file and sample code in the `Samples\UINamespace-sandboxed` folder. +2. Launch Tableau (Tableau 2019.3 and later) and try the sample Sandboxed dashboard extension in a dashboard. You can find the `.trex` file and sample code in the `Samples\Dashboard\UINamespace-sandboxed` folder. -For more information, see [Create and Test Sandboxed Extensions](https://tableau.github.io/extensions-api/docs/trex_sandbox_test.html). +For more information, see [Create and Test Sandboxed Extensions](https://tableau.github.io/extensions-api/docs/security/trex_sandbox_test). ## Contributions + Contributions and improvements by the community are welcomed! See the LICENSE file for current open-source licensing and use information. Before we can accept pull requests from contributors, we require a signed [Contributor License Agreement (CLA)](https://tableau.github.io/contributing.html). To submit a contribution, please fork the repository then submit a pull request to the `main` branch. ## Code Style -Our sample code follows the [Semi-Standard Style](https://github.com/Flet/semistandard) for JavaScript samples linting and [tslint](https://palantir.github.io/tslint/) for TypeScript. If you add your own extension code to the Samples or Samples-Typescript directories, you can run `npm run lint` to validate the style of your code. Please run this command before submitting any pull requests for Sample code. +Our sample code follows the [Semi-Standard Style](https://github.com/Flet/semistandard) for JavaScript samples linting and [tslint](https://palantir.github.io/tslint/) for TypeScript. If you add your own extension code to the Samples or Samples-Typescript directories, you can run `npm run lint` to validate the style of your code. Please run this command before submitting any pull requests for Sample code. `npx semistandard --fix` to fix linting issues which can be fixed automatically. diff --git a/assets/sm_sankey.png b/assets/sm_sankey.png new file mode 100644 index 00000000..29f6bc1c Binary files /dev/null and b/assets/sm_sankey.png differ