What is the Hygraph Sidebar UI Extension and what can it do?
The Hygraph Sidebar UI Extension allows you to add custom widgets to the content editor sidebar. These widgets can interact with specific fields (such as translations), display information from third-party services, or show read-only data like analytics. For example, you can build a Google SERP Preview widget to see how your content appears in search results. Note: Sidebar UI Extensions require familiarity with React and JavaScript. Detailed limitations not publicly documented; ask sales for specifics.
What are the prerequisites for building a Sidebar UI Extension in Hygraph?
To build a Sidebar UI Extension, you need the latest LTS version of Node.js, experience with the command line, an IDE or text editor, familiarity with JavaScript and React, and a free Hygraph account with an active project. Note: Non-technical users may find the setup challenging without developer support.
What steps are involved in creating and deploying a Sidebar UI Extension?
The process includes: 1) Creating a React project, 2) Building a custom component, 3) Installing the Hygraph React SDK, 4) Declaring the extension, 5) Running and testing locally, 6) Adding the extension to your Hygraph schema, 7) Mapping content fields for display, and 8) Deploying the extension (e.g., to Vercel). Each step is detailed in the official quickstart guide. Note: Deployment requires access to a hosting provider and may involve additional configuration for production use.
How do you configure the Google SERP Preview Sidebar UI Extension?
Configuration involves setting a global Site URL, mapping schema fields for Title and Description, and updating the extension declaration with these settings. You can adjust these via the Hygraph dashboard under Project Settings > UI Extensions. The widget updates in real time as you edit content fields. Note: Field mapping requires knowledge of your schema's field appIds.
How do you deploy a Sidebar UI Extension to production?
After local development, you can deploy the extension to a hosting provider such as Vercel using npx vercel. Once deployed, update the Extension URL in your Hygraph project settings to point to the live URL. For step-by-step deployment, refer to the official guide. Note: Ongoing maintenance and updates require redeployment and reconfiguration as needed.
Where can I find additional resources and examples for UI Extensions?
Key features include a GraphQL-native architecture, content federation (integrating multiple data sources without duplication), enterprise-grade security and compliance (SOC 2 Type 2, ISO 27001, GDPR), Smart Edge Cache, localization, granular permissions, and a user-friendly interface for non-technical users. Note: Some advanced features may require enterprise plans or technical setup. Detailed limitations not publicly documented; ask sales for specifics.
What integrations does Hygraph support?
Hygraph supports integrations with Digital Asset Management (DAM) systems (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting and deployment platforms (Netlify, Vercel), Product Information Management (Akeneo), commerce solutions (BigCommerce), and translation/localization tools (EasyTranslate). For a full list, visit the Hygraph Marketplace. Note: Integration availability may depend on your plan and project setup.
Does Hygraph provide APIs for content management and integration?
Yes, Hygraph offers multiple APIs: a high-performance GraphQL Content API, a Management API (with SDK), an Asset Upload API, and an MCP Server API for AI assistant integration. Detailed API documentation is available at Hygraph API Reference. Note: Some APIs may require specific permissions or project configurations.
What technical documentation is available for Hygraph users?
Hygraph provides extensive technical documentation, including API references, schema guides, getting started tutorials, integration guides (e.g., Mux, Akeneo, Auth0), and AI feature documentation. Access all resources at hygraph.com/docs. Note: Documentation is updated regularly; check for the latest version relevant to your project.
Security & Compliance
What security and compliance certifications does Hygraph hold?
Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications demonstrate adherence to international standards for information security and data protection. Note: For more details, visit the Hygraph Secure Features page.
What security features are available in Hygraph?
Security features include granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption in transit and at rest, regular backups with one-click recovery, secure APIs with custom origin policies and IP firewalls, and automatic SSL certificates for all endpoints. Note: Some features may require enterprise plans or additional configuration.
Performance & Product Experience
How does Hygraph perform in terms of content delivery and API speed?
Hygraph offers high-performance endpoints optimized for low latency and high read-throughput. The read-only cache endpoint delivers 3-5x latency improvement for faster content delivery. Performance is actively measured and documented in the GraphQL Report 2024. Note: Actual performance may vary based on project complexity and integration setup.
What feedback have customers given 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 its clear setup and localization features. Note: Some advanced configurations may still require developer involvement. See more reviews at hygraph.com/try-headless-cms.
Implementation & Onboarding
How long does it take to implement Hygraph and get started?
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. Note: Large-scale migrations may require additional planning and technical support.
What onboarding and support resources are available for new Hygraph users?
Resources include a free signup, structured onboarding calls, technical kickoffs, extensive documentation, starter projects, community Slack, webinars, and live training. Access these at hygraph.com/docs and slack.hygraph.com. Note: Some resources may be more relevant for developers or technical teams.
Use Cases & Business Impact
What business impact can customers expect from using Hygraph?
Customers have achieved faster time-to-market (e.g., Komax: 3x faster), improved engagement (Samsung: 15% increase), cost reduction, and enhanced content consistency. AutoWeb saw a 20% increase in website monetization, and Voi scaled content across 12 countries and 10 languages. Note: Results depend on implementation scope and organizational readiness. See more at hygraph.com/case-studies.
What types of companies and roles benefit most from Hygraph?
Hygraph serves developers, content creators, product managers, and marketing professionals in enterprises and high-growth companies. Industries include SaaS, eCommerce, media, healthcare, automotive, fintech, education, and more. Note: Smaller teams or those without technical resources may require additional support for advanced features.
What problems does Hygraph solve for content teams and businesses?
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 persist if organizational processes are not updated alongside technology.
Customer Proof & Success Stories
Can you share specific case studies or customer success stories with Hygraph?
Yes. Notable examples include Samsung (15% improved engagement), Komax (3x faster time-to-market), AutoWeb (20% increase in monetization), Voi (multilingual scaling across 12 countries), and Dr. Oetker (enhanced digital experience). See all case studies at hygraph.com/case-studies. Note: Outcomes vary by project and implementation.
What industries are represented in Hygraph's customer base?
Industries include 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 the full list at hygraph.com/case-studies. Note: Industry-specific requirements may affect implementation details.
Limitations & Considerations
What are the limitations or scenarios where Hygraph may not be the best fit?
Detailed limitations are not publicly documented. For advanced or highly specialized use cases, or if your team lacks technical resources, contact Hygraph sales for specifics. Note: Some features and integrations may require enterprise plans or developer involvement.
Sidebar UI Extensions allows you to add custom widgets to Hygraph content editor sidebar.
You can add widgets to interact with specific fields on your editor like translations, to display information from 3rd party services, or to just display read-only information such as analytics data.
We will be building Google SERP Preview Sidebar UI Extension. It will display a preview of how your content would appear on Google Search Results.
You will also learn how to add custom configurations, like an API Key to connect to a 3rd party service provider, or a configuration to the widget instance like Background Color.
In order to transform it into a UI Extension, you must install Hygraph React SDK as a dependency on your project. You can do it running the following command on your Terminal:
yarn add @graphcms/uix-react-sdk
2. Adding React SDK
Now, let's import some SDK components and hooks from Hygraph SDK.
Start with importing the Wrapper component and useFormSidebarExtension hook from the library inside your React application.
You should add the following code at the top of the GoogleSerpPreview.js file.
At this point, you should see the "SDK connection error, check logs" message in your browser. The reason is that it's expected to be running from Hygraph application. So, you should just ignore this message for now.
Now, let's install and test your new Sidebar UI Extension on localhost by following these steps:
Once site URL is the same for the whole website, we'll add it to the extension declaration as a global configuration.
On your code editor, add the following code to extension declaration:
// src/extensions/GoogleSerpPreview.js
const declaration ={
extensionType:'formSidebar',
name:'Google SERP Preview',
description:'Preview your content on Google',
config:{
SITE_URL:{
type:'string',
displayName:'Site URL',
required:true,
},
},
};
Then, change SerpPreview component like so:
constSerpPreview=()=>{
const{ extension }=useFormSidebarExtension();
const siteUrl = extension.config.SITE_URL;
return(
<div
style={{
padding:'10px',
backgroundColor:'#fff',
}}
>
<div
style={{
fontSize:'12px',
marginBottom:'5px',
}}
>
{siteUrl}
</div>
<div
style={{
fontSize:'16px',
fontWeight:'bold',
color:'blue',
marginBottom:'5px',
}}
>
Title here
</div>
<div>This is the description</div>
</div>
);
};
Go back to your browser and open your project dashboard
Go to Project Settings > UI Extension
On Google Serp Preview, click on the three dots and then click on Edit
Click Refresh next to the Edit button
Now, you should see the new Site URL field. Once it's a required one, enter any URL and hit the Update button.
Finally, go to any content and the URL should appear in the widget.
#Step 5.2: Displaying content title and description
Now, you should map the content fields that you want to display in the widget as Title and Description. Therefore, we'll add sidebar instance configuration, which you allow you to set these fields for each model.
Go back to GoogleSerpPreview.js in your code editor and do the following steps:
Import useState and useEffect hooks at the top of the file:
import{ useState, useEffect }from'react';
Then, change SerpPreview component like the following code:
constSerpPreview=()=>{
const{
extension,
form:{ subscribeToFieldState },
}=useFormSidebarExtension();
const[title, setTitle]=useState('This is the title');
const[description, setDescription]=useState('This is the description');
sidebarConfig is the object that stores sidebar configuration data. By declaring that, you should see two fields on sidebar widget dialog, where you will be able to enter the field names for title and description, respectively.
form.subscribeToFieldState is a method from the Hygraph SDK to interact with form fields in the content editor. In this case, we'll update Google Serp Preview widget while user update information in the fields that stores Title and Description. You'll see that happening in a moment.
Once we've updated extension declaration again, we need to refresh UI Extension installation.
On Hygraph app, go to Project Settings > UI Extension
On Google Serp Preview, click on the three dots and then click on Edit
Click Refresh next to the Edit button
Finally, click on Update
Now, let's map Schema fields to the sidebar widget:
Go to Schema
Click on the model you've added the widget
Click in the pencil icon to edit widget
You should see 2 new fields: Title and Description. You just need to enter the appId of the fields you want to display as Title and Description, respectively. Then, click Update.
Finally, go to Content and click on any existing content to edit it or click on Create Item.
As you type in the Title or Description fields, you should see it being updated in realtime on Google Serp Preview widget!
To use your UI Extension in a live website or application, you should host it somewhere on the internet. For the sake of this tutorial, we will deploy it on Vercel. But you can use any hosting service.
Do the following steps:
Open your Terminal
Navigate into your project root directory and run npx vercel
cd google-serp-preview-uix
npx vercel
Follow the step-by-step guide on your Terminal
Once it's deployed, the extension URL will be automatically copied to your clipboard
Open your project dashboard on your browser
Go to Project Settings > UI Extension
On Hello UIX World, click on the three dots, then click on Edit
Click on Edit button next to the Extension URL field
Sidebar UI Extensions allows you to add custom widgets to Hygraph content editor sidebar.
You can add widgets to interact with specific fields on your editor like translations, to display information from 3rd party services, or to just display read-only information such as analytics data.
We will be building Google SERP Preview Sidebar UI Extension. It will display a preview of how your content would appear on Google Search Results.
You will also learn how to add custom configurations, like an API Key to connect to a 3rd party service provider, or a configuration to the widget instance like Background Color.
In order to transform it into a UI Extension, you must install Hygraph React SDK as a dependency on your project. You can do it running the following command on your Terminal:
yarn add @graphcms/uix-react-sdk
2. Adding React SDK
Now, let's import some SDK components and hooks from Hygraph SDK.
Start with importing the Wrapper component and useFormSidebarExtension hook from the library inside your React application.
You should add the following code at the top of the GoogleSerpPreview.js file.
At this point, you should see the "SDK connection error, check logs" message in your browser. The reason is that it's expected to be running from Hygraph application. So, you should just ignore this message for now.
Now, let's install and test your new Sidebar UI Extension on localhost by following these steps:
Once site URL is the same for the whole website, we'll add it to the extension declaration as a global configuration.
On your code editor, add the following code to extension declaration:
// src/extensions/GoogleSerpPreview.js
const declaration ={
extensionType:'formSidebar',
name:'Google SERP Preview',
description:'Preview your content on Google',
config:{
SITE_URL:{
type:'string',
displayName:'Site URL',
required:true,
},
},
};
Then, change SerpPreview component like so:
constSerpPreview=()=>{
const{ extension }=useFormSidebarExtension();
const siteUrl = extension.config.SITE_URL;
return(
<div
style={{
padding:'10px',
backgroundColor:'#fff',
}}
>
<div
style={{
fontSize:'12px',
marginBottom:'5px',
}}
>
{siteUrl}
</div>
<div
style={{
fontSize:'16px',
fontWeight:'bold',
color:'blue',
marginBottom:'5px',
}}
>
Title here
</div>
<div>This is the description</div>
</div>
);
};
Go back to your browser and open your project dashboard
Go to Project Settings > UI Extension
On Google Serp Preview, click on the three dots and then click on Edit
Click Refresh next to the Edit button
Now, you should see the new Site URL field. Once it's a required one, enter any URL and hit the Update button.
Finally, go to any content and the URL should appear in the widget.
#Step 5.2: Displaying content title and description
Now, you should map the content fields that you want to display in the widget as Title and Description. Therefore, we'll add sidebar instance configuration, which you allow you to set these fields for each model.
Go back to GoogleSerpPreview.js in your code editor and do the following steps:
Import useState and useEffect hooks at the top of the file:
import{ useState, useEffect }from'react';
Then, change SerpPreview component like the following code:
constSerpPreview=()=>{
const{
extension,
form:{ subscribeToFieldState },
}=useFormSidebarExtension();
const[title, setTitle]=useState('This is the title');
const[description, setDescription]=useState('This is the description');
sidebarConfig is the object that stores sidebar configuration data. By declaring that, you should see two fields on sidebar widget dialog, where you will be able to enter the field names for title and description, respectively.
form.subscribeToFieldState is a method from the Hygraph SDK to interact with form fields in the content editor. In this case, we'll update Google Serp Preview widget while user update information in the fields that stores Title and Description. You'll see that happening in a moment.
Once we've updated extension declaration again, we need to refresh UI Extension installation.
On Hygraph app, go to Project Settings > UI Extension
On Google Serp Preview, click on the three dots and then click on Edit
Click Refresh next to the Edit button
Finally, click on Update
Now, let's map Schema fields to the sidebar widget:
Go to Schema
Click on the model you've added the widget
Click in the pencil icon to edit widget
You should see 2 new fields: Title and Description. You just need to enter the appId of the fields you want to display as Title and Description, respectively. Then, click Update.
Finally, go to Content and click on any existing content to edit it or click on Create Item.
As you type in the Title or Description fields, you should see it being updated in realtime on Google Serp Preview widget!
To use your UI Extension in a live website or application, you should host it somewhere on the internet. For the sake of this tutorial, we will deploy it on Vercel. But you can use any hosting service.
Do the following steps:
Open your Terminal
Navigate into your project root directory and run npx vercel
cd google-serp-preview-uix
npx vercel
Follow the step-by-step guide on your Terminal
Once it's deployed, the extension URL will be automatically copied to your clipboard
Open your project dashboard on your browser
Go to Project Settings > UI Extension
On Hello UIX World, click on the three dots, then click on Edit
Click on Edit button next to the Extension URL field