Meer informatie indelingsmogelijkheden content op noraonline


Deze pagina dienst als achtergrondinformatie bij Inhoudelijke indelingen Redesign 2024 en vertelt wat meer over manieren om content in een semantische mediawiki in te delen, met name de mogelijke doelen, types en scope van die manieren.

Doelen[bewerken]

Het indelen van content kan een aantal doelen hebben:

  1. content kunnen vinden die voldoet aan een aantal criteria (zoeken / semantisch zoeken)
  2. lijsten maken van content die bij elkaar hoort
  3. filteren van content met dezelfde positie binnen de indeling
  4. navigatiemogelijkheden aanpassen afhankelijk van indeling
  5. lay-outkeuzes triggeren (zoals weergave van een bepaald icoontje of de kleur van een titelvak)

We kunnen content indelen op basis van architectuurinhoudelijke overwegingen (bijv. een architectuurlaag), maar ook op technische eigenschappen (bijv. bestanden van een bepaald type), doel (bijv. toepassen) of doelgroep (bijv. enterprise architecten) of beheeroverwegingen (bijv. afbeeldingen in de NORA huisstijl).

Van elke indeling moeten we een aantal vragen beantwoorden:

  1. Wat betekent de indeling?
  2. Valt alle content binnen de indeling, of alleen een deel?
  3. Is er een logische default-waarde?
  4. Wie kan er beoordelen waar in de indeling content valt?

Manieren van indelen[bewerken]

Content indelen door optionele categorie(ën) mee te geven[bewerken]

De minst ingrijpende indeling van pagina's is in categorieën, die je kunt zien als een label dat je aan een pagina hangt. Als je een categorie toevoegt kun je content semantisch zoeken: alles dat dit label draagt, alles dat dit label draagt èn dit andere label, of alles dat dit label draagt en aan een ander criterium voldoet.

Pagina's die de categorie niet hebben worden niet beïnvloed door de indeling. Dat is een voordeel, maar ook een beperking: je kunt niet naar bestanden zoeken die BUITEN een categorie vallen.

Een categorie voeg je handmatig toe in de code van een pagina, of laat je plaatsen als onderdeel van een (opmaak-)sjabloon. Dat heeft vanuit beheerperspectief nadelen omdat er een wildgroei van categorieën kan ontstaan die op elkaar lijken maar anders gespeld zijn (typefouten, hoofd- en kleine letters, afkortingen et cetera). Categorieën kunnen ook subcategorieën hebben, waardoor onduidelijkheid kan ontstaan. En ongeveer een keer per jaar trad een bug op waardoor een enkele zoekactie op een categorie opeens niet meer goed werkte tot de database opnieuw geladen werd.

Een categorie is vooral geschikt voor indelingen die:

  1. Niet alle content in willen delen, maar slechts een beperkt deel
  2. Niet te fijnmazig zijn (iets valt in de categorie of niet, er zijn maar twee smaken)
  3. Gecombineerde zoekacties mogelijk willen maken

Content in elementtypen indelen[bewerken]

Binnen het Kennismodel van NORA is het mogelijk om Elementtypen te typeren: gestructureerde pagina's met een set van verplichte eigenschappen, een eigen opmaaksjabloon en een definitie. Een elementtype gebruiken we traditioneel gezien voor inhoudelijk gelijksoortige pagina's, waarvan je altijd dezelfde eigenschappen wilt tonen op dezelfde manier. Denk aan Standaarden, Architectuurprincipes en Sectorregistraties.

Elementtypes hebben alleen betrekking op de pagina's van het elementtype en zeggen niets over andere content. Een pagina kan maar in één elementtype vallen.

Een elementtype bepaal je direct bij het aanmaken van de pagina en verander je over het algemeen niet meer. Verschillende elementtypes hebben immers verschillende eigenschappen en een wisseling kost veel controleer en corrigeerwerk.

Nieuwe elementtypes mag je niet zomaar aanmaken, omdat ze een belangrijk onderdeel van het kennismodel uitmaken. Om een pagina van een bepaald elementtype aan te maken moet je het een en ander weten over het elementtype (past de pagina die je wil aanmaken daar wel binnen, wat wordt er bedoeld met de eigenschappen die je in moet vullen?). Daar staat tegenover dat het bewerken van een pagina die een elementtype heeft meegekregen via een invoerformulier gebeurt waar je de waarde van de gewenste eigenschappen invoert, hetgeen iets laagdrempeliger is dan een lege pagina waarin je zelf moet verzinnen wat er in moet staan.

Elementtypes zijn geschikt als:

  1. Pagina's duidelijk deel uitmaken van een inhoudelijke set, waarvan je verwacht er meerdere in te voeren in de wiki
  2. Er geen overlap is met al bestaande elementtypen (of dit een subset is van dat elementtype)
  3. Er een set met eigenschappen is die je voor alle (of bijna alle) pagina's binnen de inhoudelijke set ingevuld wilt zien
  4. Je een bepaalde volgorde en opmaak wilt bepalen voor de ingevulde waarden van de verplichte eigenschappen

