Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance Looker Hub documentation: detail the role of the base branch … #51

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
# Mozilla Looker Hub - Base Branch

Mozilla uses a hub-and-spoke model for our Looker deploy.
This centralized repository contains all of the automated imports (called _views_ in Looker) of BigQuery tables that are used in any Looker explore.
Downstream projects import these views and extend them to suit the needs of the project.
Mozilla employs a **hub-and-spoke model** for our Looker deployment, ensuring a centralized and efficient data management system. This repository serves as the core hub, containing all automated imports, known as _views_ in Looker, of BigQuery tables utilized in various Looker explores.

This is the base branch. All generated branches are derived from this branch directly, and files in this branch are kept as-is in the generated branches.
Downstream projects can seamlessly import these views and extend them to align with their specific requirements, promoting a flexible and scalable analytics environment.

## `base` branch and why it matters
## The Importance of the `base` Branch

The `base` branch plays an important role in the LookML generation process and should not be deleted!
The **`base` branch** is pivotal in the LookML generation process and should **never be deleted**. Here’s why it matters:

The `base` branch contains pre-defined `looker-hub` content which should remain and be unchanged after generation. If the `generate` command overwrites any files found in the `base` branch it exits with an error exit code prior to pushing the changes to this repo.
- **Centralized Content**: The `base` branch contains predefined `looker-hub` content, which is essential for the integrity of our LookML structure. This content is foundational and should remain **unchanged** after generation.

- **Error Prevention**: If the `generate` command attempts to overwrite any files present in the `base` branch, it will **exit with an error code**. This safeguard ensures that no unintended changes are pushed to the repository, maintaining the stability of the base content.

More detailed description of the LookML generate process can be found [here](https://github.com/mozilla/lookml-generator#generate-command-explained---high-level-explanation).
For a comprehensive overview of the LookML generation process, including detailed command explanations and workflows, please refer to the documentation [here](https://github.com/mozilla/lookml-generator#generate-command-explained---high-level-explanation).

---

### Summary of Key Points:

- **Hub-and-Spoke Model**: Centralizes data imports for efficient management.
- **`base` Branch Significance**: Contains critical predefined content and must remain unchanged.
- **Error Handling**: Protects the integrity of the `base` branch by preventing overwrites during the generation process.

By adhering to these guidelines, we can ensure a robust and maintainable Looker deployment that meets the diverse needs of our projects.