Version Control: Revision History in Tableau 9.3
March 20, 2016
, , , ,

Revision HistoryPrior to Tableau Server 9.3 Version Control and Revision History were one of the most wanted Server features. During the Developers on Stage presentation at TC15 (nah that was a party) I saw this new feature show cased and it was like “yes, this is what we need exactly“. Something what even the end users can use: nothing complicated, still effective. Tableau 9.3 will be released in the next days so let’s see what we can expect and how it works internally.

Enable Revision History

By default Revision History is turned off. I would consider to turn this on every site that my team administers since it does not significantly affect repository performance and as the objects are stored without extracts the storage requirements are low as well.

To turn on Setting, General and enable “Save a history of revisions“.

Enable Revision History in Tableau Server Settings

Enable Revision History in Tableau Server Settings

Whenever you publish a new workbook from Desktop or Server Web Authoring Tableau will replace the metadata in the workbooks table while keeping the old versions in the FileStore and workbook_versions  or datasource_versions  tables.

I will explain this later.

Accessing Revision History features

Currently there is no way to specify comments to revisions or undelete deleted workbooks, thus, the whole process is pretty straightforward. When you publish or overwrite a workbook or data source you don’t have to do anything different, versions kept automatically.

In case you’d like to go back to a previous version simply navigate to your workbook or datasource in Tableau Server and select “Revision History…” from the context menu:

Download Previous Workbook Version from Tableau Server

Download Previous Workbook Version from Tableau Server

Every save or publish creates a new revision with an increased version number. If this version number is not really useful for you, you can still identify your required previous object by Publish Date or Publisher similar to Dropbox.

So how does this work under the hood?

Where are my revisions stored?

Repository & Metadata

Not to mess up with compatibility Tableau decided to create new, standalone tables for version history. Let’s consider an example with two revisions:

Revision History

If you check the  workbook_versions  table you can see previous versions but not the current one:

Couple of comments here. First of all, you don’t see any repository_data_id  which might be strange if you used to use it in workbooks table. The reason is simple: unlike current versions, previous revisions are not stored as postgres large objects but kept directly in the FileStore.

If you need the big picture (all versions including the current ones) you need to unite both tables like this:

Why this column is called content_version  in workbooks  but version_number  in workbook_versions ? I have no idea, but Tableau should be more consistent with its naming conventions. For instance,  workbooks  table already has version , revision  and content_version  columns but on the UI we can see it with “Revision Number” label. Guys, next time keep it consistent.

Locate your files in FileStore

From 9.3 you can find a new subdirectory in your FileStore root called “revision”:

Revision Folder

Inside this folder you can find your file, called exactly the same as the content_key  column in the matching workbook_versions  or datasource_versions  table.

Previous version of a Workbook

You can use this file directly, simply copy and change the extension. I hope in future Tableau releases the current versions will be stored here as well giving a chance to use external version control tools like git directly on this folder.

Purge previous versions

You can delete individual versions from the Revision History menu or remove all previous revisions from the Settings, General admin menu on Server.

Drop all revisions

Other solutions

In production my team uses two alternate solutions. If we need intuitive user interface and the stored data as well (extracts I mean) we use Palette Center. Center can automatically back up workbooks and data stores in packaged mode along with dependencies, directly to Amazon S3. The other method is my TableauFS with Git that provides a nice hardcore interface with maximum control, without any support.

Do you have any questions or experience? Leave a comment.

Tamás Földi

Related items

/ You may check this items as well

sync frelard

Tableau Extensions Addons Introduction: Synchronized Scrollbars

At this year’s Tableau Conference, I tried t...

Read more

Tableau External Services API: Adding Haskell Expressions as Calculations

We all have our own Tableau Conference habits.  M...

Read more
Scaling Tableau Image

Scaling out Tableau Extracts – Building a distributed, multi-node MPP Hyper Cluster

Tableau Hyper Database (“Extract”) is ...

Read more