Thomas YAML Meetup

Thomas Sigdestad, CTO i Enonic, avdekket nylig hvorfor YAML er fremtiden for Enonic-plattformen, og hvordan den kommende migreringen vil bli smidigere enn noen gang.

Når du jobber med Enonic i dag, definerer du skjemaer og konfigurasjoner i XML. La oss være ærlige: XML er ikke akkurat "hot" lenger. Det er omstendelig, og det er ingen direkte, elegant overgang fra XML til JSON – formatet vi allerede bruker mye i koden vår.

For å bygge bro over dette gapet og svare på årevis med tilbakemeldinger fra utviklere, går Enonic over til YAML for den kommende plattformutgivelsen XP8.

Hvorfor YAML? (Og hvorfor ikke JSON?)

Det vanligste spørsmålet utviklere stiller er: "Hvorfor ikke bare bruke JSON?" Selv om JSON er et flott dataformat, er YAML (YAML Ain't Markup Language) overlegent for definisjoner og konfigurasjoner.

  • JSON-superset: YAML er i hovedsak JSON pluss kommentarer. Og som enhver utvikler vet, er kommentarer i konfigurasjonsfiler en livredder.
  • Slankere syntaks: Det er betydelig mindre omstendelig enn både XML og JSON.
  • Bransjestandard: YAML er språket i skyen, brukt av alt fra Kubernetes til GitHub Actions.
  • Validering: Ved å gå over til YAML får vi kraftige valideringsmuligheter gjennom JSON Schema, som sikrer at definisjonene dine er robuste uten "Ancient Language"-bulk.

Små triks, store gevinster

Thomas viste hvordan den nye YAML-strukturen er både en formatendring og en strukturell optimalisering. En av de kuleste funksjonene er den forenklede lokaliseringen (i18n).

I de gamle XML-dagene måtte du være ganske repeterende. I XP8, hvis du ikke trenger lokalisering for et spesifikt felt, kan du ganske enkelt skrive help-text: "My String" som en enkelt linje. Hvis du trenger det, kan du utvide det til et nøkkelbasert oppslag. Denne "kompakt-som-standard"-tilnærmingen gjør skjemaer mye lettere å lese med et øyekast.

Vi introduserer også et Attributes-felt. Dette lar deg legge til tilfeldige metadata til innholdstypene dine som applikasjonskoden din kan bruke, og tilbyr et nytt nivå av fleksibilitet for tilpasset logikk.

Veien til XP8: Hvilke endringer?

Oppgradering fra XP7 til XP8 vil innebære litt strukturell opprydding for appene dine. Her er en rask oversikt over hva du kan forvente:

Gammel måte (XP7)Ny måte (XP8)
site-mappeCMS-mappe
x-datamixins
site.xmlDelt inn i site.yaml og cms.yaml
Omstendelige XML-skjemaerLean YAML-definisjoner

Ingen grunn til panikk: XP8 Migrator er her

Tanken på å manuelt konvertere hundrevis av XML-filer til YAML er nok til å gi enhver utvikler hodepine. Heldigvis trenger du ikke det.

Enonic slipper XP8 Migrator, et automatisert verktøy designet for å håndtere den tunge jobben.

I en livedemo (se videoen ovenfor) viste Thomas verktøyet i aksjon: med en enkelt kommando ble hele applikasjonens mappestruktur omdøpt, og XML-filer ble konvertert til YAML. Alt mens de originale XML-filene ble beholdt som et "sikkerhetsnett" for enkelhets skyld.

Veien videre etter XP8: Vedvarende skjemaer

Overgangen til YAML er bare fundamentet. Thomas antydet en enda mer radikal endring etter XP8-utgivelsen: Vedvarende skjemaer.

Snart vil skjemaer bli lagret i selve systemet. Dette betyr at du vil kunne redigere datamodellene dine direkte i Content Studio uten å måtte bygge eller distribuere en XP-app på nytt. Dette er en game-changer for headless-prosjekter der du bare vil administrere datamodellen fortløpende.

Kraften i mikser og tilpassede inndata

Ved å kombinere YAML-skjemaer med det nye Enonic UI-biblioteket, vil utviklere snart kunne bygge og dele tilpassede inndatatyper.

Se for deg å gå til Enonic Market, laste ned et "Topp 10 inndata"-bibliotek og umiddelbart blande en Google Maps-velger eller en spesialisert fargevelger inn i skjemaene dine.

Denne utvidbarheten – å gå fra hardkoding til å "mikse inn" funksjonalitet – er det som virkelig vil akselerere utviklingshastigheten i Enonic-økosystemet.

Utgivelsestidslinje

XP8 og Content Studio 6 er planlagt for utgivelse i 1. kvartal 2026. Selv om mye av det harde arbeidet allerede er gjort, flikker teamet for tiden på oppgraderingsprosessen for å sikre at den er så lite krevende som mulig for eksisterende kunder.

Relaterte blogginnlegg

Få enda mer innsikt:


Kom i gang med Enonic! 🚀