Frequently Asked Questions

UI Extensions & Field Interaction

What are Hygraph UI Extensions and what can they do?

Hygraph UI Extensions allow you to extend the functionality of the Hygraph Web App with custom applications. They enable developers to create custom UI elements in the editor and contextual sidebar, addressing unique content needs. UI Extensions can interact with other fields in a form, modify field values, subscribe to state changes, and control field visibility. For more details, see the UI Extensions announcement.

How can UI Extensions interact with other fields in a Hygraph form?

UI Extensions can interact with other fields in a form using the form property, which exposes several methods:

These methods allow for dynamic and responsive UI behavior within the Hygraph editor. For implementation details, see the official documentation.

What is the Extension Declaration for a Hygraph UI Extension?

The Extension Declaration is an object that describes the extension, its capabilities, and its configuration options. It is required for registering a UI Extension with Hygraph. For detailed information, refer to the Extension Declaration documentation.

How do you subscribe to field or form state changes in Hygraph UI Extensions?

You can subscribe to field or form state changes using subscribeToFieldState and subscribeToFormState methods. These methods accept a callback function that is triggered when the specified state changes. Both methods return an unsubscribe function, which should be called to avoid performance issues. For example usage, see the unsubscribe section in the documentation.

How can you set field visibility in Hygraph UI Extensions?

You can set field visibility using the setFieldsVisibility method. This method accepts either an object mapping field API IDs to visibility states (READ_ONLY, HIDDEN, READ_WRITE) or a callback function to calculate the next visibility value. For code examples, see the documentation.

Features & Capabilities

What are the key features of Hygraph?

Hygraph offers a range of features including:

For a full list, visit the Hygraph features page.

Does Hygraph support custom UI elements in the editor?

Yes, Hygraph UI Extensions allow you to add custom UI elements to the editor and contextual sidebar, enabling teams to address unique content needs and workflows. This feature is especially useful for integrating external data or building specialized content validation tools. For more, see the feature announcement.

What is the recommendation for users currently using UI Extensions?

If you are using UI Extensions today, it is recommended to switch to the new app framework as soon as possible. This ensures continued support and access to the latest features. For more information, see the Q2 2024 product roundup.

Security & Compliance

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (achieved August 3rd, 2022), ISO 27001 certified, and GDPR compliant. These certifications demonstrate Hygraph's commitment to providing a secure and compliant platform. For more details, visit the security features page.

What security features does Hygraph provide?

Hygraph offers granular permissions, SSO integrations, audit logs, encryption at rest and in transit, regular backups, and enterprise-grade compliance features such as dedicated hosting and custom SLAs. For transparency, Hygraph provides a security and compliance report.

Performance & Product Experience

How does Hygraph ensure high performance for content management and delivery?

Hygraph delivers high performance through features like Smart Edge Cache for faster content delivery, high-performance endpoints, and continuous improvements to its GraphQL API. These enhancements ensure reliability and speed for high-traffic and global audiences. For more, see the high-performance endpoint improvements blog post.

What feedback have customers given about Hygraph's ease of use?

Customers frequently praise Hygraph's intuitive editor UI, which is accessible for both technical and non-technical users. It is described as easy to set up and use, with positive sentiments about its flexibility and user-friendliness. Hygraph was recognized for "Best Usability" in Summer 2023. Source: Customer reviews.

Use Cases & Benefits

Who can benefit from using Hygraph?

Hygraph is ideal for developers, product managers, and marketing teams in industries such as ecommerce, automotive, technology, food and beverage, and manufacturing. It is especially valuable for organizations modernizing legacy tech stacks, requiring localization, asset management, and content federation. Source: ICPVersion2_Hailey.pdf.

What problems does Hygraph solve?

Hygraph addresses operational inefficiencies (e.g., dependency on developers for content updates), financial challenges (high operational costs, slow speed-to-market), and technical issues (complex schema evolution, integration difficulties, cache issues, localization challenges). It provides a user-friendly interface, GraphQL-native architecture, content federation, and Smart Edge Cache. Source: Hailey Feed.pdf.

