Written by Matt Holzapfel
This post is part of a series of blogs about Tableau and our Tableau extension for data issue tracking, Tamr Steward.
Tableau extensions connect your dashboard with the power of outside applications and can be used in many different ways, but what does it mean to bring a Tableau extension into your enterprise dashboards? In the process of developing Tamr Steward, our feedback system for data and analytics, we found that you don’t need to reinvent the wheel to manage Tableau extensions. If you’re well-versed in managing enterprise software for other purposes, the process is quite similar. However, there are some slight nuances to keep in mind when it comes to managing Tableau extensions.
When you are looking to improve your dashboards, the Tableau Extension Gallery is the best place to begin your search. Since the deployment of the extensions API, Tableau has published a resource of extensions ready to use in dashboards today. Akin to the Apple App Store or the Salesforce AppExchange, developers submit their extensions to the gallery along with descriptions, developer info, and screenshots. The gallery has grown slowly since its introduction in July 2018 and as the easiest way for Tableau users to enter the world of extensions, Tableau has a strong incentive to use the resource to host trustworthy and credible add-ons. But what if you can’t find the project management solution you’re looking for? Many IT teams build their own extensions using the Extensions API and keep them internally within their own teams. Nevertheless, internally and externally developed extensions should be managed in a similar manner to maximize security and user adoption.
Like any piece of software, Tableau extensions should be thoroughly tested in dev environments before deployment across dashboards. Testing dashboards should be sandboxes that don’t have access to important data. Testing the app in a sandbox, users can get experience with the software and understand its features without risking changes to data or dashboards. Some popular “dummy data” datasets include the “Superstore Analytics” dashboard for Tableau. Additionally, Tableau has compiled a list of public datasets perfect for these instances available here.
Setting up a sandbox instance of a dashboard an extension serves twofold purpose. Firstly, it allows you to gain an understanding of an extension, its basic mechanisms, and how it augments the dashboard experience. Secondly, hosting a dashboard extension on a test computer or virtual machine allows server admins to monitor the requests and responses of an extension. Tableau notes that tools like Fiddler, Charles HTTP proxy, or Wireshark can give you a more in-depth understanding of what content the extension is requesting. These dev tools allow you to monitor all requests between your dashboard and the extension, giving you an inside what is going on. These valuable insights give server admins an inside view into how an extension is behaving in their environment.
A tool like Wireshark monitors and tracks all network requests, allowing you to see the data passing between your dashboard and an extension.
Tableau recently published a document of best practices for extension deployment that outlines the security requirements in place to protect Tableau users. Tableau wrote tight security protections into the architecture of the extension object:
- All extensions must use the HTTP Secure (HTTPS) protocol.
- By default, anyone using a dashboard with an extension will be prompted and asked to allow or deny the extension permission to run. The extension must request permission if it will access underlying data.
- Starting in 2019.1, to run on Tableau Server or Tableau Online, the URL of the extension must be added to a safe list. The site administrator manages this list.
Extensions are like any other piece of software, and as such, should follow your company’s current processes for onboarding and testing
Extensions add functionality to Tableau, but with increased functionality comes the task of training new users on the extension. Depending on the scale of your organization, this can be either a quick and easy task to teach a few employees, or a larger scale project to get a whole department on board.
To date, Tableau does not have a way to auto-inject extensions into a dashboard so that every new dashboard uses an extension. Therefore, extension adoption and standardization can be difficult to enforce. Tableau admins will likely have to outline all available extensions and their functionality in order to encourage adoption.
Luckily, the online Tableau community is very supportive with many forums and guides to helpusers. In addition, many extensions are well documented, well explained, and somewhat intuitive in their implementation. Ultimately, once the extension and dashboard are in your users hands, this process should ensure better dashboards for your teams.