Frequently Asked Questions

Getting Started & Prerequisites

What do I need to get started with the Sectioned Navigation recipe in Hygraph?

To get started with the Sectioned Navigation recipe in Hygraph, you need a Hygraph account and an active project. You can create a new project to follow the tutorial, clone the Navigation Cookbook project for a ready-made setup, or use an existing project and adapt the schema as needed. For new users, Hygraph offers a Getting Started Tutorial to help you onboard quickly. Be sure to consider your plan limits when adding recipes to your project.

How can I clone the Navigation Cookbook project for sectioned navigation?

You can clone the Navigation Cookbook project, which contains all navigation recipes including Sectioned Navigation, by visiting this link. This allows you to explore and compare different navigation configurations without building them from scratch.

Features & Capabilities

What is sectioned navigation in Hygraph and when should I use it?

Sectioned navigation in Hygraph is a content model that groups navigation items into clusters or subjects using nested components and enumerations. It's ideal for large projects where you need to organize navigation links into logical sections, such as by product, blog, or store. This approach provides flexibility and scalability for complex navigation structures.

What are the core schema elements used in building sectioned navigation?

The core schema elements for sectioned navigation include enumerations (for theme selection), components (for navigation items and sections), references (to link to other content models), and basic component fields. Enumerations provide dropdown options (e.g., light/dark theme), components allow reusable templates, and references enable linking to internal content entries.

How do I create and configure navigation items and sections in Hygraph?

To create navigation items, define a component with fields such as link label (text), new item toggle (boolean), internal reference (to models like Product, Blog, Store), and external link (slug/URL). For navigation sections, create a component with a section title and a field to add multiple navigation items. These components are then added to the Sectioned Navigation model, allowing you to build complex, multi-level navigation structures.

Can I use both internal and external links in sectioned navigation?

Yes, the navigation item component supports both internal links (via references to other content models) and external links (via a slug field for URLs). Users can choose to use either or both, depending on their navigation needs.

How do enumerations work in the sectioned navigation model?

Enumerations in the sectioned navigation model allow you to define a set of predefined values, such as navigation themes (e.g., light or dark). These are added as dropdown fields in your schema, enabling easy selection and consistent styling across navigation elements. For more details, see the enumerations documentation.

What are the benefits of using a sectioned navigation model in Hygraph?

The sectioned navigation model provides flexibility for organizing navigation items into logical groups, supports both internal and external links, allows for theme selection, and enables scalable, reusable navigation structures. This is especially useful for large or complex projects that require clear, user-friendly navigation across multiple sections or content types.

Technical Requirements & Implementation

What are the steps to build a sectioned navigation schema in Hygraph?

The steps include: 1) Creating referenceable models (e.g., Product, Blog, Store), 2) Creating a theme enumeration (e.g., light/dark), 3) Building navigation item and navigation section components, 4) Adding fields to the Sectioned Navigation model (navigation ID, sections, theme), and 5) Assembling these elements to create flexible, reusable navigation entries. Detailed step-by-step instructions are provided in the official guide.

Where can I find more documentation on enumerations, components, and references in Hygraph?

You can find detailed documentation on these schema elements at the following links: Enumerations, Components, and References.

Support & Resources

What support and resources are available if I need help with sectioned navigation or Hygraph in general?

Hygraph offers 24/7 support via chat, email, and phone, as well as real-time troubleshooting through Intercom chat. You can join the Hygraph Community Slack channel for peer and expert assistance. Extensive documentation, webinars, live streams, and how-to videos are available at Hygraph Documentation. Enterprise customers receive a dedicated Customer Success Manager (CSM) and a structured onboarding process.

General Hygraph Platform Benefits

What are the key benefits of using Hygraph for content management and navigation?

Hygraph offers a GraphQL-native, headless CMS with features like content federation, Smart Edge Cache for performance, granular permissions, and enterprise-grade security (SOC 2 Type 2, ISO 27001, GDPR compliance). It enables operational efficiency, reduces costs, accelerates speed-to-market, and supports scalability for global teams. Customer success stories include Komax (3x faster time-to-market) and Samsung (15% improved engagement). For more, see customer stories.

How does Hygraph ensure security and compliance for my projects?

