Tableau Server Development Cycle - WordPress

Transcription

Tableau Server Development CycleA typical report or dashboard development cycle, commonly referred to as a software developmentcycle, consists of several environments and process for developing, migrating, testing and releasingcontent and functionality to the final consumers. These processes can be complex, lengthy and fraughtwith the potential for errors. Additionally, they are time consuming and costly. Although Tableau can fitnicely into these legacy processes, most customers choose a simpler, faster, robust process facilitated byTableau Server.Figure 1: Typical Development Process and SystemsBear in mind that many Tableau customers do not adhere to any development process or life-cycle.Instead they adopt an open approach where a multitude of business users publish and maintain contentrather a few designated developers. This approach offers the greatest speed and flexibility by enablingtrue ad hoc analysis, unfettered sharing and rapid collaboration.However, in many organizations the needs are such that control of the process is paramount for theeventual success of the project or deployment. If this is the case, we offer an alternative to complexmulti-instance deployment processes.Recommended ApproachA typical release process uses three separate environments: Development, Test and Production. Therationale for these being separate environments is that the development process is so broad andPage 1 of 6

intensive, that any change to content, configuration or customizations could negatively impact theproduction system, potentially resulting in an outage for production users. Because Tableau has severalinherent benefits over such systems: declarative rather than procedural approach; zero customizations;zero coding and scripting; isolation and abstraction of data/ meta data/ and run-time models; and more;changes to published content and even new content can be safely added to the Tableau Serverproduction environment with little risk of negatively impacting production users. By leveraging thefollowing best practices, the risk can be largely mitigated while reducing the cost and complexity ofoperating, supporting and maintaining your Tableau Server infrastructure.Project ManagementInstead of having 3 physically separate environments as in legacy systems, Tableau often recommends asingle environment with 3 tiers of isolation for the development cycle. This is accomplished by simplycreating 3 projects, assigning the correct permissions to each project and using the built in capabilities ofthe Tableau Server to manage your connections.Let’s take the example of a Sales reporting project. We want every sales manager to be able to publishand share their analysis, tools and discoveries in a convenient, easily accessible place. Some of theseworkbooks will be refined, validated and tested by a limited group of users. Once the testing iscomplete, the final workbooks will be shared in a curated production area.Figure 2: Tableau’s Simplified Development ProcessPage 2 of 6

For this example, 3 projects will be created: ‘Sales Sandbox’ as the open project where all publishers canshare; ‘Sales Test’ as the limited testing and refinement area; and ‘Sales’ as the production area. It isrecommended that you add a description for each project and include links to more information oremail addresses for the project leader/owner so that users can direct their questions, ideas andfeedback to the proper parties. An example description that includes an email link might be entered likethis:SalesThe Production Sales project. All content in the project has been tested and reviewed forcompleteness and accuracy of results. Please direct feedback to bject Sales%20Project%20FeedbackThis will be displayed to users as:The Production Sales project. All content in the project has been tested and reviewed forcompleteness and accuracy of results. Please direct feedback to Scott ShermanNext, permissions will need to be assigned to each project to facilitate the process of productionizingcontent.PermissionsThe following are example recommendations for project permissions. Please adjust the permissions foreach project depending on your business needs and attitudes towards openness. For this example, wewill use four groups that can be imported from Active Directory or created within Tableau Server:Sales – All users that will be able to see the final production contentSales Test – All users that will be able to see items in the Sales Test project for user acceptanceSales Publishers – All Users that will be able to publish production contentSales Project Leader – Users that will be curating the production content and managing therelease to production process.Additional groups can be added or imported as needed to fulfill your security requirements.For simplicity, three users will also be used to describe the scenario:Anna – Analyst. Anna generates many valuable workbooks and dashboards. She reviews theseworkbooks with other users to gather their feedback and ready the dashboards for production.Anna has the Publish right and is optionally licensed as an Interactor. Anna is a member of theSales and Sales Publishers groups.Ike – IT Project Manager. Ike does not publish to Tableau Server. He manages the useracceptance testing and moves items from test to production. He may optionally assist inPage 3 of 6