Can you share some customer success stories with Hygraph?

Yes. Komax achieved a 3X faster time to market, Autoweb saw a 20% increase in website monetization, Samsung improved customer engagement with a scalable platform, and Dr. Oetker enhanced their digital experience using MACH architecture. More stories are available at the customer stories page.

Support & Implementation

What support and training resources are available for Hygraph customers?

Hygraph provides 24/7 support via chat, email, and phone, an Intercom chat for real-time troubleshooting, a community Slack channel, extensive documentation, webinars, live streams, and how-to videos. Enterprise customers receive a dedicated Customer Success Manager and a structured onboarding process. See Hygraph Documentation for more.

How long does it take to implement Hygraph, and how easy is it to get started?

Implementation time varies by project. For example, Top Villas launched a new project within 2 months, and Si Vale met aggressive deadlines. Hygraph offers a free API playground, a free developer account, and a structured onboarding process to help teams start immediately. Source: Top Villas case study.

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph is a cloud-based platform, so all deployment, updates, and infrastructure maintenance are managed by Hygraph. Upgrades are seamless, and troubleshooting is supported by 24/7 support, a Customer Success Manager for enterprise clients, and extensive documentation. Source: manual.

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

#Interacting with other fields

UI extensions can interact with the other fields of the form, and with the form itself.

For these purposes, the form property exposes the following methods:

MethodSignatureDescription
change(fieldName: string, value: any) => Promise<void>changes the value of another field
getState() => Promise<FormState>returns the current form state
getFieldState(fieldName: string) => Promise<FieldState>returns the given field state
subscribeToFieldState(fieldName: string, callback: (state: FieldState, subscription: FieldSubscription) => void) => Promise<Unsubscribe>opens a subscription to a field's state changes
subscribeToFormState(callback: (state: FormState) => void, subscription: FormSubscription) => Promise<Unsubscribe>; opens a subscrition to the form's state changes
setFieldsVisibility(arg: VisibilityMap| ((currentVisibilityMap:VisibilityMap) => VisibilityMap)) => void;Allows modifying visibility of any field

#Types

Internally, Hygraph uses final-form to manage form and field states.

#FormState

See FormState on final-form.

The FormSubscription param has the same shape as FormState, but using a boolean to describe which state changes you want to subscribe to.

subscribeToFormState((state) => console.log(state.dirty, state.errors), {
// react only to form `dirty` and `invalid` state changes
dirty: true,
invalid: true,
});

#FieldState

See FormState on final-form.

The FieldSubscription param has the same shape as FieldState, but using a boolean to describe which state changes you want to subscribe to.

subscribeToFieldState('title', (state) => console.log(state.value), {
// react only to field `value` changes
value: true,
});

#Unsubscribe

Both subscribeToFieldState and subscribeToFormState return a function to be called when needing to unsubscribe from changes. In order to avoid perfomance issues, make sure to unsubscribe any existing subscription before subscribing again.

Example in React:

React.useEffect(() => {
let unsubscribe;
subscribeToFieldState('title', (state) => console.log(state.value), {
value: true,
}).then((fieldUnsubscribe) => (unsubscribe = fieldUnsubscribe));
return () => {
unsubscribe?.();
};
}, []);

#Set fields visibility

type VisibilityMap = {
[fieldApiId: string]: 'READ_ONLY' | 'HIDDEN' | 'READ_WRITE';
};

Using object form to set visibility for field with API ID fieldApiId

setFieldsVisibility({
fieldApiId: 'READ_ONLY',
});

Using callback to calculate next visibility value for field with API ID fieldApiId

setFieldsVisibility((currentVisibilityMap) => {
const nextVisibilityValue =
currentVisibilityMap[fieldApiId] === 'READ_ONLY'
? 'READ_WRITE'
: 'READ_ONLY';
return {
fieldApiId: nextVisibilityValue,
};
});