Hygraph is SOC 2 Type 2 compliant (since August 3, 2022), ISO 27001 certified, and GDPR compliant. Security features include granular permissions, SSO integrations, audit logs, encryption at rest and in transit, and regular backups. Enterprise customers benefit from dedicated hosting, custom SLAs, and transparent reporting. For more, see the security features page.

Performance & Usability

How does Hygraph perform for high-traffic or global projects?

Hygraph is designed for high performance, featuring Smart Edge Cache for faster content delivery and high-performance endpoints. The platform measures GraphQL API performance and provides optimization advice for developers. These features make Hygraph suitable for businesses with high traffic and global audiences. For more, see the performance improvements blog post.

Is Hygraph easy to use for non-technical users?

Yes, Hygraph is frequently praised for its intuitive user interface, making it accessible for both technical and non-technical users. Customers highlight its ease of setup and use, and Hygraph was recognized for "Best Usability" in Summer 2023. The platform also supports custom app integration for content quality checks and instant feedback. For more, see customer feedback.

Use Cases & Customer Success

Who can benefit from using Hygraph and its navigation recipes?

Hygraph is ideal for developers, product managers, and marketing teams in industries such as ecommerce, automotive, technology, food and beverage, and manufacturing. It's especially valuable for organizations modernizing legacy tech stacks, managing global content, or requiring localization and asset management. For more, see the customer stories.

Can you share some customer success stories with Hygraph?

Yes. Komax achieved a 3x faster time-to-market by managing over 20,000 product variations across 40+ markets via a single CMS. Samsung improved customer engagement by 15% with a scalable, composable member platform. Stobag increased online revenue share from 15% to 70% after transitioning to a digital-first approach. For more, see customer stories.

Maintenance, Upgrades & Troubleshooting

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph is a cloud-based platform that manages all deployment, updates, and infrastructure maintenance. Upgrades, such as new features and performance improvements, are integrated seamlessly. Troubleshooting support is available 24/7 via chat, email, and phone, with additional resources like documentation, API Playground, and a community Slack channel. Enterprise customers receive a dedicated Customer Success Manager for personalized support.

Onboarding & Training

What training and onboarding resources does Hygraph provide?

Hygraph offers a structured onboarding process, including introduction calls, account provisioning, business and technical kickoffs, and content schema planning. Training resources include webinars, live streams, how-to videos, and extensive documentation. Real-time support is available via chat and Slack, and enterprise customers receive a dedicated Customer Success Manager for ongoing guidance.

Help teams manage content creation and approval in a clear and structured way
Hygraph
Docs

#Sectioned navigation

#Overview

This guide shows how to build a sectioned navigation using enumerations and nested components.

Our sectioned navigation will be a content model containing an ID, nested components for sections and navigation items, and a dropdown to select styling options. This way, to create a navigation using this configuration, you can create a content entry with its own ID, and as many navigation items as you need.

This navigation model is a good choice for large projects where you need to group your navigation items into clusters or specific subjects.

Sectioned navigationSectioned navigation

#Prerequisites

  • REQUIRED: You need to have a Hygraph account. If you don't have one, you can sign up here.
  • REQUIRED: You need to have a Hygraph project.
    • OPTION 1: Create a project. This is the way to go if you want to follow the entire tutorial for learning purposes.
    • OPTION 2: Clone the cookbook project. This is the way to go if you're curious about how the Navigation elements are made but don't want to follow the step-by-step creation process. This project contains the entire Navigation Cookbook so you can compare them, or look into what instances they contain.
    • OPTION 3: Use an existing project of yours. If you have a project already and want to add this Navigation to it, this is the way to go. In this case, you may need to adjust parts of the tutorial to your own project schema.

#Core concepts

In this guide, you'll work with enumerations, references, components and basic component fields. Let's look into these concepts:

  • Enumerations: an enumeration is a predefined set of values that represents a list of possible options. You can use them to group values within a type.

  • Component: a predefined set of fields that can be reused across models and content entries. You can think of a component as a flexible, reusable template: you define the fields that will be used inside a component once, and then fill them with different content every time you use it in a content entry.

  • Basic component field: a component is a special field type in your Hygraph schema that defines which components of which type can be used in a model. Component fields can be of basic or modular types. A basic component field can only have one component attached to it. You can limit the number of component instances to one, or allow multiple component instances to be added in the content entry.

  • References: References are relations between two or more content entries in your project. With references, you can reuse content entries by connecting them. Once the relation is configured, you can also use it to create related content from the content creation screen.

