Hub & Spoke Introduction

This article explains the Hub & Spoke architecture we use for your Enterprise Looker setup.

What is a Hub & Spoke Looker setup?

As of September 2023, all new Enterprise merchants that use Daasity for data visualization in Looker are set up using our Hub & Spoke configuration.

The idea behind Hub & Spoke is that Daasity manages a single set of core files in a central location that you import into your instance. These imported files power the out-of-the-box Base Daasity explores and dashboards. They are centrally managed in the "hub" and exist virtually in your and other users' "spoke" Looker instances.

The imported files aren't editable, but you can use a Looker feature called "refinements" to overwrite their contents where necessary and use them in building new visualization assets.

This setup has these main benefits:

  1. It allows us to get core updates to you quickly with minimum interference.

  2. It still allows you to modify the Base Daasity data models and build totally new things.

  3. It separates base code from custom code so you will always be able to see what is base vs. what is customized.

Content organization in your Looker instance

When you navigate to the /folders page in Looker, you'll see the following items:

My folder: This is your personal folder where you can store custom dashboards and looks that your other teammates don't need access to.

Shared folders: This contains files and folders shared within your organization. This is where you would store custom dashboards and looks that you want readily available to your teammates.

LookML dashboards: This contains all of the out-of-the-box Base Daasity dashboards that we maintain for you.

People: If you have access to other users' personal folders, you will find them within this folder.

Out-of-the-box dashboards

All of the Base Daasity dashboards in your Looker instance are set up as LookML dashboards and can be found in the LookML dashboards folder. Our setup uses LookML dashboards so that they will be updated to the latest version whenever you sync with the hub — rather than requiring you to update them by hand. However, you're still able to make copies of these dashboards and edit them to your needs.

-> Learn how to work with our LookML dashboards

Understanding the files in your spoke Looker instance

When you look at the files in your Looker project, you have the following high-level folder structure:

The /imported_projects/base_daasity/ folder contains all of the explore, dashboard, and view files that are imported from the hub. You can view all of these files, but they aren't editable. It includes all of the files needed to power the Base Daasity explores and LookML dashboards.

The rest of the files and folders live locally in your spoke Looker instance and are editable. These files and folders operationalize the code imported from the hub and allow you to write code to build completely new things or overrwrite some of the code from the hub files:

  • base_config/ - Contains files to set up the Base Daasity model, which imports and configures all of the Base Daasity explores and dashboards imported from the hub.

  • base_refinements/ - Meant to contain all of the refinement files you would use to customize the Base Daasity code to your business needs. Upon initial setup, it contains a handful of example refinement files to help you get started.

  • custom/ - Contains files to set up the Custom model and house all of your custom explore, view, and dashboard files. Upon setup, it contains some example files to help you get started.

-> Learn more about the Hub & Spoke file structure

Customizing & building upon Base Daasity code

Although you can't edit the imported Base Daasity files directly, you can still customize the code using a Looker feature called refinements. With refinements, you write additional code in separate LookML files in your spoke instance that will take precedence over the code in the Base Daasity files. This allows you to customize how the Base Daasity files operate without directly editing them. There is a learning curve to using refinements, but we believe the benefits of this setup outweigh the costs.

-> Learn how to customize Base Daasity code with refinements

Last updated