202110221638 CMS editor and developer experience alignment
Using a headless CMS with a component based front-end application is one of the core tenets of the Jamstack. Unfortunately though, it's easy for CMS editors and application developers to be at odds with each other on alignment. In order to maintain that alignment we should use one of three strategies for mapping CMS fields to components.1
- Create a transformer near the components. This is easier to maintain and more understandable, but may not scale well in massive apps. It also has the downside of making more calls to the CMS for data, worsening performance.
- Create a top level transformer in your app. This will perform better by making one call, but be more complicated to maintain and test.
- Create a microservice proxy to transform from the CMS(s) that you use. This microservice would be able to have a consistent interface for front-end apps while allowing flexibility on data-sources and formats. The downside is the much higher cost of maintenance, testing, and deployment that the service will have relative to a simple in-app transformer.
We can use these like stepping stones, only moving up a level when your company needs different complexity and performance characteristics.
-
Davis, S. C. (2021, February 12). Reconciling Editor Experience and Developer Experience in the CMS. CSS-Tricks. https://css-tricks.com/reconciling-editor-experience-and-developer-experience-in-the-cms/ ↩