#What you can do

This guide offers two paths:

  • Path 1: Use this guide to create a sectioned navigation that you can use in your Hygraph projects.
  • Path 2: Clone the project that contains the entire Navigation cookbook to compare the different navigation configurations without having to clone multiple projects.

#Clone project

We have prepared a project that contains the entire Navigation cookbook:

Clone this project

This cookbook contains all the recipes we have so far to create navigation elements, so you can compare the different navigation configurations without having to clone multiple projects.

To find this particular recipe in the cookbook project, navigate to the schema and look for "Sectioned Navigation".

#Step-by-step guide

Before we can build our Sectioned Navigation, we need to create other schema elements that we can later add to it.

To make this guide easier to follow, we've divided it in steps for you.

#1. Create the models

We'll start by creating three sample models - Product, Store, and Blog - that we will use as referenceable models later to create our navigation items.

We'll click + Add next to Models and use the following information:

FieldInput
Display NameProduct
API IDProduct
API ID PluralProducts

Create the modelsCreate the models

We'll click Add Model to save.

Normally, we'd add fields to these models, but for the sake of this example, we'll simply leave them empty.

Repeat the process to create a second model:

FieldInput
Display NameBlog
API IDBlog
API ID PluralBlogs

We'll click Add Model to save.

And one final time for our third model:

FieldInput
Display NameStore
API IDStore
API ID PluralStores

We'll click Add Model to save.

Finally, we will create one more model for our sectioned navigation, using the following information:

FieldInput
Display NameSectioned navigation
API IDSectionedNavigation
API ID PluralSectionedNavigations

We'll click Add Model to save. This model won't stay empty, but before we can start adding fields to it, we need to build an enumeration and a component.

#2. Create a theme enumeration

We want our navigation to allow choosing a theme. To do this, we'll create an enumeration that we can later add to our Navigation model as a field.

We'll click + Add next to Enumerations and use the following information:

FieldInput
Display NameNavigation theme
API IDNavigationTheme

Sectioned navigation - Theme enumerationSectioned navigation - Theme enumeration

Next, we need to add enumeration values. These are the options we will get when using this later on as a dropdown menu.

For every enumeration value, you need to enter a Display name, an API ID, and click Add.

We'll add the following values:

Display nameAPI ID
Lightlight
Darkdark

Sectioned navigation - Theme valuesSectioned navigation - Theme values

We'll click Add enumeration to save.

#3. Create the components

We want our navigation to have nested components. We will create a navigation item component that will allow us to add multiple links to our navigation. We will then nest this component into a navigation section component. The objective is to be able to add several sections with links.

The first component that we will create is the Navigation item component. We'll click + Add next to Components and add it using this information:

FieldInput
Display NameNavigation item
API IDNavigationItem
API ID PluralNavigationItems

Navigation item componentNavigation item component

We'll click Add component to save. We can now start adding instances to this component.

We'll start by adding a Single line text field by clicking on it on the Add fields right sidebar.

We'll use the following information:

TabFieldInput
SettingsDisplay NameLink label
SettingsAPI IDlinkLabel
SettingsUse as title field checkboxSelect this checkbox
ValidationsMake field required checkboxSelect this checkbox

Navigation item component - Link labelNavigation item component - Link label

We'll click Add to save. This field will let us add a label to our links.

Next, we want our navigation to indicate if an item is new. To do this, we'll add a boolean field using the following information:

TabFieldInput
SettingsDisplay NameNew item toggle
SettingsAPI IDnewItemToggle

Navigation item component - ToggleNavigation item component - Toggle

We'll click Add to save.

We want our navigation to offer the possibility to add both internal and external links. We'll add a reference for the internal links, and a slug field for the external ones. In this case, we won't be making them required fields, because users will either use one or the other.

We'll start with the reference field. We'll find the Reference field on the Add fields right sidebar, click on it, and use the following information:

