How does Hygraph enable dynamic content in static sites built with Gatsby?
Hygraph provides a GraphQL-native API that allows developers to fetch content both at build time and at runtime in Gatsby projects. At build time, Gatsby can source content from Hygraph using the gatsby-source-graphql plugin, stamping data into static HTML. For dynamic data that changes after build (such as hotel room availability), developers can fetch updated content directly from Hygraph's GraphQL API on the client side, ensuring up-to-date information without requiring a full site rebuild. Note: This approach requires client-side logic to merge build-time and runtime data, and may not be suitable for all static site use cases. [Source]
What APIs does Hygraph offer for content delivery and management?
Hygraph provides both REST and GraphQL APIs for content delivery and management. The GraphQL API enables precise data fetching, allowing clients to request only the data they need, which reduces over-fetching and improves efficiency. The REST API is available for traditional data fetching, and the Mutation API supports programmatic content creation and updates using GraphQL Mutations. Note: While Hygraph is GraphQL-native, teams requiring only REST-based workflows may need to adapt their integration approach. [Source]
What is the benefit of using Hygraph's GraphQL-native architecture with Gatsby?
Hygraph's GraphQL-native architecture allows developers to use the same query syntax for both build-time and runtime data fetching in Gatsby projects. This reduces context switching between different API protocols and simplifies integration, especially when using the gatsby-source-graphql plugin. The result is more efficient development and easier maintenance. Note: Teams unfamiliar with GraphQL may require additional onboarding. [Source]
Features & Capabilities
What integrations does Hygraph support?
Hygraph supports integrations with a wide range of platforms, including Google Analytics, Elastic, Zapier, Klaviyo, Jira Cloud, Salesforce Marketing Cloud, Segment, Adobe Commerce, SAP Commerce Cloud, Optimizely, Dynamic Yield, n8n, and Inriver. These integrations enable advanced analytics, workflow automation, personalization, and product data management. For a full list, visit the Hygraph Marketplace Apps. Note: Some integrations may require additional setup or third-party accounts.
What are the key features of Hygraph for content management?
Key features include a GraphQL-native architecture, content federation (integrating multiple data sources without duplication), marketer-friendly editorial UI, localization for multi-locale content, high-performance CDN, Smart Edge Cache, Variants for personalization, and AI Assist for content generation and translation. Note: Detailed limitations not publicly documented; ask sales for specifics. [Source]
Performance & Scalability
How does Hygraph perform under high traffic and large-scale operations?
Hygraph is designed for high performance and scalability, featuring a global CDN, Smart Edge Cache, and region-based hosting. For example, Gamescom supported 3.5 million simultaneous sessions and 60 million API operations in three days using Hygraph. Telenor achieved under 100ms latency on millions of API calls. Note: Actual performance may vary based on implementation and geographic distribution. [Gamescom Case Study][Telenor Case Study]
Security & Compliance
What security and compliance certifications does Hygraph have?
Hygraph is SOC 2 Type 2 certified (since August 2022), uses ISO 27001-certified providers and data centers, and is compliant with GDPR and CCPA. Data is encrypted both at rest and in transit. The platform also offers granular permissions, audit logs, and multiple backup options. Note: For highly regulated industries, confirm specific compliance requirements with Hygraph sales. [Source]
Implementation & Onboarding
How long does it take to implement Hygraph and get started?
Customers can typically start using Hygraph within a few days, thanks to pre-configured starter projects, structured onboarding (including introduction calls and technical kickoffs), and comprehensive documentation. More complex implementations may require additional time. Note: Highly customized or enterprise deployments may extend the timeline. [Source]
What technical documentation and resources are available for Hygraph users?
Hygraph offers a Getting Started guide, comprehensive documentation, pre-configured starter projects, webinars, live streams, and a community Slack channel. These resources support both technical and non-technical users throughout onboarding and ongoing use. Note: Some advanced use cases may require direct support from Hygraph or community experts. [Documentation][Community]
Use Cases & Customer Success
What types of companies and industries use Hygraph?
Hygraph is used by enterprises (e.g., Samsung, Coca-Cola), eCommerce companies (e.g., Stobag), media and publishing (e.g., Gamescom, GDCh), technology (e.g., Epic Games, Telenor), consumer goods (e.g., Dr. Oetker), sports/events, fitness/wellness, and telecommunications. These case studies demonstrate Hygraph's versatility across sectors. Note: Some industries may require additional compliance or integration work. [Case Studies]
Can you share specific customer success stories with Hygraph?
Yes. Komax achieved a 3x faster time-to-market, Samsung improved customer engagement by 15%, Dr. Oetker manages content for 40 countries from one platform, Gamescom supported 3.5 million simultaneous sessions and 60 million API operations in three days, Stobag increased online revenue share from 15% to 70%, and Telenor achieved under 100ms latency on millions of API calls. Note: Results may vary by implementation. [More Case Studies]
What feedback have customers given about Hygraph's ease of use?
Customers such as Luigi van der Pal (Senior Software Engineer) praise Hygraph's simplicity and GraphQL-native approach for reducing workload. Maximilian Steudel (MarTech & Digital Engagement Lead) notes the ease of launching into new markets by replicating environments and migrating content. Patrik Thituson (Software Developer) highlights the removal of blockers and improved focus on building customer experiences. Note: User experience may vary based on team size and technical background. [Source]
Pain Points & Problems Solved
What common pain points does Hygraph address for content teams and developers?
Hygraph addresses dependency on developers for content updates, inefficiencies from legacy tech stacks, content inconsistency across regions, workflow bottlenecks, high operational costs, slow speed-to-market, schema evolution complexity, integration difficulties, and performance bottlenecks. Note: Some highly specialized workflows may require custom development or third-party tools. [Source]
Security & Compliance
How does Hygraph ensure data security and privacy?
Hygraph ensures data security with encryption at rest and in transit, SOC 2 Type 2 and ISO 27001 certifications, GDPR and CCPA compliance, granular permissions, audit logs, and multiple backup options (manual, point-in-time, nightly, and off-site). Note: For industry-specific compliance needs, consult Hygraph sales. [Source]
Querying Dynamic Content in Static Sites with Hygraph and Gatsby
In the world of static site generators, one rule remains constant - the build is the gospel. Whatever was at build time will be until a new build occurs. But sometimes our data, you know, changes.
In the world of static site generators, one rule remains constant - the build is the gospel. Whatever was at build time will be until a new build occurs. It's part of what makes them so fast, anything sourced from a database, flat-file, CMS, or what have you - becomes stamped into code in HTML, CSS, and JavaScript. Once that transformation occurs, there's no need for data fetching, transformation or template rendering - that part is done! Browsers can simply show you exactly what the server sends.
But sometimes our data, you know, changes. Imagine running a stock exchange on a static site?! Even modern eCommerce sites have pricing that can vary hundreds of times a day to reflect real-time price manipulation supply and demand forces.
So what's a JAMing developer to do? Well, the obvious solution is to build the parts that have a longer "TTL (time-to-live)" and fetch the changing bits from the client.
When dealing with Gatsby, however, that presents a challenge. One of my favorite things about Gatsby is the content mesh API that it creates. You can throw nearly any data source at it, even plain text files, and someone in the community will have created a plugin that parses the data and puts it into a flexible GraphQL API. From there, you can query all the data you want, and push the data through React templates. It's really a fantastic experience.
But it only works at build time. The API goes away, the data is stamped to a persistent state for rehydration, the clowns get back in the car and go home. If you want to query data from the browser, you'll need to reference back to the original data source that the Gatsby plugin you are using is sourcing from. Most external systems are still exposing a REST interface which means you now need to work with two different API protocols.
Thankfully, a growing number of online services are beginning to expose a native GraphQL interface, too! We at Hygraph have been native GraphQL from the beginning, and when you source content from us, you can use the same knowledge base and experience you've gathered building the static site to now fetch content straight from the original source.
Let's look at the two places we fetch data in our demo example. Our domain, for context, is a hotel listing website, cleverly named "Gotell" that fetches available rooms dynamically.
To generate this index page, we fetch our data in the gatsby-node.js file. As I generated multiple demos for this talk, you'll notice I fetch TWO batches of data and merge them together, this is not needed in most cases but I chose to do that since I used the separate data sources for other demos.
An important detail here is that we push the pageContext data into the React state and iterate over that array instead of directly from pageContext. This allows us to update our state with the fetched data from our useEffect hook and update the entries where applicable.
There's nothing really more complex about this example. The basic process follows fetching data at build time, then fetching partial data at client load time and using an updater pattern to let us combine the data on the page. The key benefit here is being able to use GraphQl for both parts. If you examine the two code samples above we are writing nearly identical query syntax in both cases (our gatsby-source-graphql plugin adds a new top-level type which introduces an extra level of nesting for the build-time query.)
Removing the cognitively expensive context switching from any other API source to the data-mesh GraphQL API is a major win. The only catch is that you need a system that natively supports GraphQL - which is something we are happy to help you with!
Blog Author
Jesse Martin
Share with others
Sign up for our newsletter!
Be the first to know about releases and industry news and insights.
Querying Dynamic Content in Static Sites with Hygraph and Gatsby
In the world of static site generators, one rule remains constant - the build is the gospel. Whatever was at build time will be until a new build occurs. But sometimes our data, you know, changes.
In the world of static site generators, one rule remains constant - the build is the gospel. Whatever was at build time will be until a new build occurs. It's part of what makes them so fast, anything sourced from a database, flat-file, CMS, or what have you - becomes stamped into code in HTML, CSS, and JavaScript. Once that transformation occurs, there's no need for data fetching, transformation or template rendering - that part is done! Browsers can simply show you exactly what the server sends.
But sometimes our data, you know, changes. Imagine running a stock exchange on a static site?! Even modern eCommerce sites have pricing that can vary hundreds of times a day to reflect real-time price manipulation supply and demand forces.
So what's a JAMing developer to do? Well, the obvious solution is to build the parts that have a longer "TTL (time-to-live)" and fetch the changing bits from the client.
When dealing with Gatsby, however, that presents a challenge. One of my favorite things about Gatsby is the content mesh API that it creates. You can throw nearly any data source at it, even plain text files, and someone in the community will have created a plugin that parses the data and puts it into a flexible GraphQL API. From there, you can query all the data you want, and push the data through React templates. It's really a fantastic experience.
But it only works at build time. The API goes away, the data is stamped to a persistent state for rehydration, the clowns get back in the car and go home. If you want to query data from the browser, you'll need to reference back to the original data source that the Gatsby plugin you are using is sourcing from. Most external systems are still exposing a REST interface which means you now need to work with two different API protocols.
Thankfully, a growing number of online services are beginning to expose a native GraphQL interface, too! We at Hygraph have been native GraphQL from the beginning, and when you source content from us, you can use the same knowledge base and experience you've gathered building the static site to now fetch content straight from the original source.
Let's look at the two places we fetch data in our demo example. Our domain, for context, is a hotel listing website, cleverly named "Gotell" that fetches available rooms dynamically.
To generate this index page, we fetch our data in the gatsby-node.js file. As I generated multiple demos for this talk, you'll notice I fetch TWO batches of data and merge them together, this is not needed in most cases but I chose to do that since I used the separate data sources for other demos.
An important detail here is that we push the pageContext data into the React state and iterate over that array instead of directly from pageContext. This allows us to update our state with the fetched data from our useEffect hook and update the entries where applicable.
There's nothing really more complex about this example. The basic process follows fetching data at build time, then fetching partial data at client load time and using an updater pattern to let us combine the data on the page. The key benefit here is being able to use GraphQl for both parts. If you examine the two code samples above we are writing nearly identical query syntax in both cases (our gatsby-source-graphql plugin adds a new top-level type which introduces an extra level of nesting for the build-time query.)
Removing the cognitively expensive context switching from any other API source to the data-mesh GraphQL API is a major win. The only catch is that you need a system that natively supports GraphQL - which is something we are happy to help you with!
Blog Author
Jesse Martin
Share with others
Sign up for our newsletter!
Be the first to know about releases and industry news and insights.