What is the Schema builder in Hygraph and what can I do with it?
The Schema builder in Hygraph allows you to create, name, edit, and delete content models that define the structure of your content. You can add fields to these models, such as text, slugs, assets, and rich text, to capture the data you need for your project. System models like Asset and Query are included by default, and you can extend them by adding fields (e.g., Alt Text, Caption). Note: System fields cannot be modified, but you can add new fields to system models. Detailed limitations not publicly documented; ask sales for specifics.
How do I add Alt Text and Caption fields to the Asset model in Hygraph?
To add Alt Text and Caption fields to the Asset model, open the Asset model in your schema, add a Single line text field for Alt Text (Display name: Alt text, API ID: altText, Description: Add alternative text for the image here, Localize field: checked), and repeat the process for Caption (Display name: Caption, API ID: caption, Description: Add image caption here, Localize field: checked). Click Add to save each field. Note: System fields cannot be modified, but you can add new fields to system models.
What fields should I include in a Product model for an e-commerce project?
A typical Product model in Hygraph for e-commerce should include: Product name (Single line text, required, unique, localized), Product Slug (Slug, required, unique, pattern validation), Product image (Asset picker, allow multiple assets), Product description (Rich Text, enable embedding for Asset, Product, and Product category models, localized), and Product price (Float). Each field can be configured for localization and validation as needed. Note: The Product model can be extended with additional fields based on project requirements.
How do I set up a Product category model and relate it to products?
To set up a Product category model, create a new model with fields: Category name (Single line text, required, unique, localized), Slug (Slug, required, unique, pattern validation), and Description (Rich text, optional, localized). After creating the Product category model, edit the Product model's Rich Text field to enable embedding from the Product category model. This allows you to relate products to categories for better organization. Note: Relationships between models may require additional configuration in advanced use cases.
What fields are recommended for a Blog Post model in Hygraph?
A Blog Post model should include: Title (Single line text, required, unique, localized), Slug (Slug, generated from title, required, pattern validation), and Body (Rich text, localized, enable embedding for Blog Post, Product, and Product category models). These fields support content localization and embedding for richer articles. Note: Additional fields can be added based on editorial needs.
How do I create a Seller Information model and what fields should it have?
To create a Seller Information model, add fields for Business name (Single line text, required, localized), Slug (Slug, required, unique, pattern validation), Business logo (Asset picker), and Business description (Rich text, localized). This model can be related to other models for displaying seller details. Note: The Seller Information model can be extended with additional fields as needed for your business context.
What is the recommended structure for a Landing Page model in Hygraph?
The Landing Page model should include: Landing page title (Single line text, localized), Link (Slug, generated from title, unique, pattern validation). Additional fields and references can be added in later lessons to support complex page structures. Note: The Landing Page model is typically extended as your project evolves.
Features & Capabilities
What integrations does Hygraph support?
Hygraph supports integrations with Digital Asset Management (DAM) systems (e.g., Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting and deployment platforms (Netlify, Vercel), Product Information Management (Akeneo), commerce solutions (BigCommerce), translation and localization (EasyTranslate), and more. For a full list, visit the Hygraph Marketplace. Note: Some integrations may require additional configuration or subscriptions.
What APIs does Hygraph provide?
Hygraph offers several APIs: GraphQL Content API (for querying and manipulating content), Management API (for project structure management), Asset Upload API (for uploading assets), and MCP Server API (for secure communication with AI assistants). For details, see the API Reference documentation. Note: API usage may be subject to rate limits and permissions.
What technical documentation is available for Hygraph users?
Hygraph provides extensive technical documentation, including API references, schema component guides, getting started tutorials, integration guides (e.g., Mux, Akeneo, Auth0), and AI feature documentation. Access these resources at Hygraph Documentation. Note: Documentation for Hygraph Classic is also available for legacy users.
Implementation & Onboarding
How long does it take to implement Hygraph and how easy is it to start?
Implementation time varies by project complexity. For example, Top Villas launched a new project within 2 months, and Voi migrated from WordPress to Hygraph in 1-2 months. Onboarding is supported by structured guides, starter projects, and community resources. Sign up for a free account at app.hygraph.com/signup. Note: Complex migrations may require additional planning and support.
Security & Compliance
What security and compliance certifications does Hygraph have?
Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications ensure high standards for security and data protection. For more details, visit the Secure Features page. Note: For industry-specific compliance needs, contact Hygraph sales.
What security features does Hygraph offer?
Hygraph provides granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption in transit and at rest, regular backups with one-click recovery, and secure API policies (custom origin policies, IP firewalls). All endpoints use SSL certificates. Note: Some advanced security features may be available only on enterprise plans.
Performance & User Experience
How does Hygraph ensure high performance for content delivery?
Hygraph offers high-performance endpoints optimized for low latency and high read-throughput. A read-only cache endpoint provides 3-5x latency improvement. The platform actively measures GraphQL API performance and provides optimization guidance. For details, see the performance blog post and GraphQL Report 2024. Note: Performance may vary based on project configuration and usage patterns.
What feedback have customers shared about Hygraph's ease of use?
Customers highlight Hygraph's intuitive interface, quick adaptability, and user-friendly setup. For example, Sigurður G. (CTO) praised the UI as intuitive for non-technical users, and Charissa K. (Senior CMS Specialist) noted the fast comprehension and localization features. Multiple reviews emphasize the ease of setup and granular roles/permissions. Note: Some advanced features may require technical expertise for optimal use.
Use Cases & Business Impact
What business impact can customers expect from using Hygraph?
Customers can achieve faster time-to-market (e.g., Komax achieved 3x faster launches), improved customer engagement (Samsung saw a 15% increase), cost reduction, and enhanced content consistency. Hygraph supports scalability and flexibility for enterprises and high-growth companies. For more, see Hygraph case studies. Note: Results may vary based on implementation and industry.
What core problems does Hygraph solve for content teams?
Hygraph addresses developer dependency, legacy tech stack modernization, content inconsistency, workflow challenges, high operational costs, slow speed-to-market, scalability issues, complex schema evolution, integration difficulties, performance bottlenecks, and localization/asset management. Note: Some pain points may require additional configuration or integration with third-party tools.
Industries & Customers
Which industries use Hygraph?
Hygraph is used in SaaS, marketplace, education technology, media and publication, healthcare, consumer goods, automotive, technology, fintech, travel and hospitality, food and beverage, eCommerce, agency, online gaming, events & conferences, government, consumer electronics, engineering, and construction. See case studies for examples. Note: Industry-specific requirements may require custom configuration.
Who are some notable Hygraph customers?
Notable customers include Samsung, Dr. Oetker, Komax, AutoWeb, BioCentury, Voi, HolidayCheck, and Lindex Group. See their success stories at Hygraph case studies. Note: Customer results are specific to their implementation and industry context.
Before we dive into content model creation, let's differentiate between the models we create and system models.
We can create regular models to determine the structure of our content. We can create, name, edit and delete them. We can add fields to them, which will house our content.
Every Hygraph project comes with two system models: Asset & Query. The Asset model will contain our e-commerce images, and the Query model will include a remote source that we will use to fetch remote data into our project.
Similarly to our schema containing system models, our models have system fields. However, while you cannot modify system fields, you can edit system models - by adding fields to them.
Let's look into the Asset model before creating regular models in our project.
Assets is a system model that is available in all Hygraph projects. It works out of the box, but we can edit it to contain metadata that our front end can use. We want our product images to have Alt Text and a caption, so let's add that to our model.
Asset model - Alt text
We'll open the Asset model in our schema by clicking on it on the sidebar, and we'll add a Single line text field to it using the following information:
Tab
Field
Input
Settings
Display name
Alt text
Settings
API ID
altText
Settings
Description
Add alternative text for the image here
Settings
Localize field
Select checkbox
We'll click Add to save.
We'll repeat this process, again adding a Single line text field, this time for our caption:
Our Product model will hold the information for product listings on our e-commerce. Let's create a model by clicking on +Add next to Models in our Schema and filling in this information:
Field
Input
Display Name
Product
API ID
Product
Plural API ID
Products
Description
Tutorial project Product model
We'll click Add Model to save.
We've just created our first model, but it's empty. Let's add some fields to it.
Add fields to Product model
We want our product listings to have a title, so we'll add a Single line text field by selecting it from the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product name
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We can now save the field. It's now saved into our Product model with all the characteristics that we selected for it.
Pro Tip
Each API ID is a unique identifier for the models/fields/components/relations/remote sources/etc. So the system won't let us repeat them.
This is different for display names, so when you work on your projects, make sure you name things in a way that makes your schema easy to navigate for your collaborators.
Next, we'll add a Slug field, which you'll find in the String section of the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox. This ensures that all our product listings contain a slug.
Validations
Set field as unique
Select checkbox.
Validations
Match a specific pattern
Select checkbox, and then select Slug from the dropdown, which will autofill the field next to it with a regular expression.
Validations
Custom error message
You can optionally include a custom error message. Our video does not include it but it's good practice. You could add: "Input value does not match the expected format."
We'll click Add to save the field.
We want our product listings to contain images, so let's add an Asset picker field from the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product image
Settings
Allow multiple assets
Select checkbox. This will let us add more than one product image per listing.
We'll click Add to save the field.
We will also add a Rich Text field, which we can later use for product descriptions. You'll find it in the Text section of the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product description
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Enable embedding
Select checkbox and use the dropdown to select the Asset and Product models. Doing this ensures we can use content from these models in our embeds later.
Settings
Localize field
Select checkbox
We'll click Add to save the field in our model.
Finally, we'll add a Float field for the product price. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product price
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
We'll click Add to save the field in our model. The resulting Product model should look like this:
Your Product model so far
We still have some work to do on this model, but we must create other things first, so we'll come back to this later.
We will create a Product category model so we can then relate our products to different categories later on. We'll repeat steps we followed for the Product model, using this information:
Product category model details
Field
Input
Display Name
Product category
API ID
ProductCategory
Plural API ID
ProductCategories
Description
Select a product category
We'll click Add Model to save. Now, it's time to add fields to this model.
Let's start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Category name
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We'll click Add to save the field in our model.
Next, we'll add a Slug field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox. This ensures that all our product listings contain a slug.
Validations
Set field as unique
Select checkbox, and then select Slug from the dropdown, which will autofill the field next to it with a regular expression.
Validations
Match a specific pattern
Select checkbox
Validations
Custom error message
"Input value does not match the expected format."
We'll click Add to save the field.
Let's also add a Rich text field. This will be our optional description field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Description
Settings
Localize field
Select checkbox
We'll click Add to save the field in our model. The resulting Product category model should look like this:
Your Product category model so far
There is one more thing we need to do here. Schema building is not necessarily a linear task, because schema elements are sometimes interconnected. We want to have our product descriptions to also allow embedding from this model, but since we created the Product model first, this model was not available to select.
Now that we have a Product category model, we'll go into the Product model again, edit the Rich text field we added earlier as "Product description", and select the Product category model from the dropdown. This will add it to the ones we initially selected.
We will create a Blog Post model so we can later create articles about products we want to promote. We'll use the following information to create the model:
Add model screen
Field
Input
Display Name
Blog Post
API ID
BlogPost
Plural API ID
BlogPosts
Description
Articles to promote our products
We'll click Add Model to save. Our Blog Post model will contain a title, a slug, and a body.
Let's start by adding a Single line text field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Title
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Slug
Settings
Generate slug from template
Select checkbox
Settings
Slug template
{title}
Settings
Lowercase
Select checkbox
Validations
Match a specific patter
Select checkbox and select Slug from the dropdown. Leave the regex by default as is.
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
Let's also add a Rich text field for our blog posts body. Use the following information to create it:
Tab
Field
Input
Settings
Display name
Body
Settings
Localize field
Select checkbox
Settings
Enable embedding
Select checkbox and use the dropdown menu to select the Blog Post, Product, and Product category models.
We'll learn more about the Hygraph Rich Text editor and embeds later.
We can now save the field. The result should look like this:
We will create a Seller Information model, which we will later use to add our seller information to other models through relations. We'll use the following information to create the model:
Seller information model details
Field
Input
Display Name
Seller information
API ID
SellerInformation
Plural API ID
SellerInformations
We'll click Add Model to save. Our Seller information model will contain a business name, a slug, a business logo, and a business description.
Let's start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Business name
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
Validations
Match a specific pattern
Select checkbox and select Slug from the dropdown. Leave the regex by default as is.
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
We want our seller information to display our business logo, so we'll add an Asset picker field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Business logo
We'll click Add to save the field.
Finally, we want to add some information about us here, so we will also add a Rich Text field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Business description
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
The last model we'll add is our Landing page, which will contain a lot of information coming from other models. This model will allow us to create pages such as our homepage and others.
Let's create the model using this information:
Field
Input
Display Name
Landing page
API ID
LandingPage
Plural API ID
LandingPages
We'll click Add Model to save.
Now, we need to add fields to the model. We'll start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Landing page title
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
“Link”
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Generate slug from template
Select checkbox
Settings
Slug template
{landingPageTitle}
Settings
Lowercase
Leave this checkbox selected
Validations
Set field as unique
Select checkbox
Validations
Match a specific pattern
Select checkbox and select Custom from the dropdown. We'll type in the following regex: ^[a-z0-9\/]+(?:[-\/][a-z0-9]+)*$
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
This is all we can add to this model at this point. We'll revisit it in the References lesson.
Our project includes the Navigation model from the start. While we will only cover the navigation links creation in the tutorial, let's see the contents of this model at this point:
Nav ID: This is a slug field that will serve as our navigation identifier.
As you can imagine, this model is unfinished, as it still needs to provide a way to add the navigation links. We will be modifying it to add this option in a later lesson.
Next step
Once you've created you base content models, move on to our next lesson:
Before we dive into content model creation, let's differentiate between the models we create and system models.
We can create regular models to determine the structure of our content. We can create, name, edit and delete them. We can add fields to them, which will house our content.
Every Hygraph project comes with two system models: Asset & Query. The Asset model will contain our e-commerce images, and the Query model will include a remote source that we will use to fetch remote data into our project.
Similarly to our schema containing system models, our models have system fields. However, while you cannot modify system fields, you can edit system models - by adding fields to them.
Let's look into the Asset model before creating regular models in our project.
Assets is a system model that is available in all Hygraph projects. It works out of the box, but we can edit it to contain metadata that our front end can use. We want our product images to have Alt Text and a caption, so let's add that to our model.
Asset model - Alt text
We'll open the Asset model in our schema by clicking on it on the sidebar, and we'll add a Single line text field to it using the following information:
Tab
Field
Input
Settings
Display name
Alt text
Settings
API ID
altText
Settings
Description
Add alternative text for the image here
Settings
Localize field
Select checkbox
We'll click Add to save.
We'll repeat this process, again adding a Single line text field, this time for our caption:
Our Product model will hold the information for product listings on our e-commerce. Let's create a model by clicking on +Add next to Models in our Schema and filling in this information:
Field
Input
Display Name
Product
API ID
Product
Plural API ID
Products
Description
Tutorial project Product model
We'll click Add Model to save.
We've just created our first model, but it's empty. Let's add some fields to it.
Add fields to Product model
We want our product listings to have a title, so we'll add a Single line text field by selecting it from the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product name
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We can now save the field. It's now saved into our Product model with all the characteristics that we selected for it.
Pro Tip
Each API ID is a unique identifier for the models/fields/components/relations/remote sources/etc. So the system won't let us repeat them.
This is different for display names, so when you work on your projects, make sure you name things in a way that makes your schema easy to navigate for your collaborators.
Next, we'll add a Slug field, which you'll find in the String section of the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox. This ensures that all our product listings contain a slug.
Validations
Set field as unique
Select checkbox.
Validations
Match a specific pattern
Select checkbox, and then select Slug from the dropdown, which will autofill the field next to it with a regular expression.
Validations
Custom error message
You can optionally include a custom error message. Our video does not include it but it's good practice. You could add: "Input value does not match the expected format."
We'll click Add to save the field.
We want our product listings to contain images, so let's add an Asset picker field from the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product image
Settings
Allow multiple assets
Select checkbox. This will let us add more than one product image per listing.
We'll click Add to save the field.
We will also add a Rich Text field, which we can later use for product descriptions. You'll find it in the Text section of the right sidebar. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product description
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Enable embedding
Select checkbox and use the dropdown to select the Asset and Product models. Doing this ensures we can use content from these models in our embeds later.
Settings
Localize field
Select checkbox
We'll click Add to save the field in our model.
Finally, we'll add a Float field for the product price. We'll use the following information:
Tab
Field
Input
Settings
Display name
Product price
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
We'll click Add to save the field in our model. The resulting Product model should look like this:
Your Product model so far
We still have some work to do on this model, but we must create other things first, so we'll come back to this later.
We will create a Product category model so we can then relate our products to different categories later on. We'll repeat steps we followed for the Product model, using this information:
Product category model details
Field
Input
Display Name
Product category
API ID
ProductCategory
Plural API ID
ProductCategories
Description
Select a product category
We'll click Add Model to save. Now, it's time to add fields to this model.
Let's start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Category name
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We'll click Add to save the field in our model.
Next, we'll add a Slug field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox. This ensures that all our product listings contain a slug.
Validations
Set field as unique
Select checkbox, and then select Slug from the dropdown, which will autofill the field next to it with a regular expression.
Validations
Match a specific pattern
Select checkbox
Validations
Custom error message
"Input value does not match the expected format."
We'll click Add to save the field.
Let's also add a Rich text field. This will be our optional description field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Description
Settings
Localize field
Select checkbox
We'll click Add to save the field in our model. The resulting Product category model should look like this:
Your Product category model so far
There is one more thing we need to do here. Schema building is not necessarily a linear task, because schema elements are sometimes interconnected. We want to have our product descriptions to also allow embedding from this model, but since we created the Product model first, this model was not available to select.
Now that we have a Product category model, we'll go into the Product model again, edit the Rich text field we added earlier as "Product description", and select the Product category model from the dropdown. This will add it to the ones we initially selected.
We will create a Blog Post model so we can later create articles about products we want to promote. We'll use the following information to create the model:
Add model screen
Field
Input
Display Name
Blog Post
API ID
BlogPost
Plural API ID
BlogPosts
Description
Articles to promote our products
We'll click Add Model to save. Our Blog Post model will contain a title, a slug, and a body.
Let's start by adding a Single line text field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Title
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Slug
Settings
Generate slug from template
Select checkbox
Settings
Slug template
{title}
Settings
Lowercase
Select checkbox
Validations
Match a specific patter
Select checkbox and select Slug from the dropdown. Leave the regex by default as is.
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
Let's also add a Rich text field for our blog posts body. Use the following information to create it:
Tab
Field
Input
Settings
Display name
Body
Settings
Localize field
Select checkbox
Settings
Enable embedding
Select checkbox and use the dropdown menu to select the Blog Post, Product, and Product category models.
We'll learn more about the Hygraph Rich Text editor and embeds later.
We can now save the field. The result should look like this:
We will create a Seller Information model, which we will later use to add our seller information to other models through relations. We'll use the following information to create the model:
Seller information model details
Field
Input
Display Name
Seller information
API ID
SellerInformation
Plural API ID
SellerInformations
We'll click Add Model to save. Our Seller information model will contain a business name, a slug, a business logo, and a business description.
Let's start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Business name
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
Validations
Make field required
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Slug
Settings
Lowercase
Leave this checkbox selected
Validations
Make field required
Select checkbox
Validations
Set field as unique
Select checkbox
Validations
Match a specific pattern
Select checkbox and select Slug from the dropdown. Leave the regex by default as is.
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
We want our seller information to display our business logo, so we'll add an Asset picker field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Business logo
We'll click Add to save the field.
Finally, we want to add some information about us here, so we will also add a Rich Text field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
Business description
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
The last model we'll add is our Landing page, which will contain a lot of information coming from other models. This model will allow us to create pages such as our homepage and others.
Let's create the model using this information:
Field
Input
Display Name
Landing page
API ID
LandingPage
Plural API ID
LandingPages
We'll click Add Model to save.
Now, we need to add fields to the model. We'll start by adding a Single line text field. We'll use the following information:
Tab
Field
Input
Settings
Display name
Landing page title
Settings
Use as title field
Select checkbox
Settings
Localize field
Select checkbox
We can now save the field.
Next, we'll add a Slug field. We'll use the following information to create it:
Tab
Field
Input
Settings
Display name
“Link”
Settings
API ID
This field is autocompleted when you type in a display name. Leave it as it is.
Settings
Generate slug from template
Select checkbox
Settings
Slug template
{landingPageTitle}
Settings
Lowercase
Leave this checkbox selected
Validations
Set field as unique
Select checkbox
Validations
Match a specific pattern
Select checkbox and select Custom from the dropdown. We'll type in the following regex: ^[a-z0-9\/]+(?:[-\/][a-z0-9]+)*$
Validations
Custom error message
Input value does not match the expected format.
We can now save the field.
This is all we can add to this model at this point. We'll revisit it in the References lesson.
Our project includes the Navigation model from the start. While we will only cover the navigation links creation in the tutorial, let's see the contents of this model at this point:
Nav ID: This is a slug field that will serve as our navigation identifier.
As you can imagine, this model is unfinished, as it still needs to provide a way to add the navigation links. We will be modifying it to add this option in a later lesson.
Next step
Once you've created you base content models, move on to our next lesson: