YAML: instellingen die je zonder programmeerkennis kunt lezen
Technische bestanden zijn meestal onleesbaar voor wie geen programmeur is. Haakjes, aanhalingstekens en komma’s op plekken waar je ze niet verwacht. Zet je er per ongeluk een verkeerd, dan doet het niets meer.
Er bestaat een formaat dat bewust anders is opgezet. Het leest als een lijstje met dubbele punten.
Dat is prettig, want een instelling opzoeken kun je dan zelf. Aanpassen is een ander verhaal.
Het is streng op een punt waar niemand op let. Namelijk witruimte aan het begin van een regel.
Een instellingenbestand dat je zonder programmeerkennis kunt lezen.
Wat is YAML?
YAML is een manier om instellingen op te schrijven die leesbaar voor mensen is. Je ziet een naam, een dubbele punt en een waarde.
Meer is het niet. Daarom kun je zo’n bestand openen en grotendeels snappen wat er staat.
Waarom dat bestaat
Omdat een instellingenbestand vaak wordt gelezen door mensen. Iemand moet erin zoeken, iets nakijken of een waarde controleren.
Bij een formaat vol haakjes kost dat onnodig moeite. Meer over een ouder alternatief lees je bij XML.
Waar je het tegenkomt
Op vier plekken
Instellingen van servers en containers.
Automatische processen bij het uitrollen van code.
Configuratie van moderne bouwsystemen.
Koppelingen tussen ontwikkelhulpmiddelen.
Die tweede kom je tegen bij het werken met een testomgeving. Meer daarover lees je bij DTAP.
Bij WordPress zelden
Een gewone WordPress-site gebruikt het niet. De instellingen staan daar in de database of in een PHP-bestand.
Je komt het pas tegen bij zwaardere opzetten of bij koppelingen, zie API.
Het gevaar van inspringen
De structuur wordt bepaald door inspringen. Wat onder iets valt, staat een stukje naar rechts.
Dat leest prettig en het is streng. Een spatie te veel of te weinig verandert de betekenis.
Waar het misgaat
Bij het plakken van een stuk uit een handleiding. Een tab in plaats van spaties breekt het hele bestand.
Bij het fouten opsporen zoek je dan een fout die je niet ziet. Er staat immers gewoon wat er hoort te staan.
Moet je er iets mee?
Als ondernemer nauwelijks. Het draait op de achtergrond, zie backend.
Het is nuttig om te weten dat het bestaat. Dan schrik je niet als je bouwer erover begint.
Waar het je wel raakt
Bij een overstap naar een andere partij. Zulke bestanden horen bij je project en niet bij je bouwer.
Vraag dus of je toegang hebt tot je hele opzet en niet alleen tot je site.
Zelf aanpassen
Kan, en ik zou het niet doen zonder kopie. Een verkeerde regel legt een proces stil.
Wil je iets weten, open het bestand dan om te lezen en niet om te wijzigen.
Wat je wel kunt vragen
Of je instellingen ergens zijn vastgelegd en of ze in versiebeheer staan. Dan is elke wijziging terug te draaien.
Dat is een teken van een nette werkwijze. Meer over dat soort afspraken lees je bij webhook.
Het verschil met XML
XML werkt met labels om elk stukje informatie heen. Hier werk je met inspringen en dubbele punten.
Het resultaat is hetzelfde: gestructureerde gegevens die een machine kan lezen. Het verschil zit in de leesbaarheid voor mensen.
Je kiest er zelf niets in
Het systeem waarmee je werkt bepaalt welk formaat wordt gebruikt. Bij servers is dat vrijwel altijd dit formaat.
Bij sitemaps en feeds nog steeds het oudere. Daar valt voor jou weinig te kiezen.
Waarom ik nooit zonder kopie werk
Een verkeerde regel legt een proces stil en de oorzaak is niet zichtbaar. Er staat immers gewoon wat er hoort te staan.
Werk dus altijd met een kopie en een uitweg. Meer daarover lees je bij staging.
Meer vragen over YAML
Dit zijn de vragen die ik hierover het vaakst krijg. Ik werk ze los uit.
Wat is YAML?
Waar wordt YAML voor gebruikt?
Wat is het verschil tussen YAML en XML?
Waarom is inspringen zo belangrijk in YAML?
Moet ik als ondernemer iets met YAML?
Kun je YAML zelf aanpassen?
Wat is YAML?
Op vier plekken die je als ondernemer zelden ziet.
Instellingen van servers en containers. Automatische processen bij het uitrollen van code. Configuratie van moderne bouwsystemen.
En koppelingen tussen ontwikkelhulpmiddelen.
Bij een gewone WordPress-site kom je het nauwelijks tegen. De instellingen staan daar in de database of in een PHP-bestand.
Je komt het pas tegen bij zwaardere opzetten of bij koppelingen met andere systemen. Begint je bouwer erover, dan weet je nu waar het over gaat.
Bij een gewone WordPress-site kom je het nauwelijks tegen.
Je ziet het pas bij zwaardere opzetten, bij servers of bij koppelingen tussen systemen. Dat is werk voor je bouwer. Denk aan instellingen van servers, automatische processen bij het uitrollen van code en configuratie van moderne bouwsystemen. Dat zijn plekken waar jij zelden komt. Bij een gewone site staan je instellingen in de database of in een PHP-bestand. Dit formaat kom je daar niet tegen. Begint je bouwer erover, dan gaat het over de laag onder je site.
Waar wordt YAML voor gebruikt?
YAML is een manier om instellingen op te schrijven die zowel voor mensen als machines leesbaar is. Je ziet een naam, een dubbele punt en een waarde.
Meer is het niet. Daarom kun je zo’n bestand openen en grotendeels snappen wat er staat.
Dat bestaat omdat een instellingenbestand vaak door mensen wordt gelezen. Iemand moet erin zoeken, iets nakijken of een waarde controleren.
Bij een formaat vol haakjes en aanhalingstekens kost dat onnodig moeite.
Het is dus bewust anders opgezet dan de oudere technische formaten. Leesbaarheid was het uitgangspunt en niet de compactheid.
Je hoeft hier als ondernemer niets mee. Het is nuttig om te weten dat het bestaat.
Dan schrik je niet als je bouwer erover begint, en snap je waarom hij zegt dat hij voorzichtig moet zijn. Je ziet een naam, een dubbele punt en een waarde. Daarom kun je zo’n bestand openen en grotendeels snappen wat er staat.
Wat is het verschil tussen YAML en XML?
XML werkt met labels om elk stukje informatie heen. YAML werkt met inspringen en dubbele punten.
Het resultaat is hetzelfde: gestructureerde gegevens die een machine kan lezen.
Het verschil zit in de leesbaarheid voor mensen. XML is compacter voor een machine, YAML is prettiger voor wie erin moet zoeken.
Je kiest daar zelf niets in.
Het systeem waarmee je werkt bepaalt welk formaat wordt gebruikt. Bij servers en moderne bouwsystemen is dat vrijwel altijd YAML, bij sitemaps en feeds nog steeds XML.
Je kiest hier zelf niets in, want het systeem bepaalt het formaat.
Bij servers en moderne bouwsystemen is het dit formaat. Bij sitemaps en feeds nog steeds het oudere. Het resultaat is hetzelfde: gestructureerde gegevens die een machine kan lezen. Het verschil zit puur in de leesbaarheid voor mensen. Bij servers en moderne bouwsystemen wordt dit formaat gebruikt. Bij sitemaps en feeds is dat nog steeds het oudere formaat.
Waarom is inspringen zo belangrijk in YAML?
Omdat de structuur erdoor wordt bepaald. Wat onder iets valt, staat een stukje naar rechts.
Dat leest prettig en het is streng. Een spatie te veel of te weinig verandert de betekenis van het hele bestand.
Het gaat vooral mis bij het plakken van een stuk uit een handleiding. Een tab in plaats van spaties breekt het onderdeel.
Dan zoek je een fout die je niet ziet, want er staat gewoon wat er hoort te staan.
Dat is de reden dat ik zo’n bestand nooit aanpas zonder kopie. Een verkeerde regel legt een proces stil en de oorzaak is niet zichtbaar.
Pas zo’n bestand nooit aan zonder kopie. Een spatie te veel breekt het geheel.
Het gaat vooral mis bij plakken uit een handleiding, want een tab in plaats van spaties zie je niet in je scherm. De structuur wordt namelijk bepaald door inspringen. Wat onder iets valt, staat een stukje naar rechts.
Moet ik als ondernemer iets met YAML?
Nauwelijks. Het draait op de achtergrond en je merkt er niets van.
Het is nuttig om te weten dat het bestaat, zodat je niet schrikt als je bouwer erover begint.
Waar het je wel raakt, is bij een overstap naar een andere partij. Zulke bestanden horen bij je project en niet bij je bouwer.
Vraag dus of je toegang hebt tot je hele opzet en niet alleen tot je site.
Vraag daarnaast of je instellingen in versiebeheer staan. Dan is elke wijziging terug te draaien, en dat is een teken van een nette werkwijze.
Vraag bij een overstap of je toegang hebt tot je hele opzet en niet alleen tot je site.
Vraag ook of je instellingen in versiebeheer staan. Dan is elke wijziging terug te draaien, en dat is een teken van een nette werkwijze. Zulke bestanden horen bij je project en niet bij je bouwer. Dat onderscheid is belangrijk zodra je wilt overstappen.
Werk je met een opzet die verder gaat dan een gewone website en wil je weten of je overal bij kunt? Beschrijf je situatie via het formulier hieronder. Ik kijk mee welke toegang je zou moeten hebben. Vermeld je plaats, dan weet ik meteen waar je zit.
Waar kan ik je mee helpen?
Ook bekend als: YAML-bestand, configuratiebestand, instellingenbestand