Block patternit ovat yksi Gutenberg-aikakauden alihyödynnetyimmistä ominaisuuksista. Monelle ne näyttäytyvät vain “valmiina lohkomalleina”, joita editori ehdottaa sisällöntuottajalle. Kehittäjän näkökulmasta block patternit ovat kuitenkin arkkitehtoninen työkalu, jolla voidaan hallita sisältörakennetta, vähentää virheitä ja ohjata käyttöä ilman raskasta koodia tai lukittuja ratkaisuja.
Block pattern ei ole vain UX-parannus. Se on rajapinta kehittäjän ja editorin välillä.
Mitä block pattern oikeasti on
Block pattern:
-
on esikonfiguroitu lohkokokonaisuus
-
tallennetaan rakenteena, ei toiminnallisuutena
-
lisätään editoriin yhdellä toiminnolla
Teknisesti pattern on:
-
lohkojen JSON-muotoinen kuvaus
-
mahdollisesti PHP:llä rekisteröity
-
täysin riippuvainen Gutenbergin datamallista
Pattern ei luo uutta sisältötyyppiä. Se luo lähtökohdan sisällölle.
Pattern vs. reusable block
Kehittäjän kannalta kriittinen ero
Reusable block:
-
tallennetaan sisältönä
-
muutokset vaikuttavat kaikkiin instansseihin
-
on globaali riippuvuus
Block pattern:
-
kopioituu lisäyshetkellä
-
ei linkity myöhempiin muutoksiin
-
on turvallinen lähtöpiste
Kun halutaan kontrolloitu rakenne ilman globaalia lukitusta, pattern on oikea työkalu.
Mihin block patternit sopivat parhaiten
Rakenteellinen ohjaus ilman pakkoa
Block patternit toimivat erinomaisesti:
-
laskeutumissivujen pohjina
-
artikkelien vakiorakenteina
-
markkinointikomponentteina
-
toistuvina layout-ratkaisuina
Ne:
-
nopeuttavat sisällöntuotantoa
-
vähentävät virheitä
-
pitävät rakenteen yhtenäisenä
Kehittäjä voi ohjata sisältöä ilman, että käyttäjä kokee rajoituksia.
Rekisteröinti ja elinkaari
Pattern ei ole staattinen resurssi
Pattern voidaan:
-
rekisteröidä PHP:llä
-
rekisteröidä JavaScriptissä
-
liittää teemaan tai lisäosaan
Kehittäjän on päätettävä:
-
kuuluuko pattern teemaan vai lisäosaan
-
onko se esityksellinen vai sisällöllinen
-
vaihtuuko se teeman vaihdon yhteydessä
Sisältöön sidotut patternit eivät kuulu teemaan.
Teeman ja lisäosan vastuunjako
Sama sääntö kuin muuallakin
Jos pattern:
-
kuvaa visuaalista layoutia
-
on tiukasti teeman tyyliin sidottu
se kuuluu teemaan.
Jos pattern:
-
ohjaa sisältörakennetta
-
liittyy liiketoimintaprosessiin
-
ei ole teemariippuvainen
se kuuluu lisäosaan.
Väärä sijoitus johtaa samaan lukitukseen kuin custom post typet teemassa.
Patternit ja suorituskyky
Ei ilmainen, mutta kevyt
Patternit:
-
eivät renderöidy automaattisesti
-
eivät lisää runtime-logiikkaa
-
eivät tuo suoraa suorituskykykuormaa
Kustannus syntyy vasta:
-
kun käyttäjä lisää patternin
-
kun lohkot renderöidään
Pattern ei ole suorituskykyongelma, ellei sen sisällä ole huonoja lohkoja.
Patternit ja rajoitukset
Vapaus vaatii kurinalaisuutta
Pattern:
-
ei estä käyttäjää muokkaamasta rakennetta
-
ei lukitse kenttiä
-
ei validoi sisältöä
Jos tarvitaan:
-
pakollisia kenttiä
-
vahvaa rakennetta
-
tiukkaa validointia
pattern ei yksin riitä. Tarvitaan custom block tai muuta logiikkaa.
Patternit ja Full Site Editing
Rakennuspalikka koko teemalle
FSE-ympäristössä:
-
patternit voivat muodostaa koko sivuston rungon
-
headerit ja footerit ovat käytännössä patternien kaltaisia
-
teeman rakenne siirtyy editoriin
Tällöin patternit eivät ole lisäominaisuus. Ne ovat teeman perusta.
Versionhallinta ja ylläpito
Hiljainen haaste
Kun pattern muuttuu:
-
olemassa oleva sisältö ei päivity
-
uudet instanssit saavat uuden version
Tämä on ominaisuus, ei bugi. Kehittäjän on hyväksyttävä:
-
että pattern on lähtöpiste
-
ei elävä komponentti
Dokumentointi ja naming ovat yllättävän tärkeitä tässä vaiheessa.
Yleisimmät virheet block patternien käytössä
Tyypillisiä ongelmia ovat:
-
liikaa liian spesifejä patterneita
-
sisällön lukitseminen visuaalisin keinoin
-
patternien sijoittaminen väärään pakettiin
-
sekoittaminen reusable blockeihin
-
puutteellinen dokumentaatio
Nämä eivät riko sivustoa, mutta tekevät editorista sekavan.
Milloin block patternit on käytetty oikein
Hyvin toteutetussa WordPressissä:
-
patternit nopeuttavat työtä
-
rakenne pysyy yhtenäisenä
-
editor tuntuu johdonmukaiselta
-
kehittäjän ja sisällöntuottajan roolit erottuvat
Käyttäjä ei ajattele patternia. Hän ajattelee sisältöä.
Lopuksi: Block pattern on suunnittelutyökalu
Block patternit eivät korvaa custom-lohkoja eivätkä teeman templatingia. Ne täydentävät niitä.
Kehittäjän näkökulmasta patternit ovat:
-
keino siirtää hiljaista tietoa editoriin
-
tapa ohjata käyttöä ilman pakkoa
-
väline parempaan ylläpidettävyyteen
Kun niitä käytetään harkiten, block patternit tekevät WordPressistä enemmän järjestelmän ja vähemmän kompromissin.
