Prior to Tableau 9.2, if there was a published data source on a different site with the same name (and table structure) as on the first site, you could publish a workbook connected to Site 1 originally to Site 2 and it would work just fine. Tableau 9.2 introduced a stricter test, so that you actually need to change an additional tag in the datasource section. However, if you publish in a later version, it does make a note of the originating site, which you might not want in your XML. So modifying before publish is the default behavior in tableau_tools 4.0 and above.
Let’s say I have a data source called “Embedded Credentials Test” on my site called “doppelganger”. I’ve connected my workbook to this published data source. In the XML, I will find the repository-location tag (only workbooks that connect to a published data source have this tag).
<repository-location id="EmbeddedCredentialsTest" path="/t/doppelganger/datasources" revision="1.0" site="doppelganger"/>
To publish this workbook successfully on another site, I need to change the site_content_url in both the path and the site attribute to point to my new site. If I have a site called “production”, the tag will need to change to:
<repository-location id="EmbeddedCredentialsTest" path="/t/production/datasources" revision="1.0" site="production"/>
Even better, when you are on the default site, the site attribute is just missing, so it looks something like:
<repository-location id="EmbeddedCredentialsTest" path="/datasources" revision="1.0" />