CMS platforms these days are becoming increasingly commoditised. The modelling of most systems lends itself to automation. Giving marketers more flexibility with less need for a developer. And developers have more room to dive into the real challenges, like connecting pieces (systems, software, etc) and creating architectures where content is part of the total solution rather than it is the solution itself. When you say something like this, you immediately think “Headless CMS”. And yes, that’s true, but let’s face it: most CMS solutions have become glorified content stores—APIs that serve JSON blobs. The market is bloated with tools that claim to be “headless and modern,” but all seem to blur into one another. As a developer, I was staying at systems like Optimizely CMS (previously EpiServer CMS).
Then, I got my hands on Optimizely SaaS CMS, the headless offer of the CMS system I am used to work with.
What stood out immediately is that Optimizely doesn’t try to hide from the fact that CMS has become a commodity. Instead, it embraces that fact, and uses it to reposition the CMS as a strategic content hub in the middle of what they like to call a Marketing Operation System. I like to give it an even broader perspective. It serves as a central hub for content within your software architecture as a whole and that’s beyond marketing as well. As a developer, that can shift your thinking completely. Instead of spending time building content models and CRUD systems, you could focus on what really matters: connecting systems, orchestrating experiences, and delivering value. And yes, that in itself probably sounds like an operation system :-).
An API developers love
The first thing you notice is that Optimizely’s API isn’t just bolted on. It is thoughtfully built. Say hi to their GraphQL API, together with the available REST Full APIs for creating, managing and defining. You can not only deliver content programmatically. But also build the whole system by using the API. Want to push content from a product system into your CMS? Done. Want to generate structured content from automated workflows? Done.
This flexibility isn’t just nice to have. It’s the difference between a CMS that just does content and one that centralizes content into your flow.
This all means you can focus on things that matter to you as a developer. Like integrating with PIM or CRM systems or automating workflows where the content is a part.
This flexibility allows you to choose a more best-of-breed approach as a software architect.
Easier than this it’s not going to get
If you’re a C# developer like me, you probably love LINQPad. The cool thing is that Optimizely SaaS is so lightweight that you can now even do proof-of-concepting while scripting within LINQPad. That shows how independent it is. Here’s an example of using the Graph API using LinqPad.
void Main()
{
var key = "Goto: Settings->API Keys->Single Key";
var client = new GraphQLHttpClient($"https://cg.optimizely.com/content/v2?auth={key}", new SystemTextJsonSerializer());
var request = new GraphQLRequest
{
Query = @"
{
_Content {
items {
__typename
_fulltext
_metadata {
key
displayName
status
}
}
}
}"
};
var response = client.SendQueryAsync(request).Result;
var data = (JsonElement)(response.Data);
data.Dump();
}
However, for only doing GraphQL queries, you don’t need an IDE on your machine. Optimizely SaaS CMS, is completely maintainable from within the browser. Welcome to the GraphQL query IDE, which is part of the SaaS installation.
If you want to dive further down into it I advice to start exploring one of the well-maintained example projects on GitHub.
Conclusion: From Content Store to Strategic Core
I really like Optimizely SaaS CMS doesn’t compete by pretending content is the core product. It accepts and understands the “new role” of CMS systems in the modern world and turns that into an advantage. Instead of clinging to monolithic content modelling, it focuses on features that make it a central content hub in a composable architecture and isn’t content the concept a CMS is built for?
