Restoring a project using TabMigrate

Kris Curtis
CMD'ing Data
Published in
3 min readJul 16, 2018

Managing a Tableau Server environment can be extremely rewarding. You get to share a fantastic software and business tool with lots of different people all over your company. Some may have a knowledge of data and others may not.

Sometimes though you can experience some frustrating requests. One of these, although not common can be really time consuming to fix. Time which could be better used training people and helping others craft amazing data visualisations to drive business decisions.

Setting roles and permissions for Tableau, especially in a large organisation can sometimes be political. Certain people want high permissions for no other reason than self importance. The site administrator role is a bit of a strange one for me. Don’t get me wrong, I am a massive advocate for delegating administration tasks to others, I simply don’t have the time or resources to manage everything. However it can also come back and haunt you.

A recent issue occured when a site administrator was doing some housekeeping and accidently deleted an entire project. Even though there is a prompt warning asking the user are they sure they want to proceed as the action is not recoverable, the yes was clicked.

Fast forward 5 minutes. Panic! What have I done? Forty reports all widely used by the Operations team all gone. Daily status reports, monthly executive dashboards all wiped from Tableau.

Next minute I get an email asking for help. “Is there any way I can restore the Project that was deleted?”

Short answer, no. So what do you do?

Now depending on how large your business is and how important Tableau is you could simply stop the server and do a restore from backup. This is Tableau Server admin 101. Tableau Zen Master Paul Banoub explains in his blog post and stresses the importance of this. In my server deployment I have a script which creates a backup of my Tableau Server every night. I store these in Amazon S3 for 30 days before they are moved into Amazon Glacier.

If this was late in the day you would lose anything published that day and I would recommend checking your admin monitoring views to see how many items were published and contact the owner and advise them what is going to happen. That you plan to restore from backup and their content will need to be published again the next day.

In my case, I simply can’t bring down my Tableau Server and do a full restore from backup as this would take the server offline for 2+ hours. Much too long during business hours and across multiple countries and timezones.

To solve this issue I use another really cool open source project developed by Tableau called TabMigrate. TabMigrate leverages the rest API of Tableau Server. It allows you to migrate content via downloading locally and then to upload to another server or site. There are some cool features which allow you to download content that uses a specific tag. More to come on this on a future post.

To use TabMigrate as a way to restore a project, you will need to have a second Tableau Server deployed and running as a DEV or TEST environment. You can then use these to test your backup files (best practices) every few weeks. By having this recent backup installed you will have access to the content (project) accidently deleted.

I keep a recent backup (previous week) of Tableau Server deployed on my DEV environment. TabMigrate allows me to download the contents of a specific site or project from this DEV environment and I can then re-publish onto my PROD environment where the previous project was accidently deleted.

The guys at Tableau who built this tool have also created a video tutorial which is pretty simple to follow. I’ve managed to followed this process a few times when someone has accidentally deleted a project.

I’m sure there are quite a few other options available to solve this issue (deleted project). The main reasons why I like this solution and use it are:

  1. Not having to stop my PROD environment for several hours to restore a full backup
  2. Project deleted may have occurred several days ago before the person raised the issue. As each day passes new content is published by others causing the backup file with the deleted project to have too much of a delta between the restored project and new content
  3. Large Tableau deployments may have a huge backup file. Our current backup file sits at 180GB which takes several hours to download if wanting to use for a restore

So there it is. Check out TabMigrate as an alternate way to retrieve a deleted project.

--

--

Kris Curtis
CMD'ing Data

A data professional for 17 years, focusing on educating and creating possibilities for business users to embrace the use of data.