Integrations
Breadcrumbs

Tableau

Integration Model

To obtain the metadata related to Tableau (sites, projects and workbooks), the following Tableau REST APIs are used:

  • Sign in → {host}/api/{version}/auth/signin

  • Sign out → {host}/api/{version}/auth/signout

  • Query sites → {host}/api/{version}/sites. The parameters pageSize and pageNumber are sent to enable pagination; the pageSize parameter is configurable up to 1000 (Tableau maximum) as indicated further below in the Configuration section

  • Graphql → {host}/relationship-service-war/graphql

Metadata Extraction

In order to perform metadata extraction from Tableau workbooks, the user views the following hierarchy of technology structures with sites, projects and workbooks:

  • Site1

    • Prj1

      • Wrk1

      • Wrk2

    • Prj2

      • Wrk3

      • Wrk4

  • SiteN

    • PrjN

      • WrkM

It is recommended to create a specific subtype of WORKBOOK entity because the extracted metadata is very specific to this technology.


The plugin extracts the following attributes from workbooks (they must be named the same in the attribute_definition table, name field, in order to appear in the template).

  • path with the concatenation of the site, project and workbook values (siteName/projectName/workbookName)

  • infrastructure with the selected value

  • technology with the selected value

  • zone with the selected value

  • physicalName and name with the same value, the workbook name

The attributes to be created in Anjana must have the following types:


Attribute name

Attribute type

physicalName

INPUT_TEXT

path

INPUT_TEXT

infrastructure

SELECT

technology

SELECT

zone

SELECT

name

INPUT_TEXT


The following are the optional metadata related to the site and workbook that can be included in the object template so that they are reflected when extracting the workbook metadata.

Workbook metadata

Attribute name

Attribute type

workbookLuid

INPUT_NUMBER

workbookId

INPUT_NUMBER

workbookContainsUnsupportedCustomSql

INPUT_CHECKBOX

workbookProjectVizportalUrlId

INPUT_NUMBER

workbookProjectName

INPUT_TEXT

workbookProjectLuid

INPUT_NUMBER

workbookContainerType

INPUT_TEXT

workbookContainerName

INPUT_TEXT

workbookOwnerId

INPUT_NUMBER

workbookOwnerUserName

INPUT_TEXT

workbookDescription

INPUT_TEXT

workbookUri

INPUT_TEXT

workbookVizportalUrlId

INPUT_NUMBER

workbookCreatedAt

INPUT_DATE

workbookUpdatedAt

INPUT_DATE

workbookTags

INPUT_TEXT


Site metadata

It is recommended to create a section within the WORKBOOK entity template to include the site metadata

Attribute name

Attribute type

siteName

INPUT_TEXT

siteId

INPUT_NUMBER

siteContentUrl

INPUT_TEXT

siteAdminMode

INPUT_TEXT

siteRevisionHistoryEnabled

INPUT_CHECKBOX

siteDisableSubscriptions

INPUT_CHECKBOX

siteState

INPUT_TEXT

siteRevisionLimit

INPUT_NUMBER

siteSubscribeOthersEnabled

INPUT_CHECKBOX

siteAllowSubscriptionAttachments

INPUT_CHECKBOX

siteGuestAccessEnabled

INPUT_CHECKBOX

siteCacheWarmupEnabled

INPUT_CHECKBOX

siteDataAlertsEnabled

INPUT_CHECKBOX

siteCommentingEnabled

INPUT_CHECKBOX

siteCommentingMentionsEnabled

INPUT_CHECKBOX

siteFlowsEnabled

INPUT_CHECKBOX

siteEditingFlowsEnabled

INPUT_CHECKBOX

siteSchedulingFlowsEnabled

INPUT_CHECKBOX

siteExplainDataEnabled

INPUT_CHECKBOX

siteExtractEncryptionMode

INPUT_TEXT

siteCatalogingEnabled

INPUT_CHECKBOX

siteDerivedPermissionsEnabled

INPUT_CHECKBOX

siteWebExtractionEnabled

INPUT_CHECKBOX

siteAskDataMode

INPUT_TEXT

siteRunNowEnabled

INPUT_CHECKBOX

siteUserVisibilityMode

INPUT_TEXT

siteRequestAccessEnabled

INPUT_CHECKBOX

siteAuthoringEnabled

INPUT_CHECKBOX

siteCustomSubscriptionEmailEnabled

INPUT_CHECKBOX

siteCustomSubscriptionFooterEnabled

INPUT_CHECKBOX

siteNamedSharingEnabled

INPUT_CHECKBOX

siteUseDefaultTimeZone

INPUT_CHECKBOX

siteSelfServiceScheduleForRefreshEnabled

INPUT_CHECKBOX

siteAutoSuspendRefreshEnabled

INPUT_CHECKBOX

siteAutoSuspendRefreshInactivityWindow

INPUT_NUMBER

sitePersonalSpaceEnabled

INPUT_CHECKBOX

sitePersonalSpaceStorageQuota

INPUT_NUMBER

siteDqwSubscriptionsEnabled

INPUT_CHECKBOX


Required Credentials

Metadata Extraction

A personal access token is required to obtain the token used to make the REST API calls to retrieve site, project and workbook information. This token is created in Tableau Server and its name and value must be included in the yml before using the plugin in the properties:

  • totplugin.connection.personalAccessTokenName

  • totplugin.connection.personalAccessTokenSecret

The user with which the PAT is generated must have access to all sites to be governed (with the Server Administrator role on each site). The lifetime of the personal access token is one year, so it is the client's responsibility to renew it before it expires for proper operation.

To use the metadata Graph API, it must first be enabled with the command:

tsm maintenance metadata-services enable

which must be run by the client before using the plugin.

Configuration

Here the details of the plugin-specific configuration are included.

The common configuration is explained in the Technical Configuration Guide.

YAML
server:
  port: 15022

totplugin:
  location: http://totplugintableauserver:15022/plugin/tableau/api/v1
  path-separator: "/"
  pagination:
    pageSize: 100
  anjana:
    tagsSeparator: "_-"
  server:
    url: http://totserver:15000/tot/
  connection:
    - name:  tableau-1
      technology:
        server: <server>
        version: 3.17
        personalAccessTokenName: <user>
        personalAccessTokenSecret: <secret>
      aris:
        - ari: "anja:totplugin:extract:/tableau/tableau/tableau/"


  • server.port → Port where the plugin is deployed

  • totplugin.location → Base URL of the plugin

  • totplugin.pathSeparator → Character that separates the path for extraction

  • totplugin.pagination.pageSize → Number of elements per page when retrieving sites. Maximum 1000

  • totplugin.anjana.tagsSeparator → Tag separator when sending them to Anjana

  • totplugin.server.url → tot URL

  • totplugin.connection → List of connections for Tableau

  • totplugin.connection[].name → Name of the Tableau connection

  • totplugin.connection[].techonology.server → Tableau Server URL

  • totplugin.connection[].techonology.version → Version used in the APIs URL

  • totplugin.connection[].techonology.personalAccessTokenName → Personal access token name

  • totplugin.connection[].techonology.personalAccessTokenValue → Personal access token value

  • totplugin.connection[].techonology.aris → List of ARIs indicating the services available in the plugin