Thomas YAML Meetup

Thomas Sigdestad, CTO at Enonic, recently unveiled why YAML is the future of the Enonic platform and how the upcoming migration will be smoother than ever.

When you work with Enonic today, you define your schemas and configurations in XML. Let’s be honest: XML isn't exactly "hot" anymore. It’s verbose, and there is no direct, elegant transition from XML to JSON—the format we already use extensively in our code.

To bridge this gap and answer years of developer feedback, Enonic is moving to YAML for the upcoming platform release XP8.

Why YAML? (And Why Not JSON?)

The most common question developers ask is: "Why not just use JSON?" While JSON is a great data format, YAML (YAML Ain't Markup Language) is superior for definitions and configurations.

  • JSON Superset: YAML is essentially JSON plus comments. And as every developer knows, comments in configuration files are a lifesaver.
  • Leaner Syntax: It is significantly less verbose than both XML and JSON.
  • Industry Standard: YAML is the language of the cloud, used by everything from Kubernetes to GitHub Actions.
  • Validation: By moving to YAML, we gain powerful validation capabilities through JSON Schema, ensuring your definitions are robust without the "Ancient Language" bulk.

Small Tricks, Big Gains

Thomas showcased how the new YAML structure is both a format change and a structural optimization. One of the coolest features is the simplified localization (i18n).

In the old XML days, you had to be quite repetitive. In XP8, if you don't need localization for a specific field, you can simply write help-text: "My String" as a single line. If you do need it, you can expand it to a key-based lookup. This "compact-by-default" approach makes schemas much easier to read at a glance.

We are also introducing an Attributes field. This allows you to attach random metadata to your content types that your application code can utilize, offering a new level of flexibility for custom logic.

The Road to XP8: What Changes?

Upgrading from XP7 to XP8 will involve some structural housekeeping for your apps. Here’s a quick breakdown of what to expect:

Old Way (XP7)New Way (XP8)
site folderCMS folder
x-datamixins
site.xmlSplit into site.yaml and cms.yaml
Verbose XML schemasLean YAML definitions

Don't Panic: The XP8 Migrator Is Here

The thought of manually converting hundreds of XML files to YAML is enough to give any developer a headache. Fortunately, you won't have to.

Enonic is releasing the XP8 Migrator, an automated tool designed to handle the heavy lifting.

In a live demo (see video above), Thomas showed the tool in action: with a single command, an entire application’s folder structure was renamed, and XML files were converted to YAML. All while keeping the original XML files as a "safety blanket" for convenience.

Looking Beyond XP8: Persistent Schemas

The move to YAML is just the foundation. Thomas hinted at an even more radical change following the XP8 release: Persistent Schemas.

Soon, schemas will be persisted in the system itself. This means you’ll be able to edit your data models directly within Content Studio without having to rebuild or redeploy an XP app. This is a game-changer for Headless projects where you just want to manage the data model on the fly.

The Power of Mixins and Custom Inputs

By combining YAML schemas with the new Enonic UI library, developers will soon be able to build and share custom input types.

Imagine going to the Enonic Market, downloading a "Top 10 Inputs" library, and instantly mixing a Google Maps picker or a specialized color selector into your forms.

This extensibility—moving from hard-coding to "mixing in" functionality—is what will truly accelerate development speed in the Enonic ecosystem.

Release Timeline

XP8 and Content Studio 6 are targeted for a Q1 2026 release. While much of the hard work is already done, the team is currently smoothing out the upgrade process to ensure it is as low-effort as possible for existing customers.

Related Blog Posts

Get some more insights:


Get Started with Enonic! 🚀