managing users and permissions. Ike is licensed as an Interactor and does not have the Publishright. Ike is only a member of the Sales Project Leader group.Sam – Sales Representative. Sam generates interesting one off analysis for his territory and toshare with his customers. Anna often gets his feedback on her latest creations and iterations.He also uses the production content every day. Sam is a member of Sales and Sales Test.Each project will have a set of permission for the groups of users to enable certain activities and accesswile preventing others. Edit the permissions of each project to adjust the permissions for groups asfollows:Sales All Users – Deny the ‘Write’ permission to create a Custom roleSales – Assign the Interactor roleSales Project Leader – Assign the Project Leader roleThis prevents anyone except ‘Sales Project Leader’s from publishing directly to this project.However, because Ike, our project leader, doesn’t have publishing rights, he can’t publish newcontent from Tableau Desktop. Note that Administrators and Content Administrators can stillpublish.Sales Test All Users – Remove the group from the project. Note that we do not deny All Users accessto the project. ‘Deny’ trumps ‘Grants’ so if ‘All Users’ were denied, only administrators andproject leaders could see the content in the project regardless of how the permissions wereset for the publishers and testers. Sales Test – Assign the Interactor role. This allows Sam to test content in the project. Sales Publishers – Assign the ‘Editor’ role. This allows Anna to update other people’scontent. Sales Project Leader – Assign the ‘Project Leader’ role. This provides Ike full control of theproject.This prevents all users from accessing content in this project except the publishers and testers.Anna can publish content directly to this project so she can make fast iterations on feedbackfrom testers.Sales Sandbox All Users – Remove the group from the project unless you want all users to be able to haveaccess to content in this project Sales – Assign the Publisher role. This allows all Tableau Desktop users in sales to store andshare their content with allow users. Sales Project Leader – Assign the ‘Project Leader’ role. This provides Ike full control of theproject.Page 4 of 6

This allows all users in sales to be able to publish and share their insights and creations.Promoting the WorkbookFigure 3: Tableau Server supports moving workbooks from one project to another.To promote the workbook from ‘Sales Test’ to ‘Sales’:1. Select the workbook and use the ‘Tools’ menu and pick the ‘Move’ option. Choose the ‘Sales’project from the list2. Navigate to the ‘Sales’ project and locate the recently moved workbook3. Set the permissions of the workbook to match the default permissions of the ‘Sales’ project.Alternatively, if the user is an administrator, select the project in the ‘Administration’ sectionand edit permissions. Choose ‘Assign Permissions to Contents’Editing ConnectionsMany customers use the same database for all of their analysis needs and do not have separatedev/test/production servers. If this is the case, you can disregard this section.When using different databases for dev/test/production of Tableau content, the process of changing thecontent to use a different database as it moves through the cycle is rather simple. Most customerschoose to simply download the workbook to Tableau Professional, edit the connection as needed, verifythe workbook, and republish to the production project.However, some customers choose to simply promote the workbook from test to production (‘Sales Test’to ‘Sales’). If you choose to pursue the latter route, a user with administrator rights will need to edit theconnection from the ‘Administration’ section of the Tableau Server.1. Using their web browser, the user navigates to the ‘Data Connections’ section of the TableauServer2. The user selects the workbook they wish to promote3. After selection, they can edit the connection properties to point the workbook to the productiondatabase4. Now the workbook can be moved to the production folderPage 5 of 6

Multiple Tableau InstancesIt is appropriate to use multiple tableau instances when you are testing tableau specific functionalitysuch as upgrades, beta releases, failover and load testing. These functions should not be tested on aproduction environment. To facilitate this type of testing, your Tableau Server license allows 2additional non-production instances of Tableau Server to be activated. Please use one of your nonproduction instances to validate upgrades to new releases of Tableau Server.Page 6 of 6

connection from the ‘Administration’ section of the Tableau Server. 1. Using their web browser, the user navigates to the ‘Data Connections’ section of the Tableau Server 2. The user selects the workbook they wish to promote 3. After selection, they can edit the connection prope