TheaterEncyclopedie:Eenduidig gebruik Infobox sjablonen/Toolbox

Uit TheaterEncyclopedie
Ga naar: navigatie, zoeken

Bij het opschonen van de Infobox-sjablonen (en de nieuwe sjablonen) is het van belang onderscheid te maken in:

  1. Bestaande inhoud van de TE corrigeren
  2. Voorkomen / onmogelijk maken van introductie van nieuwe fouten

Uit de inventarisatie komt namelijk naar voren, dat veel van de zichtbare en onzichtbare problemen zijn veroorzaakt door de wijze van invoer van gegevens. Na een eenmalige "schoonmaak" zullen er dus gemakkelijk (en mogelijk snel) weer nieuwe fouten geïntroduceerd worden.

Bestaande sjablonen en invoerwaarden corrigeren

Een voor de hand liggend idee is het “omzetten” van de oude infobox-sjablonen in de nieuwe sjablonen. Met een slimme “Zoek en vervang” van sjabloon Infobox door het nieuwe sjabloon, zou dit mogelijk kunnen zijn. Hoewel het idee eenvoudig is, is de uitvoering ingewikkeld en kleeft er een aantal nadelen aan. Hieronder een overzicht van dit scenario en een aantal alternatieven.

  1. - Zoeken en vervangen van (wiki-)teksten met behulp van Extensie:Replace Text
  2. - Het automatisch aanpassen van de ingevoerde waarden in een sjabloon d.m.v. Regular Expressions (Regex) - Diverse extensies
  3. - Het verwijderen van pagina's met fouten en het opnieuw - op de juiste manier - aanmaken ervan met behulp van Tinbot


1: Zoeken en vervangen

Gebruik van Extensie:Replace Text (https://www.mediawiki.org/wiki/Extension:Replace_Text):

  • Geheel vervangen van Infobox-sjabloon; call+var+waarde
  • Zoeken & geheel vervangen van (foutieve) waarden in infobox sjablonen
  • Nadeel: Werkt op maximaal 250 resultaten per keer (en vereist runJobs.php
  • Nadeel: Moeilijk te testen (alleen direct terug te draaien, later niet meer)
  • Nadeel: Niet ‘corrigeerbaar’ (naderhand niet te verfijnen, uit te breiden, te veranderen)
  • Nadeel: Voorkomt geen toekomstige fouten
  • Voordeel: Laat geen sporen na (rommel)

2: Automatisch aanpassen van ingevoerde waarden

Gebruik van de parserfunction #replace (Extension:StringFunctions) en/of #rreplace (Extensie:RegexFunctions) (Zie eventueel ook: Extension https://www.mediawiki.org/wiki/Extension:ReplaceSet)

  • Binnen in sjabloon corrigeren van de waarden in een infobox-sjabloon
  • Binnen in sjabloon corrigeren van de waarden in een ‘nieuw’ sjabloon
  • Voordeel: Werkt op alle pagina’s die het sjabloon gebruiken (in 1 keer)
  • Voordeel: Corrigeerbaar en terug te draaien
  • Voordeel: Voorkomt ook toekomstige fouten
  • Nadeel: Complexiteit - laat sporen na

Regex:

3: Verwijderen en opnieuw - en correct - aanmaken

Gebruik van het PHP-script Tinbot:

  • Verwijder pagina’s met fouten en laat het script de pagina’s opnieuw aanmaken
  • Dit heeft vergelijkbare voor- en nadelen als Replace Text
  • Voordeel: Corrigeerbaar

Voorkomen van nieuwe fouten

Er zijn diverse maatregelen te treffen om de "foutieve invoer" van gegevens voor een belangrijk deel te voorkomen of automatisch te corrigeren:

  1. Eenduidige definiëren van Semantische eigenschappen
  2. (Compleet) vastleggen van gewenste invoer-formaat
  3. Robuust maken van de sjablonen voor invoer-"variaties"
  4. Invoerformulieren aanpassen (Extensie:Page Forms)
    1. Toelichting (tooltips) voor de gebruiker (zie: Adding tooltips)
    2. Beperken van invoer tot een type (Zie Allowed input types for data types)
    3. Beperken van de invoer met Regex (Zie Extension:Page_Forms/Input_types/Regexp)
    4. Extra velden toevoegen voor "toelichting, opmerkingen etc." of "vinkje" voor "geschatte waarde - niet zeker"

Merk op dat maatregelen zoals "Robuust maken van sjablonen" ook helpen om de huidig bestaande fouten te corrigeren!