At Silverstripe, we’ve been investing heavily in researching API-driven websites and web applications with Silverstripe CMS. We believe having a robust content API that is easy for developers to customise and consume is critical to keeping our open source products competitive in the modern landscape of content management system offerings.
To hear more about what’s new in Silverstripe CMS with GraphQL and Decoupled, you can watch our recording from the latest Lunch and Learn at Silverstripe HQ. It’s an updated version of my talk form StripeEU last year—it contains new code demos and information on the latest updates to GraphQL 4. You can check out the talk here:
If you’re familiar with the underpinnings of the CMS today, you might be aware that the newest corners of the UI—notably asset admin, versioned admin, and elemental—rely on an API backed by GraphQL, using our supported silverstripe/graphql module. The choice to use GraphQL in the CMS has proven valuable to building our newer UIs with React, and it shows a lot of promise for the future of the CMS.
As much as we have benefited from using GraphQL in the admin interface, however, we believe this is just scratching the surface of where we can take this technology. Allowing developers to expose their content through an API opens up numerous opportunities for building not only Progressive Web Apps (PWA), but also high-performing, secure websites using API-driven frameworks like NextJS and Gatsby. This type of approach is often referred to as a “decoupled” or “headless” architecture.
We’ve refactored the new GraphQL v4 module to be faster, unblocking its use on larger websites and decoupled implementations. The module is in a pre-release state (see upgrade notes), and we’re relying on your feedback to stabilise it (through Github or #graphql on the Community Slack channel). The completely rewritten documentation shows you how to build powerful APIs with pagination, filtering, and DataObject smarts in a few lines of YAML.