TabFieldInput
DefineReference typeSelect Allow multiple models to be referenced (Union Type)
DefineModels to referenceUse the dropdown menu to select Product, Blog and Store
DefineReference directionSelect One-way reference
DefineRelation cardinalitySelect One to One
Configure referenceDisplay NamePage
Configure referenceAPI IDpage

Navigation item component - ReferenceNavigation item component - Reference

We'll click Add to save. We've configured the reference in such a way that when we find this field in a content entry, it will allow us to select an entry from the models that we configured.

Finally, we'll add a slug field for our external URLs, using the following information:

TabFieldInput
SettingsDisplay NameExternal Link
SettingsAPI IDexternalLink
SettingsLowercase checkboxLeave this checkbox selected
ValidationsSet field as unique checkboxLeave this checkbox selected
ValidationsMatch a specific pattern checkboxLeave this checkbox selected, and use the dropdown to select the URL pattern. Write "Input value does not match the expected format." in the Custom error message field.

Navigation item component - External URLNavigation item component - External URL

We'll click Add to save.

Now that we created our Navigation item component, we can start working on our Navigation section component.

We'll click + Add next to Components and add it using this information:

FieldInput
Display NameNavigation section
API IDNavigationSection
API ID PluralNavigationSections

Navigation section componentNavigation section component

We'll click Add component to save. We can now start adding instances to this component.

We'll add a Single line text field by clicking on it on the Add fields right sidebar and using the following information:

TabFieldInput
SettingsDisplay NameSection title
SettingsAPI IDsectionTitle
SettingsUse as title field checkboxSelect this checkbox
ValidationsMake field required checkboxSelect this checkbox

Navigation section component - TitleNavigation section component - Title

We'll click Add to save. This field will let us add a title to our navigation sections.

Now it is time to add the navigation item component that we created earlier. We'll click on the Basic component field in the Add fields right sidebar and use the following information:

TabFieldInput
SettingsDisplay NameNavigation items
SettingsAPI IDnavigationItems
SettingsAllow multiple values checkboxSelect this checkbox
SettingsSelect componentUse the dropdown to select the "Navigation item" component

Navigation section component - Navigation itemNavigation section component - Navigation item

We'll click Add to save.

In this case, we've allowed multiple values, because that way we can add as many links as we want to our navigation section.

#4. Add fields to the Navigation model

We'll go back into our Sectioned Navigation model now, to add fields to it. The reason we're creating this navigation as a model, is so that we can then create an entry per navigation that we want to build using this configuration.

First, we will add a slug field that will be our navigation ID. We'll click on the Slug field in the Add fields right sidebar and use the following information:

TabFieldInput
SettingsDisplay NameNavigation ID
SettingsAPI IDnavigationId
SettingsLowercase checkboxLeave this checkbox selected
SettingsUse as title field checkboxSelect this checkbox
ValidationsSet field as unique checkboxLeave this checkbox selected
ValidationsMatch a specific pattern checkboxLeave this checkbox selected, and use the dropdown to select the Slug pattern. Write "Input value does not match the expected format." in the Custom error message field.

Sectioned navigation model - Navigation IDSectioned navigation model - Navigation ID

We'll click Add to save.

Now it is time to add the Navigation section component that we created earlier. We'll click on the Basic component field in the Add fields right sidebar and use the following information:

TabFieldInput
SettingsDisplay NameSections
SettingsAPI IDsections
SettingsAllow multiple values checkboxSelect this checkbox
SettingsSelect componentUse the dropdown to select the "Navigation section" component

Sectioned navigation model - SectionsSectioned navigation model - Sections

We'll click Add to save. In this case, we've allowed multiple values, because that way we can add as many links as we want to our navigation.

Finally, we'll add the theme enumeration that we created earlier. We'll find the Enumeration field on the Add fields sidebar, and add it using this information:

TabFieldInput
SettingsDisplay NameTheme
SettingsAPI IDtheme
SettingsEnumerationSelect "Navigation theme" from the dropdown menu

Sectioned navigation model - ThemeSectioned navigation model - Theme

We'll click Add to save.

Our sectioned navigation model should look like this:

Sectioned navigationSectioned navigation

This guide helped you create the schema element yourself. Alternatively, you can clone a project containing all our navigation recipes.

Check out the next document section for that!