Ro-Gazer: Bulk Looker Content Management
At Ro, we have a development workflow that uses two Looker servers: staging and production. Although LookML code can be migrated and managed across multiple Looker servers, it is tough to do the same for the user defined Looks and Dashboards. The gzr utility was a step in the right direction to manage Looks and Dashboards between our two Looker servers, but after experimenting with various gzr commands we found that they were geared towards managing individual Looks or Dashboards and not tailored for bulk migration or management.
We have built Ro-Gazer as an easy-to-use script to bulk view, download, and upload Looks and Dashboards between multiple Looker servers.
Example Ro-Gazer Workflows
We have found Ro-Gazer especially useful for:
– Reducing downtime of content on the production environment, as users can prepare their Looks and Dashboards on staging (accounting for changes that will make it to the production environment) and instantly migrate them when those changes go live.
– Creating local backups of all user defined content. We found it reassuring to have local backups of all Looks and Dashboards, so that we could have a record of how they were built. We also use these backups in conjunction with Looker’s Content Validator to accurately rebuild content that may no longer be running correctly after data changes.
– For Looks or Dashboards that have a lot of content, changing fields can often take a lot of time to process on the Looker server. We’ve found that sometimes it is more efficient to download the json file from the Looker server, make changes in a text editor, and re-upload it. Note that in this case you need to know exactly the names of the fields you are changing, where to change them, and what you’re changing them to.
If you would like to read more about how to use Ro-Gazer, please visit our GitHub Repository.