This article is written with help and examples by Rebecca Wang, Professional Services Senior Consultant.
Although the purpose of Looker is to empower business users to explore data, sometimes a user can misunderstand the meaning of dimensions, measures, and Explores, leading them to make incorrect queries that result in incorrect content. For example, a user may see a measure called Orders Count and assume it's a count of orders, when in fact it's a count of products in a given order. Any query the user makes based on that misunderstanding is likely to result in misleading content. How can Looker administrators ensure that all content is approved as accurate and credible before it goes into an organization-wide shared folder (known as a Space in releases earlier than Looker 6.20)?
The most basic way to ensure that content is created accurately is to add descriptive labels when needed, such as for fields, models, views, and Explores. For example, we can use a label to rename Orders Count, referenced above, to Count of Products per Order. We can add descriptions to fields and Explores to include more detailed notes about their purpose along with instructions for their use.
Another way we can ensure the purpose and definition of fields is by using Looker's API to create a data dictionary. Business users can use the dictionary as a reference as they explore and build new content.
We can also add another level to ensure that Looks, dashboards, and similar types of content are correct and approved for use before they are made available for wider use. The solution below outlines a workflow that is recommended by Looker's professional services team:
- Keep unapproved content in personal folders to keep users from accidentally discovering it. You can do this by manually changing the access level setting for all personal folders to make them private, or by enabling a closed system (if your content management strategy doesn't use the All Users group). Please make sure to read the closed system documentation page before pursuing this option. Once a closed system is enabled, it is difficult to change folder management access.
NOTE: Alternatively, some admins find it sufficient to teach users to not "trust" content that is in personal folders. The Curated Search Labs feature, available beginning in Looker 6.24, can also be leveraged to automatically exclude personal folders from search results.
- Create a group for users who should not be able to add content to shared folders. Give the group View access to shared folders so that, while they can view approved content in shared folders, they cannot add or make changes to it. The team responsible for approving content (such as a core team of Looker admins or developers) should be the only group with Manage Access, Edit permissions in shared folders.
- Set up a ticketing process using a system such as Jira for tracking new content through the approval process. Internally, we put Looker data and modeling requests through a helpdesk ticketing system that automatically generates Jira issues.
- Move forward with your regular approval workflow to review content additions and execute tickets. This should be performed by a core team of Looker admins or developers.
- Move approved content from the user's personal folder to the appropriate shared folder and close the corresponding ticket. This effectively "publishes" the content and makes it available to those with access to that folder.
Maintaining and Tracking Approved Content Usage
We recommend that you periodically check the usage of approved content to ensure that only active content is saved in shared folders. The Content Activity System Activity dashboard can be used to track content usage. The Unused content folder will also display inactive content. You might want to delete unused content or relegate it to an archive folder so that it doesn't take up space in the shared folder.
NOTE: Only users with admin permissions may access the Unused content folder. Only admins or users with the
see_system_activitypermission may access System Activity pages.
Be proactive about fixing any errors that may appear on approved content over time (for example, errors caused by renaming or deleting fields), so that all approved content maintains accuracy as a source of truth. You can leverage the Content Validator to resolve content errors. For more information, check out the Content Validator documentation.