Content indelen door een semantische eigenschap te definiëren[bewerken]

Een semantische eigenschap is metadata die bij de pagina hoort en zowel binnen de pagina als daarbuiten opvraagbaar is. Elke eigenschap definieer je in het Kennismodel, waarbij je de betekenis aangeeft en het type waarden dat is toegestaan: ja/nee, een vrij tekstveld, een datum, een dropdown menu met enkele toegestane waarden et cetera.

Als een eigenschap eenmaal gedefinieerd is kun je een waarde voor deze eigenschap toevoegen aan een pagina. Dat kan los, door handmatig in de code een eigenschap aan te roepen en de waarde te definiëren, maar meestal gaat het via een sjabloon of elementtype. Een gestructureerde pagina (dus een van een elementtype) weet niet alleen welke waarden het heeft voor welke eigenschappen, maar ook welke eigenschappen het hoort te hebben en welke waarden zijn toegestaan. Dat maakt de kans op fouten een stuk kleiner.

Eigenschappen geven meer zoek- en filteropties dan categorieën: je kunt zoeken naar pagina's die een bepaalde waarde hebben op een eigenschap (alles met status actualiteit=Actueel), of naar eerdere waarden (Actueel of Concept). Zo kun je de resultaten filteren (een selectie van pagina's tonen), maar ook gewoon de waarden tonen voor alle pagina's, of alle pagina's sorteren op een eigenschap (bijvoorbeeld alfabetisch).

Je kunt ook zoeken naar alle pagina's die de eigenschap ingevuld hebben. Maar net als bij categorieën is het niet mogelijk om te zoeken naar pagina's waar de eigenschap NIET is ingevuld.

Als je wilt dat alle pagina's een waarde hebben voor een eigenschap zul je niet alleen die waarde, maar ook de eigenschap zelf overal moeten toevoegen:

  • ongestructureerde pagina's beginnen zonder eigenschappen. Je voegt eigenschap en waarde in één keer toe, meestal met een sjabloon om fouten te voorkomen.
  • gestructureerde pagina's (dus van een elementtype) starten bij aanmaken met een lijst van toegestane eigenschappen, die je met een formulier kunt invullen.
    • Een eigenschap die toegestaan is kan ook een default-waarde meekrijgen als dat zo is gedefinieerd in het elementtype.
    • Een eigenschap die niet is toegestaan kun je buiten het formulier om toevoegen, maar verdwijnt weer als het formulier daarna gebruikt wordt voor een wijziging. Het is dus afgeraden om extra eigenschappen op deze manier toe te voegen: je past in plaats daarvan het elementtype aan zodat de eigenschap toegestaan wordt.
    • Als een pagina al bestaat op het moment dat je een nieuwe eigenschap als toegestaan definieert, zal dat niet direct iets aan de pagina wijzigen. Ook als een default-waarde is ingesteld zal die pas verschijnen nadat de pagina handmatig (of met een bot-account) is gewijzigd en opnieuw opgeslagen. Wel zal de nieuwe eigenschap op het invoerformulier terecht komen.

Als je een eigenschap in een sjabloon zet kun je er ook een default-waarde aan toevoegen. Dat doen we nu bijvoorbeeld in de navigatiesjablonen voor themapagina's: de eigenschap contactpersoon wordt in het sjabloon toegevoegd met als waarde de naam van de trekker van de expertgroep, maar als je zelf op de pagina een andere naam toevoegt in het sjabloon komt er een andere waarde te staan.

Indelingen gebaseerd op eigenschappen zijn vooral zinvol en bruikbaar als:

  • een indeling fijnmaziger is dan ja/nee, bijvoorbeeld een indeling in vijf lagen
  • een indeling alleen binnen een elementtype relevant is, of binnen een aantal elementtypes. Je kunt de eigenschap gemakkelijk toestaan bij de elementtypes in kwestie en een default-waarde toevoegen (desnoods 'onbekend') zodat je snel alle pagina's van een toegestane waarde kunt voorzien.
  • een indeling weinig pagina's betreft en een expert/experts eenmalig de indeling maken OF een indeling veel pagina's betreft en het voor elke bewerker eenduidig is welke pagina welke waarde moet hebben. In het eerste geval hoef je alleen bij nieuwe pagina's de expert te raadplegen om de pagina in te delen. In het tweede geval kun je de indeling van nieuwe pagina's overlaten aan de aanmaker en NORA Beheer.
  • een indeling gelinkt is aan bestaande navigatiesjablonen of andere sjablonen die toch al moeten worden toegevoegd aan de pagina's die het betreft. Door een eigenschap in een bestaand sjabloon toe te voegen met een defaultwaarde en de waarde bij het aanroepen van het sjabloon in te laten voeren hoef je niet handmatig langs alle pagina's om de indeling werkend te krijgen. Nieuwe pagina's vallen zo niet buiten je indeling omdat ze de eigenschap waarop je indeelt niet hebben. Wel zul je de pagina's met de default-waarde op termijn bij langs moeten om te voorkomen dat je groep met 'onbekend' of 'overig' te groot wordt.