Embedding Tableau Server

Embedding Tableau Server into a web application or even a piece of packaged software requires some knowledge and few occasional tricks.

Methods of Embedding into a web page

  1. Direct iframe with :embed parameter
  2. Simple JS API embedding (from the Share menu)
  3. Programmatic JavaScript API embedding with options object and callback

Use the JavaScript API

If you are doing any more than a basic quick demo, you should use the JavaScript API. It’s honestly not that much more complex than the simple iframe embed method.

The tutorial for the JavaScript embed on the Tableau website is the place to start.

Using the JavaScript API, you can do all of the following (and more!):

Web Application Integration

Securely Enabling Web Edit

If there is one quirk to Tableau Server that requires the most consideration, it is the fact that Download and Save As are a single, merged permission. However, a user must have Save As permissions to use Web Edit.  If you want your users to use web edit, but not download workbooks, you have to either hide the toolbar, or do some unsupported modification of the CSS files in the vizqlserver directories.

For those who haven’t hacked Tableau Server before, there are actually two pieces: Vizqlserver handles everything about the viz, and vizportal handles all of the UI all around the viz. More easy to remember: if you still see it when you are embedding, it is vizqlserver, otherwise it’s vizportal.

There are CSS files that determine the look and feel of both of these; and with some simple modifications, it is possible to create an environment that allows web edit without download. However, these are unsupported changes and they affect everything on the Server, so you need to take that into account before recommending them or putting the solutions in place.

The following articles walk through all of the options for customizing so that a user can use Web Edit but not Download:

Modifying Web Edit Behavior

By default, Web Edit will pop up into its own window. Even if you’ve changed the look and feel enough so that matches your application, this still might be undesirable and is a bit unpredictable in the user experience. With more effort and care, embedding Web Edit in an iframe (any web application) is possible.

Replicating Tableau Server UI Functionality in your portal

The Tableau Server REST API allows for many methods of querying and can be used to create a user-specific listing of content available for any user.

If you need more information than is available via the REST API, it is possible to gain access to the Search Server (Solr) which powers the quick search in the Tableau Server UI.

Redirecting Scheduled E-mails to Embedded Views

Scheduled e-mails link to non-embedded views by default. You can build out a listener location to redirect any incoming user to the appropriate page that embeds that view

Modifying the Tableau Server UI and other automatic features

Some customers expose the standard Tableau Server UI, but have additional requirements for security reasons. The following resources show how to remove some unwanted links and limit down functionality. Particularly if you are syncing information from other systems, you may want to lock down the user from making changes to their passwords.

Embedding Into a Packaged Application

Tableau Server views can also be embedded into a packaged, distribution and installed application. You still need the Tableau Server up and running, and the view will be showed through a “web browser part” in the application.

Embedding into C# Application, Part 1

Embedding into a C# Application, Part 2

Embedding into an iOS Mobile App (coming soon)

SharePoint

Embedding into SharePoint using Active Directory

Embedding into SharePoint using Local Authentication

5 comments

  1. Hello. Is it possible to use Tableau for the complete website experience? What I mean: the data team has created screens for executive sessions, and as a Designer, I’ve been asked to add better navigation, homepage, category landing pages, etc. Is it possible to build “traditional” web pages in Tableau, and add custom CSS overrides to pages? Thank you!

    Like

    1. Unfortunately, modifying the Tableau Server UI is unsupported/not recommended. Best practice would be to create a simple web application and leverage the REST API/JS API to call the Tableau Server for those elements. This way you have full control over the environment and can present the content in whatever look and feel you want.

      Like

Leave a comment