XIO Experiences @DrupalCon - Part 3

nov 2014
-
Marieke Hollevoet

Semantic site architecture by Marieke Hollevoet. Een van de leukere sessies op DrupalCon, 'Semantic Site Architecture', werd gegeven door Jody Hamilton (Go women in Drupal!). Haar sessie ging over het belang van een semantische site architectuur - vooral gericht naar de Drupal site builders onder ons. 

Site building wordt vaak gezien als iets voor beginners - iets waar je geen professional voor moet zijn, want ‘je klikt maar views, panels, content types,... samen’. Het harde programmeren komt daarna. 

Maar eigenlijk is site building een heel belangrijk deel van een (Drupal) website. Deze bepaalt de volledige structuur van je site. En maakt ook het verschil tussen een duidelijke of een slechte website.

 

Naamgeving, belangrijker dan je denkt...

Er moeten heel veel zaken een naam krijgen. Denk aan content types, views, view modes, image styles,...Duidelijke, consistente namen zijn van belang voor de gebruiksvriendelijkheid, onderhoudbaarheid en bouwtijd van een website.

Het is dan ook belangrijk dat het uitwerken van die structuur - en hun semantische naamgeving - wordt uitgevoerd door iemand met ervaring. 

Wanneer alles semantisch duidelijk is heb je geen handleiding nodig voor je Drupal editors. De naamgeving en helptekst van alles op de site zou moeten verklaren wat het is en wat het doet.

Ik kwam binnen een project al te vaak de volgende views tegen:  “News on event”, ‘Related news”, “News”, “Newsitems teasers”. Dit is vooral frustrerend, en zeker wanneer je collega juist op verlof is. Dan verlies je tijd met uitzoeken welke view op welke pagina juist gebruikt wordt. 

Wanneer daar vooraf over wordt nagedacht zal die naamgeving consistent en duidelijk zijn. En zal je zonder vragen of onderzoek weten over wat het gaat.

 

Wat doe je concreet

Alles wat een naam moet krijgen lijst je vooraf (voor het ‘samenklikken’) op in een architecture plan. Lijst hier niet enkel je contenttypes op, maar breid dit uit met view modes, image styles, views,...

Er is hier ook een duidelijke blog post over op palentir.net, die ook een handige template aanbiedt voor je architecture plan.

Tijdens het opstellen van je architecture plan zie je alles naast elkaar staan, wat het een pak makkelijker maakt om consistent te werken.

Het was bij mij nog nooit opgekomen om zaken als pathauto en helptekst ook toe te voegen aan je architecture plan. Maar dit spaart ongelofelijk veel tijd uit.

 

 

  

Een paar best practices

Verder zijn er enkele zaken waar je in het algemeen best op let:

  • Consistency (Consistentie)
    Let op taal, afkortingen, meervoud/enkelvoud, hoofdletters/kleine letters. Het geheel ziet er zo properder en afgewerkter uit.
    Fields die hetzelfde doen geef je dezelfde label en help tekst. Zo is dit telkens herkenbaar. Denk bijvoorbeeld aan een teaser image veld. Als die op elk contenttype hetzelfde label en helptekst krijgt, is het onmiddellijk duidelijk wat dit veld moet doen.
  • Redundancy (Overtollige zaken weglaten)
    Laat zaken weg die eigenlijk niets bijdragen. Bijvoorbeeld beter geen beschrijving dan je news content type volgende beschrijving geven: “A content type for adding news”.

  • Extensibility (Uitbreidbaarheid)
    Denk bij naamgeving ook aan mogelijke uitbreiding. 
    Bijvoorbeeld bij het aanmaken van een view. Je maakt een view 'Homepage related news', maar uiteindelijk plaats je deze ook op een andere pagina. In je eigen hoofd waarschijnlijk logisch, maar voor je collega natuurlijk niet.

  • Malleability (Kneedbaarheid)

Zorg er voor dat je naamgeving je de mogelijkheid geeft om achteraf iets te veranderen. Een concreet voorbeeld zijn de namen voor image styles. De afmetingen vormen vaak de naam. Maar juist bij image styles gebeurt het heel vaak dat de afmetingen veranderen.

Beter gebruik je bijvoorbeeld de view mode benaming. Zo is het duidelijk dat je voor de 'Mini' view mode, de 'Mini' image style zal nodig hebben.

 

Paden en breadcrumbs

Wat Jody ook aanhaalde - en waar ik volledig achter sta - zijn de paden en breadcrumbs in een website. Deze zijn ook een belangrijk deel van de navigatie van jouw website. Je zou een deel van je URL moeten kunnen weglaten, en ook weer op een landbaar deel terechtkomen. Breadcrumbs, URLs en je menustructuur moeten eigenlijk dezelfde flow hebben.

Wanneer je ‘news-events/events/naam-event’ hebt moet de pagina ‘news-events’ bestaan, alsook ‘news-events/events’.

Stel voor je default URL alias volgende token in [node:menu-link:parents:join-path]/[node:title] en alle pagina’s in een menu hebben op magische wijze al een correcte URL.

Al te vaak staan die zaken niet juist - en wanneer je verdwaalt in een website, of het gevoel heb dat structuur ontbreekt, is de kans groot dat er dingen verkeerd staan.

 

Conclusie: slechte naamgeving is onomkeerbaar (dus let erop)

Je architecture plan is een heel belangrijk deel van je project. Slechte naamgeving is onomkeerbaar. Het duurt enkele seconden om iets onduidelijk te benoemen maar weken om een project gebruiksvriendelijk te maken.

Neem hier dus voldoende tijd voor. Laat dit nog eens als ‘quality control’ door een collega overlopen, zodat zeker alle naamgeving duidelijk is. En begin dan pas aan je volledige setup.

Ik kon mij echt vinden in deze sessie. Het lijkt dom en tijdverlies om op ‘papier’ te beginnen, maar je verkrijgt sowieso een gebruiksvriendelijkere en onderhoudbare website.

Concept & strategie
Technisch design
Informatie-architectuur