We recently finished our upgrade from version 8.2 to version 9.1 and we ran into an issue where workbooks give a very strange error about permissions. There were not many on the server, but just in case someone else runs into a similar issue, I thought I'd write it down here:
All workbooks work fine in v8. To go to v9 we had a different server and upgraded by taking a backup of our v8 server and restoring it to v9 server with no-config (though that is probably nothing relevant to the issue).
One of our users noticed that a workbook he had rights to see previously, suddenly told him he no longer had rights: "That page could not be accessed. Either the workbook does not exist or you do not have the necessary permissions." i checked his rights and they are all fine. In fact as a system administrator I have every right to see everything and I received the same error when clicking on the workbook. However when searching for the workbook name, I was able to access the resulting views found. So I could not access the workbook, but I could access it's views.
I logged this with Tableau support, who had not heard of it before.
Republishing the workbook did resolve the issue, but getting the download of the workbook was a little tricky and identifying which workbooks to republish for this is also a bit tricky.
As it turns out the issue was caused by the fact that in v8 one of the views of the workbook was deleted from the server. This doesn't really delete the sheet in the workbook, but makes it invisible on the server. If the default view index of the workbook happened to be the last sheet in the workbook (highest index), and a sheet was removed, the default view index would be a higher number than the view count and that caused the issue.
Default view index and view count can be found in the postgresql database in the workbooks table when accessed by the readonly user. Using the postgresql database I identified the workbooks affected (by using a calculation comparing default view index to view count), downloaded them (by searching for them on the server, accessing the views found and choosing download) and then republished them. That has to be done for each workbook - which luckily for us was not many.