TheaterEncyclopedie:Persoonspagina's/Legacy overzicht persoon

Uit TheaterEncyclopedie
Ga naar: navigatie, zoeken

Gebruik van de legacy-sjablonen op persoonspagina's:

Inleiding

Het Sjabloon:Overzicht_persoon plaatst alleen een lijst met productietitels op een pagina en niet de begeleidende teksten. Door na de implementatie van de nieuwe Theater-CV's het sjabloon "leeg" te maken, verdwijnen wèl de lijsten, maar niet de belendende teksten. Deze zullen dus handmatig c.q. met behulp van "zoek-en-vervang" moet worden verwijderd.

Voorbeelden

De (wiki)teksten lijken in de meeste gevallen te bestaan uit:

EERSTE VOORBEELD (verder te testen!!)

==Voorstellingen== OF ==Theater/Dans== OF ==Theater / Dans== OF ...
<Inleidende tekst>
{{Overzicht_persoon ... }}
<Verwijzing naar Productiedatabase - in verschillende vormen>
==Bronnen==

Verwijderen van legacy sectie "Voorstellingen" incl sjabloon

In woorden
Zoek een titel die begint met "Voorstellingen" of met "Theater / Dans" (al dan niet met spaties erin) en zoek de eerstvolgende sectie header. Verwijder alle tekst daartussenin.

Met behulp van Speciaal:TekstVervangen:

  • Aanvinken van "Regex"
  • Beperken tot Categorie: Persoon
Zoeken:
((\=\=\s?Voorstellingen)|(\=\=\s?Theater\s?\/\s?Dans)).*\n(.|\n)*?(\=\=)

Vervangen: ==

