I work in a group largely responsible for report and data delivery and my company installed Tableau Server in May. We are getting to the point where we need to develop our team's development workflow. I've gathered from much of what I've seen posted elsewhere that using Projects within the same Site is a preferred method for workflow (Development, QA, UAT, Production).
We currently have many frustrations with managing different versions of the truth that have evolved over the years across multiple reports ("why don't these sales reports match?"). For this reason we've planned to use Published Data Sources from the server as our 'single source of truth' when building new dashboards.
I've come to realize through recent experience (frustration) and forum posts that:
- the old Development server and Production server separation to manage the workflow will be an exercise in tedium when having to promote workbooks/dashboards from the Dev server to Prod as we intend to use published data sources
- workbooks in more than one Project will all be updated if only the workbook in one Project is updated (the post that illuminated this for me indicated using prefixes or suffixes on the workbook/dashboard names published unique to the Project in which they reside
I'm very excited to hit the ground running with Tableau, but I keep finding nuances about it that worry me about making the right workflow.
Does anyone have feedback on things one should NEVER do and things one must ALWAYS do?
Are there pros and cons / must-dos and never-dos for:
- Two server (Dev & Prod) method of development and promotion?
- Projects (Prod server) management for development and promotion?
Any assistance will be greatly appreciated as we try to ensure we steer our efforts in the right direction.
Kevin Cain
Kevin, I'm not sure if anyone answered your questions, but I'm happy to add my 2 cents.
I normally would suggest having your single point of truth within your database, that way you can connect multiple tools to one point within your organization. Even though you might build something in Excel and something in Tableau, having data staged in a database will allow you a place to pull the exact same raw data for either of the tools. If you do that you can avoid having published data sources and have a data connection directly to your backend. You can still do published sources and have them refresh on an automatic schedule. Granted if you use multiple tools you still have the issue of building things incorrectly and having mismatching numbers.
If you refresh a published data source it will refresh the data source on the server, if multiple workbooks connect to that published data source, you are correct that multiple workbooks will be updated.
You can do one production server with a folder for development. Most development should happen within the desktop product, once a workbook has been put together it can be pushed to the server for final testing. If you don't want to manage multiple environments, having a folder for development might provide the least amount of maintenance. If you have a large team and critical reports, then having two separate server environments and only a select few members to do the publishing to the production server might provide you with the most control (you can also do this separation using sites).
The hierarchy of Tableau is: Server -> Sites -> Projects -> Workbooks -> Worksheets/dashboards. Sites are separated on the server (however users can access different sites on the same server), projects are like folders (only 1 level deep), and workbooks and worksheets/dashboards are what you see when using the developer product.
I hope that helps!