Opmerkingen

  • NB-1: Door de beperkte "batchgrootte" (250 pagina's) van TekstVervangen zal deze handelingen een (groot) aantal keren achter elkaar herhaald moeten worden...
  • NB-2: Er lijken ook (heel) veel lege secties "Biografie" op persoonspagina's te zijn geplaatst... - deze verstoren de werking van de nieuwe sectie Biografie via het formulier enigszins - ook weghalen??
  • Zie ook: https://regexr.com/6tpfp (oude versie!)

Aanpassingen voor Speciaal:TekstVervangen

DE ONDERSTAANDE REGEX GEBRUIKEN (MAAR EERST "EN VERDER"-VERVANGEN - ZIE HIERONDER

Test 1 
ZOEKEN:
((==\s?Voorstellingen)|(==\s?Theater\s?\/\s?Dans))==((.*\n){1,})=

VERVANGEN:
=
  • UITGEVOERD per 14/15-12-2022


Theater/Dans aan het einde van de pagina

Deze Regex zou moeten werken voor alinea's aan het einde van een pagina (dus zonder volgende sectie-titel). Werkt echter wèl op Regexr.com maar niet op MediaWiki/Tekstvervangen...

==\s?Theater\s?\/\s?Dans\s?==([^=]*\n){1,}$
Restant

Na bovenstaande vervolgactie blijven (tenminste) nog de volgende pagina's met een "Theater/Dans"-sectie over:

Testprocedure - op Test-TE

  1. Ga naar de speciale pagina test:Speciaal:TekstVervangen
  2. Kopieer de hierboven staande zoek-formule in het zoekvenster "Oorspronkelijke tekst:"
  3. Typ of kopieer de vervangende tekst (alleen het =-teken) in het venster "Vervangende tekst:"
  4. Vink het vakje "Reguliere expressies en wildcards gebruiken" aan
  5. Overige opties:
    • Naamruimte kan (onveranderd) op Hoofdnaamruimte blijven staan
    • Categorie: Persoon - Is niet noodzakelijk, maar voor de zekerheid & snelheid wel wenselijk
    • Overige opties kunnen onveranderd blijven
  6. Keuze:
    1. Wil je één pagina testen: vul (het begin van) de paginatitel in bij "Alleen in pagina's met het volgende voorvoegsel vervangen: " en klik op "Doorgaan" - OF
    2. Klik op "Doorgaan" zonder verder iets in te vullen (er wordt nog niet direct iets vervangen!)
  7. CONTROLEER op de vervolgpagina de gevonden pagina's en teksten (!!) - De te vervangen teksten staan - meestal - in het vet aangegeven (in sommige gevallen niet; waarschijnlijk een foutje...)
    • Tip: Wanneer de 'voorvertoning' fouten o.i.d. bevat, kun je met de "pagina terug knop" van de browser teruggaan naar het zoekformulier - de ingevulde waarden blijven dan behouden!
  8. LET OP: Standaard staan alle pagina's geselecteerd om te vervangen; wanneer je maar een paar pagina's wilt testen: Kies onderaan de pagina "Selectie omkeren" en kies vervolgens de te testen pagina's
    • Tip: Kopieer de linkjes van de te testen pagina's (want die zijn zo dadelijk verdwenen... - je kunt ze evt. wel terugvinden bij Recente Wijzigingen)

Aanpassingen voor pagina's met "en verder..." teksten

Onderzoek of het mogelijk is secties-kopjes te maken van "En verder..."-teksten, zoals op:

Voorkomende patronen:

en verder:\n
En verder:\n
en verder:<br/>\n
En verder <br/>	 \n
en verder nog:
En verder een compleet chronologisch overzicht met alle, ook niet g...
En verder betrokken geweest  bij:<br/>
Aantal
Het patroon \n[Ee]n verder komt (op de Test-TE) ca. 90 x voor; handmatige vervanging is mogelijk, maar bewerkelijk. Op de Productie-TE lijkt het aantal overigens niet veel groter te zijn.

Test 1:

Zoeken:
\n[Ee]n verder(:|\.{3,3})?(<br/>)?\n

Vervangen:
\n== En verder... ==\n\n

NB: Werkt ok op de Regexr.com, maar geeft minder dan 90 matches op de Test-TE. Bovendien geeft TekstVervangen GEEN VOORBEELDEN (?) van de te vervangen tekst op de pagina (dus: alleen paginatitels!)

NB2: Op de Test-TE worden wel pagina's geselecteerd, maar géén vervangingen gedaan met bovenstaande regex (??)


Test 2:

Zoeken:
\n[Ee]n verder:?\s?(<br\/>)?

Vervangen:
\n==Daarnaast meegewerkt aan==\n

  • NB1: Vervangende tekst (titel) nog checken of alternatieve titel kiezen
  • NB2: Bovenstaande matcht een groot gedeelte van de pagina's (maar mogelijk niet alle...).
  • NB3: Achteraf controleren op niet vervangen variaties!! (en zo nodig nogmaals z-e-v uitvoeren)
  • NB4: De standaard \n voor newline wordt in MediaWiki niet omgezet naar een nieuwe regel!

Mogelijke oplossing:

  • Toevoegen van een Ascii-karakter: œ sdf
    • maar die voor new line werkt niet:
  • In plaats van == de html code <h2>...</h2> gebruiken.
    • Werkt "normaal" in tekst

VOORBEELD :

lkjsdf

lkjlkj

lajsdjfeaowijfe == TITEL ==

ONDERSTAANDE GEBRUIKEN, NA TESTEN!!!

Test 3:

Omdat het onmogelijk lijkt om een "newline"-karakter meer te geven in de vervangende tekst, kan deze (misschien...) als catch-groep worden meegegeven:

Zoeken1:
(\n)[Ee]n verder:.*\n

Zoeken2:
(\n)[Ee]n verder\n

Zoeken3: 
(\n)[Ee]n verder:?\s?(<br\/>)?

Vervangen:
$1==Daarnaast meegewerkt aan==$1

  • NB1: LIJKT GOED TE WERKEN (Nog verder testen?) - alle pagina's op Test-TE zijn inmiddels vervangen...
  • UITGEVOERD per 14/15-12-2022

Vervallen

verder\.\.\. - werkt niet (komt niet voor!!!)
\.\.\.\s?\n - werkt

OPMERKING: Het lijkt het meest praktisch deze vervanging in een aantal (2-3) z-e-v-slagen achter elkaar uit te voeren.

Vervangen lege Biografie secties

ONDERSTAANDE REGEX GEBRUIKEN

Zoeken: 
==\s?Biografie\s?==((\s*\n){1,})=

Vervangen: =

Categorie:Persoon

Getest via Speciaal:TekstVervangen en lijkt goed te werken.

Nog niet bekend hoeveel lege Bio-secties aanwezig zijn...

  • UITGEVOERD per 14/15-12-2022

Verwijderen disfunctionele protect-tags

In woorden:

Zoek naar <protect> of </protect>, eventueel gevolgd door een "newline" en vervang deze door "niets"

Zoeken:
<\/?protect>\n?

GETEST IN REGEXR; nog niet in MediaWiki
  • NB1: De tag(s) gaan vaak (?) vergezeld van de comment-regel <!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->
  • NB2: De tag(s) komen ook veelvuldig (?) voor op categorie-pagina's met betrekking op de TE:Thesaurus:Thesaurus - zie bijv. Categorie:Gezelschap met code: <protect><type>thesau</type><id>292</id></protect>. Het lijkt verstandig deze tags (voorlopig) te laten bestaan (ze bevatten info over relatie Adlib en categorie-structurering) en apart te vervangen dan wel te verwijderen. DUS: Filteren op "Hoofdnaamruimte" in de REGEX!!

In woorden:

Zoek naar <protect> of </protect>, eventueel gevolgd door een "newline" en/of een comment-regel met newline en vervang deze door "niets"

Test 1:

Zoeken:
<\/?protect>\n?(<!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->\n)?

Test 2:

Zoeken:
(<\/?protect>\n?(<!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->\n)?)

Tevens zoeken:
<!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->\n 

(Vindt wel alle comment-teksten in MediaWiki!)

Test 3:

<\/?protect>\n?<!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->\n
  • Vervangt correct de openings-tag EN de comment regel, maar niet de afsluitende tag
  • (020) Ontwerpers

ONDERSTAANDE REGEX GEBRUIKEN

Test 4: WERKEND

Zoek: 
((<protect>\n?<!-- TIN Waarschuwing: Dit gedeelte van de tekst kunt u niet wijzigen -->\n)|(<\/protect>\n?))
  • Deze REGEX verwijdert zowel opening als afsluitings-tags alsmede de commentline.
  • 75B
  • TO DO: Testen op grotere set pagina's
  • UITGEVOERD per 14/15-12-2022

Corrigeren bestandsverwijzing onbekende afbeelding

In woorden: "Het vervangen van someone.gif, Unknown.png of unkown.png door Someone.gif."


ONDERSTAANDE REGEX GEBRUIKEN

Test 1: Ontwikkeld op regexr.com

Zoeken:
(?:someone\.gif|[Uu]nknown\.png)

Vervangen:
Someone.gif

NB: Alleen toepassen in Hoofdnaamruimte (standaard) de Categorie:Persoon (niet standaard)!!!!

Getest op MediaWiki-pagina's test:A. Alexanders en test:A.G. Steelink; werkt daar correct.

De z-e-v-actie moet waarschijnlijk een keer of 5 herhaald worden om alle pagina's uit de Categorie:Persoon te corrigeren.

  • UITGEVOERD per 14/15-12-2022

Verplaatsen van reeds bestaande Biografie-secties

  • Stap 1: Eerst de lege secties verwijderen en dan vervolgens een inschatting maken van de aantallen ingevulde en kwalitatief goede biografieën.
  • Stap 2: Hoe te werken met korte vs. lange biografie?

N.t.b. of- en zo ja hoe dit nodig is.

Test 1: Regex.com/72uh0 - Pagina: Paul de Leeuw

Zoeken:
{{Persoon((.*|\n)*?)}}((.*|\n)*?)==\s?Biografie\s?==\n((.*|\n)*?)==

Vervangen:
{{Persoon$1|Biografie=$5}}\n$3==

NB: test:Speciaal:TekstVervangen doet héél lang over (alleen) deze zoek-actie. C.q. loopt erop vast...


Test2: Testen 1e onderdeel zoek-en-vervang op test:'H' Patten

{{Persoon((.*|\n)*?)}}" wordt in 1 pagina vervangen door "{{Persoon$1|Biografie=}}".

NB: Werkt correct op genoemde pagina

Test3: Testen 1e & 2e onderdeel zoek-en-vervang

Zoeken:
{{Persoon((.*|\n)*?)}}((.*|\n)*?)==\s?Biografie\s?==

OF:

{{Persoon((.*|\n)*?)}}((.*|\n)*?)==Biografie==

NB: Hiermee wordt het systeem irresponsive...

Gebruiken van extern Script

Om deze zoek-en-vervang-actie uit te voeren is het beter een extern script te gebruiken (zoals eerder voor de aanpassingen van producties is gedaan).

Aanpak (voorstel):

  1. Controleren van Regex in combinatie met het externe script (op de Test-TE)
    1. Controleren van werking Regex op "complexe biografie-teksten" (denk aan: afbeeldingen, sub-kopjes, ...)
    2. Terugdraaien i.c.m. de "bot-user"
  2. Testen op Test-TE
    1. Test-run (op de Test-TE) met ca. 100 pagina's
    2. Testen van "terugdraaien" van ca. 100 pagina's
    3. Volledige (afronding) van Test-run
    4. Testen van "terugdraaien" (?)
  3. Testen op Productie-TE
    1. Beperkt aantal pagina's
    2. Terugdraaien
  4. Volledige run op Productie-TE
  5. Communicatie naar gebruikers

Vervangen van legacy Sjabloon:Infobox_persoon door Sjabloon:Persoon

Behalve het verwijderen van de <protect>...</protect>-tags (zie hierboven) moeten ook de oude (legacy) Infobox_persoon-sjablonen vervangen worden. Dit om te zorgen voor een eenduidige weergave en goede annotatie van de persoonspagina's.

Doelstelling

Vervangen van het oude sjabloon:Infobox_persoon door het actuele sjabloon:persoon, met behoud van de ingevoerde gegevens en het verhelpen van problemen met weergave en/of annotatie ervan.

Inventarisatie


Opbouw infobox oud en nieuw

{{Infobox persoon
| naam           = 
| afbeelding     =
| onderschrift   = 
| citaat         =
| volledige naam = 
| pseudoniem     = 
| bijnaam        = 
| geboren        = 
| overleden      = 
| land           = 
| beroep         = 
| jaren-actief   = 
| genre          = 
| stroming       = 
| invloeden      = 
| bekende-werken = 
| uitgeverij     = 
| dbnl           = 
| imdb           = 
| ibdb           = 
| website        = 
| adlib          = 
}}
{{Persoon
|Paginatitel=
|Naam=
|Geslacht=
|Afbeelding=
|Onderschrift afbeelding=
|Citaat=
|Volledige naam=
|Pseudoniem=
|Bijnaam=
|Geboortedatum=
|Geboorteplaats=
|Overlijdensdatum=
|Overlijdensplaats=
|Beroep=
|Discipline=
|Trefwoorden=
|DBNL=
|IMDB=
|IBDB=
|VIAF=
|RKD=
|Website=
|qnummer=
|Adlib=
|ELLT=
|Theaterkrant=
}}

Matching

Oud Nieuw
naam Naam
afbeelding Afbeelding
onderschrift Onderschrift afbeelding
citaat Citaat
volledige naam Volledige naam
pseudoniem Pseudoniem
bijnaam Bijnaam
geboren Ander format! - voorlopig: Geboorteplaats
overleden Ander format! - voorlopig: Overlijdensplaats
land GEEN MATCH; Naar Trefwoord
beroep Beroep
jaren-actief GEEN MATCH
genre Trefwoord
stroming GEEN MATCH; Trefwoord
invloeden GEEN MATCH; Trefwoord
bekende-werken GEEN MATCH; Trefwoord
uitgeverij GEEN MATCH; Trefwoord
dbnl DBNL
imdb IMDB
ibdb IBDB
website Website
adlib Adlib

Tools

Door de complexiteit en de omvang van deze actie voldoet Speciaal:TekstVervangen niet en is het nodig e.e.a. via een externe script te vervangen.

Ontwikkeling: https://regexr.com/


Aanpak & Regex

De aanpak zal vergelijkbaar (maar eenvoudiger) zijn als bij het bijwerken van productiepagina's

Zie voor de gebruikte Regex ook op TE:Ontologie_van_de_TheaterEncyclopedie/Realisatie/Ontwikkeling_en_testen_voor_TekstVervangen

Plan van Aanpak

  1. Voorbereidingen
    • Ontwikkeling+testen op Regexr.com
      • Toevoegen van juiste "toewijzingen"/"verplaatsingen" van sjabloon-parameters
    • Nieuwe bot-gebruiker, bijv. Gebruiker:InfoboxBot
      • Optioneel: nieuwe bot-gebruiker om bewerkingen "te verzamelen" (oude bot-gebruiker verwijderen, bewerkingen toekennen aan "Gebruiker:VerzamelBot"
    • Voorstel: Nieuwe Categorie:LegacySjabloon t.b.v. script (toewijzingen in Sjabloon:Infobox_persoon) - VERVALLEN - aangepast script (met lijst)
    • Aanpassingen in scripts doorvoeren
      • Notitie: Categorie toevoegen van bewerkte pagina's (t.b.v. vervolg / nabewerkingen) - (BM: Niet nodig door gebruik van lijst?)
  2. Testen op Test-TE (of direct Productie-TE)
    • Dry-run van het script
    • Test-run (op de Test-TE) met ca. 100 pagina's
    • Controle + bepalen benodigde nabewerkingen
      • Bijv. Overlijden splitsen in Overlijdensplaats en -datum, idem voor Geboorte (zie hieronder)
  3. Uitvoeren op Productie-TE
    • Volledige run op Productie-TE
  4. Communicatie naar gebruikers
  5. De nodige nabewerkingen ontwikkelen en uitvoeren:
    1. Splitsen format van Overlijden [[plaats]], [[datum]] [[jaar]] naar velden Overlijdensdatum en Overlijdensplaats (zonder vierkante haken)
    2. Idem voor Geboren
    3. Corrigeren van format Trefwoorden (opeenvolgende puntkomma's en puntkomma's aan het eind/begin verwijderen)
    4. Verwijderen vierkante haken en categorie-verwijzingen veld Beroep
    5. Verwijderen vierkante haken op andere plaatsen
    6. Zie ook: TE:Eenduidig_gebruik_Infobox_sjablonen/Fase_1 voor de diverse problemen met invulling velden

Regexr.com

Twee opties voor de aanpak zijn mogelijk:

  1. Met behulp van 1 enkele zoek-en-vervang-actie alle sjablonen vervangen
  2. Met behulp van een serie zoek-en-vervang-acties telkens 1-enkele regel vervangen

Voorbeelden Regex:

  1. Infobox persoon ineens vervangen door Persoon: https://regexr.com/797og (legacy: https://regexr.com/794pt, https://regexr.com/78nha , https://regexr.com/78m7g, https://regexr.com/74cpp)
  2. Per regel aanpak:
    1. Infobox persoon per rij vervangen door Persoon: https://regexr.com/74crc
    2. Infobox persoon sjabloon-aanroep vervangen: https://regexr.com/74ct5


Niet gematcht veld: "jaren-actief ="

Handmatig te controleren/bij te werken

Nabewerkingen

Na de eerste omzetting van Infobox_persoon naar Persoon, blijven de volgende "invoer-fouten" bestaan:

Geboortedatum en -plaats

| Geboortedatum=
| Geboorteplaats= [[Keulen]],  [[16 december]] [[1899]]

| Geboortedatum=
| Geboorteplaats= 19 september 1948

| Geboortedatum=
| Geboorteplaats=   [[1913]]
  • De eerste variant is goed automatisch te corrigeren: zie https://regexr.com/797c4
  • Nabewerking (voor de eerste variant) uitgevoerd (28/3, ca. 11:00u) - slechts beperkt resultaat (<10) - Bmulckhu (overleg) 28 mrt 2023 13:53 (CEST)
  • Overige varianten... handmatig?
    • Poging om pagina's te "vinden": https://regexr.com/7b5t1 - probleem met ASCII-code "& # 160;" - een "Non-breaking space" (vs. ASCII-nr. 32 - de normale spatie)
    • AANGEPASTE REGEX: https://regexr.com/7b5t1 (bruikbaar via Speciaal:TekstVervangen) - zie verder handmatige controle hieronder.


Handmatig nog te corrigeren:

Overlijdensdatum en -plaats

| Overlijdensdatum=
| Overlijdensplaats= [['s-Gravenhage]],  [[3 februari]] [[1983]]
  • Idem (vrijwel) als boven
  • Nabewerking (voor de eerste variant) uitgevoerd (28/3, ca. 16:30u = 14:30 serveertijd) - slechts beperkt resultaat (<10) - Bmulckhu (overleg) 28 mrt 2023 16:33 (CEST)
  • Geen handmatige nabewerkingen nodig/gevonden... - Bmulckhu (overleg) 30 mrt 2023 15:18 (CEST)

Beroep

| beroep          = [[:Category:pantomimespeler|pantomimespeler]]

| beroep         = [[letterkundige]]
  • Nabewerking is uitgevoerd (29/3, ca. 10:45u of 8:45u servertijd) - NB in deze run werd alleen de 1e notatie van een beroep opgeschoond (nog niet de evt. 2e notatie!) - Bmulckhu (overleg) 29 mrt 2023 10:53 (CEST)
  • Nabewerking - 2e run is diezelfde dag uitgevoerd (29/3) - Bmulckhu (overleg) 29 mrt 2023 17:06 (CEST)

Verwijderen "lege" trefwoorden

| Trefwoorden= ; ;Nederland; ; trefwoord; trefwoord2; ; 
  • Verwijderen van dubbele puntkomma's, als ook puntkomma aan het begin of het eind (die laatste gaat nog niet goed...) - https://regexr.com/797st
  • Bovenstaande versie verwijdert ook allenewlines; dit is de aangepaste en verbeterde versie (nog testen!): https://regexr.com/7anfd
  • Deze nabewerking is uitgevoerd (productie-TE) op maandag 27 maart 2023 - Bmulckhu (overleg) 27 mrt 2023 10:52 (CEST)

Handmatig te controleren/bij te werken

Sjabloon:Nl vervangen door de tekst "Nederland"

| land           = {{NL}}
  • Dit is inmiddels getest en uitgevoerd (ca. 20 pagina's) - Bmulckhu (overleg) 15 mrt 2023 11:02 (CET)

Lege afbeeldingsvelden

  • Vullen met Someone.gif OF
  • Sjabloon:Box/portretfoto aanpassen, zodat de pop-up wordt weergegeven wanneer het veld leeg is
    • Dit laatste is getest en inmiddels geïmplementeerd - Bmulckhu (overleg) 15 mrt 2023 11:02 (CET)