TheaterEncyclopedie:Ontologie van de TheaterEncyclopedie/Realisatie/Ontwikkeling en testen voor TekstVervangen
Op deze pagina is de ontwikkeling van de opdrachten voor TekstVervangen (en replaceAll.php) gedocumenteerd. Deze opdrachten maken deel uit van het project voor het bijwerken van de Productiepagina's in het kader van de invoering van de eigenschappen voor Realisatie ter vervanging van categorieën.
Zie ook het plan voor het bijwerken van de productiepagina's en de ACTIEPUNTEN.
Documentatie van TekstVervangen / ReplaceText en replaceAll.php
Benodigde opdrachten
Inventarisatie van benodigde zoek-en-vervangopdrachten
- Plaatsen van sjabloon:Productiepagina_realisatie op:
- Op pagina's met sjabloon:Productie
- Op pagina's met sjabloon:Infobox productie
- Overnemen van categorie informatie in sjabloon:
- Category:Producties <producent> : check redundantie infobox (Let op: hier Producties i.p.v. Productie)
- BESLUIT: deze wordt meegenomen in de omzetting; zie ook deze discussie
- Category:Premieres <theater> : check redundantie infobox (Let op: categorie:Premiere (zonder "s") komt niet voor)
- BESLUIT: Deze categorie blijft ongewijzigd (want valt buiten de scope van "realisatie productie"); dubbelingen moet evt. later worden opgelost
- Category:Producties <producent> : check redundantie infobox (Let op: hier Producties i.p.v. Productie)
- Categorie:Auteur <naam van persoon>
- Categorie:Vertaling <naam van persoon>
- Categorie:Regie <naam van persoon>
- Categorie:Dramaturgie <naam van persoon>
- Categorie:Choreografie <naam van persoon>
- Categorie:Decor <naam van persoon>
- Categorie:Kostuums <naam van persoon>
- Categorie:Productie <naam van persoon>
- Categorie:Fotografie <naam van persoon>
- Categorie:Licht <naam van persoon>
- Categorie:Uitvoerende <naam van persoon>
- Categorie:Muziek <naam van persoon>
- Categorie:Muzikale leiding <naam van persoon>
- Categorie:Uitvoering muziek <naam van persoon>
- Categorie:Dirigent <naam van persoon>
- Categorie:Instudering <naam van persoon>
- Categorie:Mimografie <naam van persoon>
- Categorie:Poppen <naam van persoon>
- Categorie:Grime <naam van persoon>
- Categorie:Kapwerk <naam van persoon>
- Categorie:Audiovisueel ontwerp <naam van persoon>
- Categorie:Bewerking <naam van persoon>
- zie ook lijst; op basis van deze lijst zijn de volgende categorieën (en eigenschappen) toegevoegd
- Categorie:Naar ... van <naam van persoon>
- Categorie:Arrangementen <naam van persoon>
- Categorie:Uitvoerende dans <naam van persoon>
- Categorie:Uitvoerende mime <naam van persoon>
- Categorie:Presentatie <naam van persoon>
- Categorie:Uitvoerende spel <naam van persoon>
- Categorie:Uitvoerende zang <naam van persoon>
- Categorie:Samenstelling <naam van persoon>
- Categorie:Uitvoerende stem <naam van persoon>
- Categorie:Geluid <naam van persoon>
- Categorie:Liedteksten <naam van persoon>
- Categorie:Maskers <naam van persoon>
- Categorie:Uitv. poppenspel <naam van persoon>
- Categorie:Begeleiding <naam van persoon>
- Verwijderen van categorie informatie van pagina's (indien sjabloon aanwezig)
- Category:regie <naam>
- Category:...
- ...
- zie lijst
De lijst zoals die zal worden gebruikt is te vinden in Test:Sjabloon: Productiepagina rij uitvoerenden:
- Naam variabele in sjabloon
- Eigenschap
- Categorienaam
Voorbeelden Zoek-en-vervang opdrachten voor:
- Het toevoegen van wikitekst van het sjabloon:Productiepagina_realisatie onder het sjabloon:Productie
- Het vervangen van een categorie:uitvoerende_naam door een veld in een sjabloon.
Samenstellen van test-set
Het is mogelijk om in https://RegExr.com een serie tests uit te voeren om zoek-patronen te valideren (passed / failed). Hoewel deze test niet garandeert dat de uitkomst (met vervangende tekst) ook correct zal zijn, geeft het wel een goede indicatie of de zoekopdracht correct werkt.
Het lijkt erop dat de test-pagina's gekoppeld zijn aan een enkel Regex-patroon, wat het testen van alle patronen met dezelfde test-set bemoeilijkt (nog uitzoeken).
Op de Inventarisatie pagina is een lijst met ca. veertig willekeurig geselecteerde Productiepagina's te vinden, die als test-set gebruikt kan worden. Transclusie van deze lijst:
- Lohengrin - Wagnervereeniging - 1936-05-07: Tinbot, Tuja van den Berg, Siang, Milcof, ProjectP,
- Cavalleria rusticana - Stichting De Nederlandse Opera - 1951-08-31: Ad Aerts, Tinbot, Siang, Milcof, ProjectP,
- A Couple Chicks Sitting Around Talking - American Repertory Theatre (Amsterdam) - 1984-08-15: Tinbot, ProjectP,
- Straatact - Mooi Weer Spelen - 1990-06-10: Tinbot, Siang, Milcof, Keees, ProjectP,
- Fin de partie - Théâtre d' Aujourd'hui - 1958-06-21: Ad Aerts, Siang, Milcof, ProjectP, Eva van der Weerd 3, Willemdekoe,
- Tannhäuser - Nederlandsche Opera - 1901-09-01: Tinbot, Siang, AB1938, Milcof, ProjectP,
- De troep: deel 2 Doornroosje - Kunstwerf Malschaert Maastricht Sirkel - 1988-01-15: Ad Aerts, Tinbot, ProjectP,
- De drie stuivers opera (Drei Groschen Oper) - Oost-Nederlandsch Tooneel - 1929-10-02:
- De lach der Goden - N.V. Vereenigd Rotterdamsch-Hofstad Tooneel - 1938-02-11:
- Assepoesters Assepesters - Stichting Het Laagland - 2019-03-28: Tinbot, Siang, ProjectP,
- Das Land des Lächelns - Deutsches Theater in den Niederlanden - 1943-05-18: Tinbot, Tuja van den Berg, Siang, AB1938, Milcof, ProjectP,
- Orpheus - Nederlandsche Opera - 1902-10-14: Tinbot, Siang, AB1938, Milcof, ProjectP,
- Aida - Hoogduitsche Opera - 1886-09-22: Siang, AB1938, Milcof, ProjectP,
- De appel - Het Ruys Ensemble - 1925-10-21: Tinbot, AB1938, ProjectP,
- Me and Stalin - - 2014-01-22: Ad Aerts, Tinbot, Milcof, ProjectP,
- Thaïs - Théâtre Royal Français de la Haye - 1910-10-15: Tinbot, Siang, Milcof, ProjectP,
- De vrouw in Crêpe de Chine! - Gelegenheidscombinaties - 1936-05-23: Tinbot, AB1938, ProjectP,
- Carmen - Nationale Opera N.V. - 1920-12-02: Tinbot, Siang, Milcof, ProjectP,
- Exegese_-_Holland_Festival_-_1974-06-20: Ad Aerts, Tinbot, Siang, ProjectP, Christiannespigt,
- Lalla Rookh - Korzo producties - 2015-02-05: Ad Aerts, Tinbot, ProjectP,
- Films en videobanden van stukken van Heiner Müller - Producent onbekend - 1983-05-28: Tinbot, ProjectP,
- Leef! - SoloǀStories - 2016-01-14: Tinbot, Tuja van den Berg, ProjectP, Christiannespigt,
- Stella - Neil Bartlett - 2016-06-20: Tinbot, ProjectP, Christiannespigt,
- De Tovenaar van Oz - Nationaal Jeugd Musical Theater - 2013-10-05: Tuja van den Berg, AB1938, Milcof, ProjectP,
- Suite voor twee dansers - Amsterdams Ballet - 1961-01-05: Tinbot, Siang, ProjectP,
- Invasion! - Frascati Producties - 2011-04-14: Tinbot, Milcof, ProjectP, Christiannespigt,
- Tijdgravers - - 2018-12-01: Tinbot, ProjectP, Christiannespigt,
- Momentum - Art Buro Limburg - 2009-09-26: Tinbot, Siang, ProjectP,
- Son - Akkersenvelden - 2014-02-20: Tuja van den Berg, AB1938, ProjectP, Christiannespigt,
- Als_opa_uit_vissen_gaat_-_Jeugdtheaterfestival_Polanentheater_-_1990-12-29: Tinbot, Siang, ProjectP,
- In wankel evenwicht - Stichting Het Hof - 2012-02-04: Tuja van den Berg, AB1938, ProjectP, Eva van der Weerd 3, Willemdekoe, Christiannespigt,
- Hollandse luchten III- De radicalisering van Sadettin K. - Frascati Producties - 2015-10-02: Tinbot, Milcof, ProjectP, Christiannespigt,
- Kopenhagen_Culturele_Hoofdstad_van_Europa_-_Warner_&_Consorten_-_1996-09-06: Tinbot, ProjectP,
- Slingerland_III_-_Holland_Festival_-_1990-06-25: Tinbot, Siang, ProjectP,
- Suite voor twee dansers - Amsterdams Ballet - 1961-01-05: Tinbot, Siang, ProjectP,
- De troep: deel 2 Doornroosje - Kunstwerf Malschaert Maastricht Sirkel - 1988-01-15: Ad Aerts, Tinbot, ProjectP,
- Van hier naar daar - Het Veem Theater - 1995-09-22:
- Een echtgenoot, die vacantie neemt! - o.l.v. Van Lier Hollandsch Tooneelgezelschap - 1889-06-13:
- Why Are You - De KISS moves - 2015-09-25: Tinbot, Siang, ProjectP,
Track and trace
Om een test-set van pagina's te definiëren is het 't meest praktisch deze pagina's in een categorie te plaatsen. Het plaatsen van deze categorie-toewijzing moet willekeurig zijn, en dit kan eigenlijk alleen handmatig.
- Bijvoorbeeld:
[[Categorie:Testset 1]]
- Categorie-toewijzing kan geplaatst worden op bovenstaande (40) pagina's
- Opmerking: Dat is niet handig, want dit zijn pagina's op de productieomgeving van de TE, terwijl ze nodig zijn op Test-TE.
- Deze test-set kan via test:Speciaal:WillekeurigeUitCategorie/Productie worden aangemaakt/uitgebreid
- Voor huidige status, zie: test:Categorie:Testset 1
Om het proces van aanpassingen te kunnen volgen en controleren is het nuttig, wanneer aangepaste pagina's een of meer kenmerken krijgen. Al naar gelang de stappen in het proces kunnen deze kenmerken zijn:
- Sjabloon:Productiepagina realisatie toegevoegd
- Categorieën bijgewerkt
- Redundante categorieën verwijderd
De pagina Speciaal:TekstVervangen voorziet niet in het toevoegen van dit soort informatie. Om toch controle over het proces te houden, kunnen de volgende maatregelen worden getroffen:
- Toevoegen van wikitekst
[[categorie:PR-fase1]]
bij het plaatsen van het sjabloon- Eventueel splitsen voor pagina's met sjabloon:infobox productie en het nieuwere sjabloon:productie
- Toevoegen van wikitekst
[[categorie:PR-fase2]]
bij het verplaatsen van de categorieën naar het sjabloon - Toevoegen van wikitekst
[[categorie:PR-fase3]]
bij het verwijderen van de categorieën uit de vrije tekst
Als extra maatregel kan worden overwogen:
- Een speciale gebruiker aanmaken voor het doorvoeren van de wijzigingen; daarmee zijn de wijzigingen eenvoudiger uit de edit-log te filteren
Op deze manier kan achteraf bijvoorbeeld gecontroleerd worden of alle pagina's de drie stappen hebben doorlopen en welke pagina's wellicht een stap hebben gemist.
Mogelijk alternatief (nog uitzoeken): edit labels of tags toevoegen: kan dat?
Meervoudig voorkomende rollen - "multiple instances"
Categorieën in het domein van de productierealisatie kunnen meer dan eens voorkomen; het is immers mogelijk dat een rol door meer mensen wordt ingevuld. Met name de "algemene" rol van uitvoerende kan in grote getale voorkomen op een enkele productiepagina:
- Romeo en Julia (nieuwe versie) (HNB) - 230/309 uitvoerenden
- The Sleeping Beauty (HNB) - 159/243 uitvoerenden
- Soldaat van Oranje - 126/138 uitvoerenden
- Notenkraker en muizenkoning (HNB) - 96/178 uitvoerenden
- Don Quichot (HNB) - 84/85 uitvoerenden
- La bayadère (HNB) - 80/148 uitvoerenden
De twee getallen geven aanL zichtbaar op pagina/zichtbaar in de edit. Het aantal categorietoewijzingen, dat zichtbaar is in de edit-modus, kan groter zijn als het gevolg van dubbelingen.
Het is in principe mogelijk ook deze grote aantallen met zoek-en-vervang om te zetten naar het gewenste formaat. Omdat het slechts een beperkt aantal pagina's betreft is het naar verwachting geen "zware belasting". Dit onder voorbehoud dat de opeenvolgende zoek-en-vervang acties in een script kunnen worden geplaatst. De vraag rijst wel of dit script eventueel dergelijke zoek-en-vervang acties programmatisch zou kunnen afhandelen (bijv. een loop-opdracht).
- NB: Het voorkomen van meerdere 'uitvoerenden' binnen één productie is natuurlijk niet iets van beperkte mate. Bij verreweg de meeste producties staat er meer dan één iemand op het toneel (m.u.v. veel cabaret en enkele solovoorstellingen). Bovengenoemde grote aantallen van meer dan 80 mensen zijn wel uitzonderlijk (Milcof (overleg) 5 nov 2020 09:01 (CET))
Opmerkingen:
- De bovenstaande pagina's zijn opgenomen in de test:Categorie:Testset 1
- Het overnemen van dubbele categorie-toewijzingen is (natuurlijk) niet zinvol, maar het is ook niet problematisch.
Lijst met pagina's op Test-TE voor proefset
Door Gebruiker:Milcof.
Als het voor de efficiëntie ergens anders geplaatst moet worden, bijv. op de Test-TE zelf, laat het gerust weten. De voorstellingen zijn gecontroleerd d.m.v. ?action=history erachter te typen. Zodra daaruit bleek dat alleen Tinbot de bewerker is, is de voorstelling toegevoegd aan onderstaande lijst.
Hieronder alvast een eerste lijst (op dit moment 76 producties); wordt later nog aangevuld.
- West Side Story 1988
- Cats 1992
- My Fair Lady 1986
- The Phantom of the Opera 1993
- Saturday Night Fever 2001
- A Little Night Music 2001
- Bongo Bongo Nageela 2005
- Chess 1994
- Chicago 1990
- The Hired Man 2001
- Het Zwanenmeer 2009
- Rigoletto 2017
- The Tempest 2011
- Weltatem 2016
- The Fairy Queen 2014
- Pulcinella 1987
- Match Show 1986
- The Sound of Music 2008
- Annie 2005
- Dirty Dancing 2008
- We Will Rock You 2010
- A Chorus Line 2001
- 42nd Street 2000
- Zorro 2011
- Sunset Boulevard 2008
- Oliver! 1999
- De dood en het meisje 1989
- Jovenes en ritmo 1998
- Central station 1994
- CelebrAGE 2011
- Giselle 2001
- Geen zwanen meer 2005
- Barok 1997
- Doorn...Roosje? 2003
- Walk of fame 2010
- Pictures on Stravinsky 2008
- Three Pieces 2009
- The Dream King 1987
- Maximiliana or the... 1993
- Messiah 1988
- Romy & July 1998
- Le sacre du printemps 2011
- Fame 2007
- Fame 1999
- Footloose 2009
- Daddy Cool 2011
- Kunt u mij de weg naar Hamelen vertellen meneer 2003
- Hello Dolly 1992
- Hello Dolly 2004
- La cage aux folles 1995
- Ja zuster nee zuster 2009
- Monty Python's Spamalot 2011
- Tita Tovenaar 2005
- Dokter Dolittle 2010
- On Your Feet 2017
- Man van La Mancha 2008
- Man van La Mancha 1993
- Wat zien ik 2006
- Op hoop van zegen 2008
- The Full Monty 2009
- Volendam de musical 2010
- De Zangeres Zonder Naam 2011
- De Jantjes 2012
- Aida 2001
- All Shook Up 2009
- Anatevka 1998
- Blood Brothers 1998
- Crazy for you 2004
- Droomvlucht 2011
- Passion 2004
- Musicals in concert II 2001
- Musicals in concert 2 2004
- Musicals in concert 2001
- Musicals in Ahoy 2004
- Angels in America 2011
- Angels in America I 1995
Vervangingstekst - plaatsen van sjablooninfo
Deze tekst wordt (zowel door tinbot als de regex-zoek-en-vervangopdrachten geplaatst; tinbot plaatst ook veldinhoud):
{{Productie extra info |gebaseerdop= |tcs=Nee }} {{Productiepagina realisatie |uitvoerende= |productie= |auteur= |vertaling= |muziek= |choreografie= |decor= |regie= |kostuums= |licht= |grime= |kapwerk= |grimekapwerk= |audiovisueelontwerp= |bewerking= |dirigent= |dramaturgie= |fotografie= |instudering= |mimografie= |muzikaleleiding= |poppen= |muzikaleuitvoering= |arrangementen= |bedachtnaar= |begeleiding= |uitvoerendedans= |uitvoerendemime= |uitvoerendepoppenspel= |presentatie= |uitvoerendespel= |uitvoerendestem= |uitvoerendezang= |samenstelling= |geluid= |liedteksten= |maskers= |rolverdeling= }}
NB: Wijzigingen d.d. 19-11-2020
- parameter "grime" toegevoegd (reeds in sjabloon)
- parameter "kapwerk" toegevoegd (reeds in sjabloon)
- parameter "creatives" aangepast in "team" (nog door te voeren in test:sjabloon:productiepagina_realisatie)
NB: Wijziging d.d. 25-11-2020
- parameter "team" komt te vervallen
Opmerkingen bij het gebruik van het shell script "replaceAll.php"
Regex aanpassingen
Het gebruik van regex in combinatie met het replaceAll.php
script vereist enkele aanpassingen:
- Het gebruik van
{
of{{
voor het vinden van sjablonen is gewoon mogelijk via de Special:ReplaceTekst, maar niet rechtstreeks via het script:- Gebruik in het shell script:
\\{\\{
(dubbele escapes!!)
- Gebruik in het shell script:
- Het gebruik van
$
is gewoon mogelijk via de Special:ReplaceTekst, maar niet rechtstreeks via het shell script- Gebruik in het shell script:
\$
- Gebruik in het shell script:
Zie ook: deze forum post
Filteren op category
- Niet in standaard documentatie genoemd...
- "by-category" genoemd in in version history
php replaceAll.php --help
checken op meer info
Replacements bestand
Omdat er in dit project veel vervangingsacties nodig zijn, is het waarschijnlijk efficiënt om de verschillende acties in een opdracht-file te verzamelen. Het bestandsformaat is TSV; zie documentatie
Opvragen bestandsformaat:
php replaceAll.php --replacements
Gebruiker toewijzen
Om de wijzingen te kunnen volgen is het praktisch een speciale (bot)-gebruiker toe voegen op zowel de productie- als de test-TE. Aanvulling in LocalSettings.php:
$wgReplaceTextUser = "project";
Uitgevoerde testen voor PR-fase2 (vervangen categorieën)
Als eerste zijn de bovengenoemde "lange pagina's" (pagina's met veel uitvoerenden) onderzocht op verschillen. Bij een aantal pagina's zijn verschillen geconstateerd. De oorzaak hiervan is:
- 1 verschil op de pagina dev:Romeo en Julia (nieuwe versie) - Het Nationale Ballet - 1974-12-19
- Afwijking in het aantal uitvoerenden 1 verschil: 220 categorieën; 219 eigenschappen.
- Extra categorie = dev:Categorie:Uitvoerende_Kerry_Szuch Categorie:Uitvoerende Kerry Szuch. Kerry Szuch is de schrijfwijze bij de rolverdeling. Echter: bij de categorie is ook Categorie:Uitvoerende Kerrie Szuch toegevoegd (met ie ipv y). Deze schrijfwijze is wel als eigenschap te zien.
- De naamgeving in de "categorie:uitvoerende ...." is leidend en wordt overgezet (naar rolverdeling wordt niet gekeken); Tevens is er een REDIRECT van dev:Kerry Szuch naar dev:Kerrie Szuch en zijn ze semantisch dus identiek (met voorkeur Kerrie Szuch). Dit is dus technisch correct gebeurd.
- Verder opvallend: Categorie:Uitvoerende Caroline Iura is als eigenschap: Caroline Sayo Iura geworden.
- Dit is het gevolg van een doorverwijzing (REDIRECT) op de pagina Carolina Iura; SMW ziet dit als een "alias/correct" en pakt automatisch de "doorverwijzing" mee.
- Extra categorie = dev:Categorie:Uitvoerende_Kerry_Szuch Categorie:Uitvoerende Kerry Szuch. Kerry Szuch is de schrijfwijze bij de rolverdeling. Echter: bij de categorie is ook Categorie:Uitvoerende Kerrie Szuch toegevoegd (met ie ipv y). Deze schrijfwijze is wel als eigenschap te zien.
- Afwijking in het aantal uitvoerenden 1 verschil: 220 categorieën; 219 eigenschappen.
--> HB: Kerry Szuch en Kerrie Szuch kunnen technisch gezien 2 verschillende personen zijn. Dus worden ook apart toegevoegd. Als dit een probleem is, moeten we hierover brainstormen.
- --> BM:Vanwege de REDIRECT is deze verwijzing ook juist verwerkt. (de naam Kerry is "blijkbaar" niet goed, leid ik af uit de doorverwijzing).
In de broncode is de categorie Caroline Iura ook Caroline Iura in de eigenschap. De vertaling ervan door MediaWiki voor de gebruiker resulteert in de doorverwijzing. Het script doet dit dus goed. Heidib (overleg) 3 mrt 2021 12:19 (CET)
- 1 verschil op de pagina dev:The Sleeping Beauty - Het Nationale Ballet - 1981-07-02 (https://dev.theaterencyclopedie.nl/wiki/The_Sleeping_Beauty_-_Het_Nationale_Ballet_-_1981-07-02)
- Afwijking in het aantal uitvoerenden 1 verschil: 159 categorieën; 218 eigenschappen.
- Als categorie zowel Caroline Sayo Iura als Caroline Iura. Als eigenschap alleen Caroline Sayo Iura.
- Afwijking in het aantal uitvoerenden 1 verschil: 159 categorieën; 218 eigenschappen.
--> In de broncode staan ook voor de eigenschap beide namen. Alleen doet de MediaWiki pagina een doorverwijzing. Zie broncode. Het script voegt beide toe in de eigenschap omdat beide in de categorie voorkomen. In de broncode zijn voor beide 159 unieke resultaten te vinden. Heidib (overleg) 3 mrt 2021 12:27 (CET)
- dev:Notenkraker_en_muizenkoning_-_Het_Nationale_Ballet_-_1996-12-13#Bronnen: 97 uitvoerenden; geen verschillend (https://dev.theaterencyclopedie.nl/wiki/Notenkraker_en_muizenkoning_-_Het_Nationale_Ballet_-_1996-12-13#Bronnen)
- dev:Soldaat_van_Oranje_-_NEW_Productions_B.V._-_2010-10-30 126 uitvoerenden; geen verschillend (https://dev.theaterencyclopedie.nl/wiki/Soldaat_van_Oranje_-_NEW_Productions_B.V._-_2010-10-30)
- dev:Don_Quichot_-_Het_Nationale_Ballet_-_2010-02-13: 84 uitvoerenden; geen verschillen (https://dev.theaterencyclopedie.nl/wiki/Don_Quichot_-_Het_Nationale_Ballet_-_2010-02-13)
- dev:La_bayadère_-_Het_Nationale_Ballet_-_2007-02-15: 80 uitvoerenden; geen verschillen (https://dev.theaterencyclopedie.nl/wiki/La_bayadère_-_Het_Nationale_Ballet_-_2007-02-15)
Categorie:uitvoerenden-testen
Als tweede test geldt het controleren van het aantal producties waaraan een persoon heeft gewerkt:
- dev:Categorie: Uitvoerende Elise van Biene: 14 producties; geen verschillen
- dev:Categorie:Uitvoerende_Marlies_Hamelynck: 86 producties; geen verschillen
- dev:Categorie:Uitvoerende_Pauline_Roelants: 29 producties, geen verschillen
- dev:Categorie:Uitvoerende_Marjolein_Vogels : 22 producties, geen verschillen
- dev:Categorie:Uitvoerende_Gijs_Scholten_van_Aschat: 89 producties, geen verschillen
- dev:Categorie:Uitvoerende_Simone_Kleinsma: 35 producties, geen verschillen
- dev:Categorie:Uitvoerende_Pierre_Bokma: 97 producties, geen verschillen
- dev:Categorie:Uitvoerende_Igone_de_Jongh: 66 producties, geen verschillen
- dev:Categorie:Uitvoerende_Louis_Bouwmeester_sr. en dev:Categorie:Uitvoerende_Louis_Bouwmeester: 194 producties in de eigenschappen, verschillen: 48 categorieën voor Louis Bouwmeester en 147 categorieën voor Louis Bouwmeester sr., welke een REDIRECT heeft naar Louis Bouwmeester. Waarschijnlijk zijn beide categorieën samengevoegd in deze eigenschap. (en is er waarschijnlijk 1 dubbele, want 147+48=195)
- dev:Categorie:Uitvoerende_Beppie_Nooy_sr., dev:Categorie:Uitvoerende_Beppie_Blaaser en dev:Zeemansvrouwen_-_Gelegenheidscombinaties_-_1929-05-13: 32 producties in eigenschappen, verschillen: 23 categorieën voor Beppie Nooy sr. en 11 categorieën voor Beppie Blaaser. Beppie Nooy sr. heeft REDIRECT naar Beppie Blaaser. 23+11=34, maar één productiepagina heeft beide namen, dus het zouden er 33 moeten zijn. Pagina Zeemansvrouwen heeft hij niet goed omgezet; deze mist in het overzicht.
- BM: @Heidi: Op de pagina dev:Zeemansvrouwen_-_Gelegenheidscombinaties_-_1929-05-13 staat bij de geskippte categorieën tussen "Category:" en "uitvoerende..." een SPATIE!; Deze wordt niet goed verwerkt door de Regex. Er mogen in principe zelf 1 of meer spaties voorkomen. Hetzelfde geldt ook voor en na de vierkante haken. Dit kan bij handmatige toevoegingen vaker zijn ontstaan.
- BM: @Heidi: In de <naam> achter "categorie:uitvoerende " kan behalve karakters uit het alfabet ook leestekens voorkomen. Het gaat hier in dit geval iig om een "punt". Ik kan me voorstellen dat er ook "liggende streepjes" (-) en "komma's" en "apostroffen" e.d. kunnen voorkomen. Dit moet de Regex dus ook gaan afvangen...
- BM: Bij nader inzien is deze laatste opmerking waarschijnlijk irrelevant. Vgm. gaat het nu ook al goed...
--> Met de spaties was inderdaad geen rekening gehouden. Goed gevonden! Andere leestekens wel, hij zoekt naar alles behalve line breaks (.*) Heidib (overleg) 3 mrt 2021 12:45 (CET) --> Script heeft, aangepast, opnieuw gelopen op deze pagina. Heidib (overleg) 3 mrt 2021 12:59 (CET)
- dev:Categorie:Uitvoerende_Han_Ebbelaar: 89 eig./90 cat. producties, 1 verschil: dev:Eurydice_-_Nederlands_Dans_Theater_-_1962-01-16 is niet meegenomen.
--> Categorieen achter elkaar gescheiden met een komma werkten ook niet zoals zou moeten. Is aangepast en heeft opnieuw gelopen voor deze pagina. Goed gevonden! Heidib (overleg) 3 mrt 2021 15:21 (CET)
- dev:Categorie:Uitvoerende_Alexandra_Radius: 119 producties, geen verschillen
- dev:Categorie:Uitvoerende_Wim_Sonneveld: 58 producties, geen verschillen
- dev:Categorie:Uitvoerende_Jos_Brink: 26 producties, geen verschillen
- dev:Categorie:Uitvoerende_Albert_van_Dalsum: 167 producties, geen verschillen
- dev:Categorie:Uitvoerende_Freek_de_Jonge: 117 producties, geen verschillen
- dev:Categorie:Uitvoerende_Conny_Stuart: 45 producties, geen verschillen
- dev:Categorie:Uitvoerende_André_van_Duin: 18 producties, geen verschillen
- dev:Categorie:Uitvoerende_Ank_van_der_Moer: 147 eig./150 cat. producties, 3 verschillen. Niet meegekomen zijn: dev:Brand_in_de_stad_–_Tooneelgroep_Het_Masker_–_1933-11-15, dev:De_wiskunstenaars_-_N.V._Het_Nederlandsch_Tooneel_-_1938-12-01 en dev:Liefde_in_den_Sovjet-Staat_-_Coöp._Vereeniging_Gezelschap_Verkade_U.A._(1931-1933)_-_1932-09-20
- Op dev:Brand_in_de_stad_–_Tooneelgroep_Het_Masker_–_1933-11-15 ontbreekt Sjabloon:Productie (en is dus ook niet verder verwerkt)
- Op dev:De_wiskunstenaars_-_N.V._Het_Nederlandsch_Tooneel_-_1938-12-01 staan categorie-verwijzingen met een spatie; reeds opgelost door HB
- Op dev:Liefde_in_den_Sovjet-Staat_-_Coöp._Vereeniging_Gezelschap_Verkade_U.A._(1931-1933)_-_1932-09-20 staan categorie-verwijzingen met een spatie; reeds opgelost
--> Beide pagina's hebben opnieuw gerund. Wordt nu wel meegenomen. Heidib (overleg) 3 mrt 2021 15:32 (CET)
- dev:Categorie:Uitvoerende_Ellen_Vogel: 106 producties, geen verschillen
- dev:Categorie:Uitvoerende_Eric_Schneider: 90 producties, geen verschillen
- dev:Categorie:Uitvoerende_Feike_Boschma: 45 producties, geen verschillen
- dev:Categorie:Uitvoerende_Fien_de_la_Mar: 88 eig./93 cat. producties, 5 verschillen. Niet meegenomen zijn: dev:De_Kleine_Lord_-_Tournee_Louis_Bouwmeester_-_1909-09-26, dev:De_Shimmy-bokser_-_Hollandsch_Operette_Gezelschap_-_1924-02-16, dev:Dokter_Stieglitz_-_Gezelschap_Nap_de_la_Mar_-_1926-11-17, dev:Pygmalion_-_N.V._Vereenigd_Rotterdamsch-Hofstad_Tooneel_–_1931-11-01 (geen formulier:Productie) en dev:Wonder-dancing_-_N.V._Vereenigd_Rotterdamsch-Hofstad_Tooneel_-_1931-08-15
--> Alle 4 opnieuw gerund en alles wordt nu goed meegenomen. Heidib (overleg) 3 mrt 2021 15:48 (CET)
- dev:Categorie:Uitvoerende_Hans_Croiset: 91 producties, geen verschillen
- dev:Categorie:Uitvoerende_John_Kraaijkamp_sr.: 44 producties, geen verschillen
- dev:Categorie:Uitvoerende_Kitty_Courbois: 119 producties, geen verschillen
- dev:Categorie:Uitvoerende_Ko_van_Dijk_jr.: 173 eig./175 cat. producties, 2 verschillen. Niet meegenomen zijn: dev:Van_muizen_en_menschen_-_Gezelschap_Saalborn_en_Parser_-_1939-09-02 en dev:We_hebben_d'r_één_-_Vroolijk_Tooneel_-_1939-07-22
--> Beide opnieuw gerund en alles wordt nu goed meegenomen. Heidib (overleg) 3 mrt 2021 15:54 (CET)
- dev:Categorie:Uitvoerende_Ko_van_Dijk_sr.: 139 producties, geen verschillen
- dev:Categorie:Uitvoerende_Louis_Davids: 27 eig./29 cat. producties, 2 verschillen. Niet meegenomen zijn: dev:In_'t_witte_paard_-_Operettegezelschap_Jacques_van_Bijlevelt_-_1931-09-26 en dev:Linke_Louwtje_-_Hollandsch_Operette_Gezelschap_-_1918-10-01
- Beiden agv spaties
--> Beide opnieuw gerund en alles wordt nu goed meegenomen. Heidib (overleg) 3 mrt 2021 16:08 (CET)
- dev:Categorie:Uitvoerende_Mary_Dresselhuys: 110 eig./112 cat. producties, 2 verschillen. Niet meegenomen zijn: dev:De_Roode_Divan_-_N.V._Vereenigd_Rotterdamsch-Hofstad_Tooneel_-_1931-08-15 (ontbreken sjabloon:Productie) en dev:Klokslag_12_-_Centraal_Tooneel_-_1931-09-04
- De laatste agv gebruik spaties
--> Laatste opnieuw gerund en alles wordt nu goed meegenomen. Eerste heeft geen sjabloon. Heidib (overleg) 3 mrt 2021 16:11 (CET)
- dev:Categorie:Uitvoerende_Ramses_Shaffy: 76 producties, geen verschillen
- dev:Categorie:Uitvoerende_Rudi_van_Dantzig: 41 eig./42 cat. producties, 1 verschil. Niet meegenomen is: dev:Vijf_etudes_voor_elf_dansers_-_Het_Nederlands_Ballet_-_1959_Holland_Festival (Waarschijnlijk door ontbreken formulier:Productie)
- dev:Categorie:Uitvoerende_Theo_Mann-Bouwmeester: 132 eig./96 cat. producties, 36 verschillen. Komt door +28 ivm REDIRECT dev:Categorie:Uitvoerende_Theo_Frenkel-Bouwmeester en +8 ivm REDIRECT dev:Categorie:Uitvoerende_Theo_Brondgeest-Bouwmeester
- dev:Categorie:Uitvoerende_Ton_Lutz: 127 producties, geen verschillen
- dev:Categorie:Uitvoerende_Willem_Nijholt: 85 producties, geen verschillen
Overige categorie testen
Andere properties dan "IsUitgevoerdDoor":
- dev:Categorie:Licht_Minna_Tiikkainen: 43 producties "MetLicht(ontwerp)Van", geen verschillen
- dev:Categorie:Kostuums_Jessica_Helbach: 20 producties "MetKostuum(ontwerp)Van", geen verschillen
- dev:Categorie:Auteur_Roeland_Hofman: 17 producties "IsGeschrevenDoor", geen verschillen
- dev:Categorie:Decor_Paul_van_den_Berg: 35 producties "MetDecor(ontwerp)Van", geen verschillen
- dev:Categorie:Auteur_Ton_Vorstenbosch: 64 producties, "IsGeschrevenDoor", geen verschillen
- dev:Categorie:Fotografie_Hans_van_den_Busken: 82 producties, "WerdGefotografeerdDoor", geen verschillen
- dev:Categorie:Regie_Erik_Vos: 83 producties, "InRegieVan", geen verschillen
- dev:Categorie:Choreografie_Sonia_Gaskell: 23 producties, "InChoreografieVan", geen verschillen
Categorie:uitvoerenden-testen poging 2 (na herschrijving script a.d.h.v. bovenstaande tests
Alle bovenstaande pagina's gaan goed mee, m.u.v. de pagina's zonder sjabloon:Productie, én m.u.v. de volgende pagina's:
- dev:Categorie:Uitvoerende_Alexandra_Radius: 115 eig./119 cat. producties. Vorige keer klopte wel alles. Nu ontbreken deze vier producties: dev:Concerto Barocco - Het Nationale Ballet - 1961-11-08, dev:Etudes - Het Nationale Ballet - 1961-11-08, dev:Graduation Ball - Het Nationale Ballet - 1961-11-27 en dev:Suite en blanc - Het Nationale Ballet - 1961-09-16 (NB: allemaal 1961?)
- BM: Op de pagina dev:Concerto Barocco - Het Nationale Ballet - 1961-11-08 staat "Alexandra Radius" zowel in de categorieën, als in de sjabloon (dus: verplaatsen is goed gegaan). Maar: kijkend naar de pagina met eigenschappen ontbreekt Alexandra Radius bij de eigenschap "IsUitgevoerdDoor". Het lijkt of de semantische eigenschappen niet helemaal zijn bijgewerkt...
- BM: Fout (mogelijk...) veroorzaakt door het verplaatste patroon
(danser)|Simon
dat in de sjabloon is terechtgekomen. De pipeline verstoort de toewijzing. Oplossing: Alleen de waarde VOOR de pipeline uit de categorie kopiëren.
- BM: Fout (mogelijk...) veroorzaakt door het verplaatste patroon
- BM: Op de pagina dev:Etudes - Het Nationale Ballet - 1961-11-08 idem dito: wel verplaatst/gekopieerd, eigenschap zichtbaar ...
- BM: Hier (EN op de beide andere pagina's) hetzelfde patroon en dus (mogelijk...) dezelfde foutoorzaak/oplossing
- BM: Op de pagina dev:Concerto Barocco - Het Nationale Ballet - 1961-11-08 staat "Alexandra Radius" zowel in de categorieën, als in de sjabloon (dus: verplaatsen is goed gegaan). Maar: kijkend naar de pagina met eigenschappen ontbreekt Alexandra Radius bij de eigenschap "IsUitgevoerdDoor". Het lijkt of de semantische eigenschappen niet helemaal zijn bijgewerkt...
- dev:Categorie:Uitvoerende_Ko_van_Dijk_sr.: 138 eig./139 cat. producties. Vorige keer klopte wel alles. Nu ontbreekt: dev:Het_raadselachtige_huis_-_Het_Schouwtooneel_-_1932-08-27
- BM: Hier vergelijkbaar; Ko van Dijk Sr. wel verplaatst maar ontbrekend in de weergave van eigenschappen...
- BM: Foutieve invoeging in het sjabloon:
[[Category:Uitvoerende Sam de Vries
- BM: Oorzaak lijkt te zijn: het ontbreken van afsluitende haken
]]
in de categorie-toewijzing van "Categorie:Ko van Dijk Sr."
- dev:Categorie:Uitvoerende_Mary_Dresselhuys: 110 eig./112 cat. producties, 2 verschillen. 1 verschil (De Roode Divan) ontbrak al vanwege geen sjabloon:Productie; nieuw ontbreekt nu ook dev:Papa - N.V. Vereenigd Rotterdamsch-Hofstad Tooneel - 1931-03-13
- BM: En ook hier, idem dito...
- BM: Er is op de pagina dev:Papa - N.V. Vereenigd Rotterdamsch-Hofstad Tooneel - 1931-03-13 een foutieve invoeging in het sjabloon:Productiepagina_realisatie geplaatst:
[[Category:Uitvoerende Carla de Raet;Daan van Ollefen jr.;Johan Steenbergen jr.;Willem Huysmans;Louis Gimberg;Louis van Gasteren;Mies Versteeg;Jos Liesting;Jan van Ees;Mary Dresselhuys
; het eerste deel met "Category:Uitvoerende" hoort daar niet... - Hier ook een "syntax error" (geen afsluitende haken) bij de toewijzing van de "Category:Uitvoerende Willy Dunselman"
En verder nieuw getest:
- dev:Categorie:Uitvoerende_Bram_van_der_Vlugt: 99 producties, geen verschillen
- dev:Categorie:Uitvoerende_Kees_Hulst: 109 producties, geen verschillen
- dev:Categorie:Uitvoerende_Jenny_Arean: 67 producties, geen verschillen
- dev:Categorie:Uitvoerende_Tania_Kross: 13 producties, geen verschillen
- dev:Categorie:Uitvoerende_Jan_Blaaser: 34 producties, geen verschillen
- dev:Categorie:Uitvoerende_Trudy_Labij: 66 producties, geen verschillen
- dev:Categorie:Uitvoerende_Stanley_Burleson: 31 producties, geen verschillen
- dev:Categorie:Uitvoerende_Hans_Kesting: 94 producties, geen verschillen
- dev:Categorie:Uitvoerende_Hugo_Koolschijn: 144 producties, geen verschillen
- dev:Categorie:Uitvoerende_Olga_Zuiderhoek: 64 producties, geen verschillen
- dev:Categorie:Uitvoerende_Carry_Tefsen: 34 producties, geen verschillen
- dev:Categorie:Uitvoerende_Youp_van_'t_Hek: 36 producties, geen verschillen
- dev:Categorie:Uitvoerende_Dolf_Jansen: 64 producties, geen verschillen
- dev:Categorie:Uitvoerende_Jasperina_de_Jong: 46 producties, geen verschillen
- dev:Categorie:Uitvoerende_Frans_Mulder: 39 producties, geen verschillen
- dev:Categorie:Uitvoerende_Mark_Rietman: 88 producties, geen verschillen
- dev:Categorie:Uitvoerende_Arjan_Ederveen: 36 producties, geen verschillen
- dev:Categorie:Uitvoerende_Jack_Wouterse: 48 producties, geen verschillen
- dev:Categorie:Uitvoerende_Sylvia_Poorta: 83 producties, geen verschillen
- dev:Categorie:Uitvoerende_Peter_Faber: 68 producties, geen verschillen
- dev:Categorie:Uitvoerende_Hans_Leendertse: 48 producties, geen verschillen
- dev:Categorie:Uitvoerende_Piet_Römer: 76 producties, geen verschillen
- dev:Categorie:Uitvoerende_Bill_van_Dijk: 39 producties, geen verschillen
- dev:Categorie:Uitvoerende_Henk_Poort: 37 producties, geen verschillen
- dev:Categorie:Uitvoerende_Joost_Prinsen: 70 producties, geen verschillen
- dev:Categorie:Uitvoerende_Nettie_Blanken: 106 producties, geen verschillen
- dev:Categorie:Uitvoerende_Frits_Lambrechts: 58 producties, geen verschillen
Met betrekking tot doorverwijzingen
Semantic MediaWiki ziet pagina's waarop een doorverwijzing staat als "identiek"; zie documentatie.
Bijvoorbeeld, deze beide pagina's verwijzen naar elkaar door en hebben (dus) dezelfde eigenschappen:
Bovendien wordt de doorverwijzing ook als semantische eigenschap weergegeven.
Met betrekking tot pagina's zonder Sjabloon:Productie
Analyse:
- Doordat (alle OF veel van?) deze pagina's niet zijn ingedeeld in de Categorie:Productie, worden ze niet meegenomen in PR-fase1
- Doordat er geen regex
{{productie ... }}
op de pagina's staat, kan ook het Sjabloon:Productie realisatie niet automatisch geplaatst worden (ook niet als de betreffende pagina WEL in de categorie:productie is ingedeeld...).
Conclusies:
- Opschonen d.m.v. automatisch plaatsen van (leeg?) Sjabloon:Productie lijkt lastig te zijn (kan niet selecteren op Categorie:Productie)
- BM: Allerlei semantische queries geprobeerd, maar kan dit niet mbv SMW oplossen. Kan ook geen Regex-patroon bedenken, om te zien of er (g)een Sjabloon:Productie (infobox productie) op een pagina staat (waarop bijv. wel een categorie:uitvoerende.* staat).
- Op dit moment verwijderen van "Categorie:Uitvoerende ..." zorgt voor gegevensverlies!!
- Filteren op Categorie:Productie en/of Categorie:PR-fase1 (of 2) voorkomt gegevens verlies
Mogelijke procedure om alle productie-pagina's van een sjabloon:Productie te voorzien:
- Plaats op alle "Categorie:Uitvoerende xyz"-pagina's een "Categorie:Alle uitvoerenden"
- Plaats op alle pagina's in "Categorie:Alle uitvoerende" een Sjabloon:Productie
- Ook hier nog op te lossen: filteren op pagina's ZONDER sjabloon:Productie (ter voorkoming dubbelingen...)
Administratie verwerkte pagina's
- Alle pagina's waarop de lege sjablonen geplaatst zijn: dev:Categorie:PR-fase1 en uiteindelijk ook Categorie:PR-fase1
- Alle pagina's waarvan de realisatie-categorieen gekopieerd zijn naar het sjabloon: dev:Categorie:PR-fase2 en uiteindelijk ook Categorie:PR-fase2
- Alle pagina's waarvan de realisatie-categorieen verwijderd zijn: dev:Categorie:PR-fase3 en uiteindelijk ook Categorie:PR-fase3
Nabewerking of Fase 4
- Productiepagina's waarop geen Sjabloon:Productie of Sjabloon:Infobox_productie - mogelijk herkenbaar aan de titel met twee liggende streepjes
- Categorie-toewijzingen die zijn gemist bij het verplaatsten in fase 2:
- Als gevolg van syntax-fouten (ontbrekende vierkante haken)
- Als gevolg van spellingsvariaties in de categorie-benamingen (uitvoerden ipv uitvoerende bijv.)
Alle opdrachten
Algemene aandachtspunten bij samenstelling van Regex-patronen
- Het gebruik van hoofdletters als eerste letter van categorie- of sjabloon-benaming
- Het gebruik van spaties en underscores in sjabloon- en categorie-namen
- Aanwezige redundantie spaties op diverse plekken
- Binnen categorie-toewijzingen
- Binnen Sjablonen
- Aanwezige redundante regeleinden binnen (tussen definities variabele)
Voorbeelden:
- Categorie vs. categorie en {{Infobox productie| ... }} vs. {{infobox productie|...}}
- [[Categorie:Uitvoerende persoon]] == [[ category : uitvoerende_persoon ]]
{{Infobox productie | uitvoerende = persoon }} {{ infobox_productie |uitvoerende=persoon}} {{infobox productie |uitvoerende = persoon }}
Bug:
- In de vervangende tekst wordt de
\n
(newline) NIET vervangen door een nieuwe regel, maar wordt de tekst \n letterlijk geplaatst. - Dit is een bug: https://www.mediawiki.org/wiki/Extension_talk:Replace_Text/Archive_2015_to_2017#Is_there_a_way_to_replace_with_\n_(newline)
- Oplossingen: letterlijk een nieuwe regel invoeren in de vervangende tekst.
Plaatsen van "Sjabloon:Productiepagina realisatie" onder de "Sjabloon:Productie"
zoek: ({{(\s)*.*(P|p)roductie(\s)*(.*\n)*}}) <!-- getest met TekstVervangen: mist 5 pagina's in de testset 1; MassRegexEdit vindt wel alle pagina's --> zoek: ({{(\s)*.*(P|p)roductie(\s)*(.*\n){0,20}}}) <!-- getest en vindt alle pagina's in de testset 1 --> vervang: $1\n{{productiepagina_realisatie\n| veld1 = \n| veld2 = \n}} CLI command: versie 1: php replaceAll.php "(\\{\\{(\s)*.*(P|p)roductie(\s)*(.*\n){0,20}}})" "\$1\n{{productiepagina_realisatie\n| veld1 = \n| veld2 = \n}}" --regex --ns "0" --user "project" --summary "plaatsen sjabloon" --dryrun --debug
Regex.com: https://regexr.com/5d03n
Benodigde verbeteringen en aanpassingen:
- Hoofdletter gevoeligheid zoekopdracht "productie" - Aangepast. Bmulckhu (overleg) 29 sep 2020 09:37 (CEST)
- Completeren vervangende tekst voor Sjabloon:Productiepagina_realisatie; Mogelijk met variabele?
- Filteren op pagina's waarop al een sjabloon:Productiepagina_realisatie is opgenomen.
- Aanvullen met extra Sjabloon:Productie_extra_info (t.b.v. Oorspronkelijk werk / TCS)
Testresulatien:
- Getest op Regexr.com op tekst: OK
- Getest op Regexr.com met enkele testpagina's van de TE: OK
- Getest in Test-TE (Bmulckhu (overleg) 10 nov 2020 10:43 (CET)):
- Resultaat 95 / 101 pagina's in de test:categorie:Testset 1
- Mogelijk 1 foutieve selectie: test:Experimenten in vertelkunst: improvisaties in gebaren en stem - Stichting Vertelfestival - 1989-01-01
- Oorzaak: dubbele sjabloon:Productie en sjabloon:Infobox productie, waarschijnlijk als gevolg van uitvoeren van een test
- 6 niet-geselecteerde pagina's
- Mogelijk a.g.v. gebruik sjabloon:Infobox productie
Extra test - niet gevonden pagina's in test-set
- Zoeken op bovengenoemde regexpatroon
- Vervangen door
$1\n[[categorie:vlag 1]]
- M.b.v. inline query selecteren
- Pagina's in de test:categorie:Testset 1
- EN niet in categorie:vlag 1
- NB: Deze test kan niet uitgevoerd worden met SMW!
(Zoeken naar) oplossing voor niet gevonden pagina
- De volgende zoekopdracht (met een afgepast aantal newlines 11-12-... ) vindt de betreffende pagina's WEL!
- Zit er een probleem in de herhaling van het zoekpatroon
(.*)\n
in de oorspronkelijke zoekopdracht??????????? - Hiermee is mijn veronderstelling dat het probleem mogelijk wordt veroorzaakt door gebruik van ronde haken
(...)
blijkbaar NIET WAAR....
- Zit er een probleem in de herhaling van het zoekpatroon
Zoek: {{Productie\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n}} werkt wel \{\{Productie\n(.*\n){11}\}\} werkt ook (escapes niet noodzakelijk) \{\{Productie\n(.*\n){0,20}\}\} en deze ook {{Productie\n((.*)\n)*}} werkt NIET op mediawiki {{Productie\n(.*\n)*}} werkt NIET op mediawiki
OPLOSSING: Onderdeel (.*\n)*
vervangen door (.*\n){0,20}
Vermoeden: "nesting" van "*" (willekeurig aantal)_parameter werkt niet goed in Speciaal:Tekstvervangen
Plaatsen van "Sjabloon:Productiepagina realisatie" onder de "Sjabloon:Infobox productie"
zoek: ({{(\s)*.*(I|i)nfobox(\s|_)productie(\s)*(.*\n)*}}) vervang: $1\n{{productiepagina_realisatie\n| veld1 = \n| veld2 = \n}} CLI command: IDEM als boven
Regex.com:
Benodigde verbeteringen en aanpassingen:
- Uitzoeken welke pagina's nog gemist worden door de regex
- Methode: plaats een speciale categorie op de pagina, wanneer hij wel wordt gevonden en de tekst wordt vervangen; bijv.:
[[categorie:verwerkt 1]]
- Methode: plaats een speciale categorie op de pagina, wanneer hij wel wordt gevonden en de tekst wordt vervangen; bijv.:
Testresulatien:
- Getest op Regexr.com met tekst: OK
- Getest op Regexr.com met enkele TE-pagina's: OK
- Getest in Test-TE (Bmulckhu (overleg) 10 nov 2020 10:48 (CET))
- Resultaat: 1 gevonden pagina (correct)
- Er blijven 101 - 95 - 1 = 5 pagina's over uit deze en vorige test, die niet geselecteerd worden
- Zie test:Categorie:Probleem_1
Verplaatsen van "Categorie:uitvoerende ..."
Eerste voorbeeld
zoek: ^((.*\n)*)({{.*Productiepagina realisatie.*\n)(\|uitvoerende)=(.+)((\n(.*))*)(categorie:uitvoerende )(.+) vervang: $1$3$4=$5;$10$6 CLI command:
RegExr.com: https://regexr.com/58dub
Benodigde verbeteringen en aanpassingen:
- Hoofdletter- en taal-ongevoelig maken van diverse onderdelen; Gedeeltelijk aangepast Bmulckhu (overleg) 29 sep 2020 11:45 (CEST)
- Aanpassen voor andere velden dan "uitvoerende" in sjabloon; Zie versie 3 Bmulckhu (overleg) 29 sep 2020 11:45 (CEST)
- Aanpassen voor meervoudig repeterend gebruik van de categorie: Zie versie 3 Bmulckhu (overleg) 29 sep 2020 11:45 (CEST)
Testresulatien:
- Nog niet compleet getest op Regexr.com
- Nog niet getest in Test-TE
Versie 3
zoek: ^((?:.*\n)*)({{.*Productiepagina realisatie.*\n)(.*\n)(\|uitvoerende)=(.+)((\n(.*))*)}}(\n(?:((?!\[\[(?:c|C)ategor(?:y|ie)).)*))*((\[\[categorie.*\n){3})(\[\[Categorie:uitvoerende (.*)\]\]) vervang: $1$2$3$4=$5;$14$6}} CLI command:
Regexr.com: https://regexr.com/5d0ar
Benodigde verbeteringen en aanpassingen:
Testresulatien:
- Beperkt getest op Regexr.com
Voorbeeld met test:Speciaal:BulkRegexBewerken
Zoek: /^((?:.*\n)*)({{.*Productiepagina realisatie.*\n)((?:.*\n)*)(.*productie=.*)((?:.*\n)*?)((\[\[Category:Uitvoerende\s.*\]\].*\n){3})\[\[Category:Uitvoerende\s(.*)\]\]/ Vervang: $1$2$3$4$8$5$6[[Category:Uitvoerende $8]] $1: Willekeurige tekstregels $2: Sjabloon Productiepagina realisatie, incl. newline $3: Willekeurige tekstregels $4: Regel met parameter “productie=“ incl. vervolgtekst $5: Willekeurige tekstregels (non-greedy) $6: 3 x Patroon: “[[Category:Uitvoerende xyz]]“ (incl. evt. vervolgtekst en/of newline) NB: $7: bevat de laatste van het herhaalde patroon : [[Category:Uitvoerende (met spatie, letterlijke tekst) $8: Tekst achter voorgaande (tot aan sluithaken) == de verplaatsen naam ]] (Sluithaken)
- NB: In het voorbeeld staan de parameter "productie" en de "categorie:uitvoerende" door elkaar...
- Uitgegaan van categorieën in een lijst onder elkaar (is dat altijd zo??? werkt het ook wanneer categorieën achter elkaar staan? andere categorieën ertussen??)
Zoekresultaten met Speciaal:TekstVervangen (uitgevoerd op 95 van de 101 pagina's in testset 1; niet overal staat sjabloon:productiepagina_realisatie!):
- Met 0 voorlopende categorieën: 76 pagina's
- Met 1 voorlopende categorieën: 62 pagina's
- Met 2 voorlopende categorieën: 48 pagina's
- Met 3 voorlopende categorieën: 43 pagina's
- Met 15 : 7 pagina's
- Met 23 : 1 pagina
- Met 24 : 0 pagina's
Kan niet semantisch controleren of deze getallen kloppen...
Tellen van te verwerken pagina's
Vraag: Is het van tevoren mogelijk exact het aantal te verwerken pagina's te bepalen?
Het is helaas niet zo dat alle voorkomende Categorie:Uitvoerende ... ingedeeld zijn als sub-categorie van Categorie:Uitvoerenden. Dan was het heel simpel geweest.
NB: Ook dan is de vraag wat precies je telt: pagina's in de categorie:Uitvoerende =/= aantal categorie-toewijzingen aan categorie:uitvoerde_* gezien dubbele toewijzingen...
- Speciaal:Categories/Uitvoerende geeft wel een lijst "vanaf" uitvoerende... maar dit zijn er tienduizenden. Misschien via de API...
MOGELIJK ALTERNATIEF:
Gebruiken van wildcards in semantische queries, zou hiervoor een oplossing kunnen bieden
{{#ask:[[Categorie:~Uitvoerende* | format=count }}
NB: Dit werkt niet, want het lijkt/is niet toegestaan om wildcards in een categorie te plaatsen (alleen in properties).
Andere result-formats lijken geen oplossing te bieden.
Verwijderen van (verplaatste) categorieën
Eenvoudige Regex om alle categorieën met Uitvoerenden te verwijderen:
Zoek: /(\[\[Category:Uitvoerende\s.*\]\]\n?)/ Vervang: <niets>
Opmerkingen:
- Kijk uit bij voorkomende
[[Categorie:Uitvoerende muziek ....]]
- Spellingsvarianten van categorie moeten ook gevonden worden
- Hoofdletter Uitvoerende optioneel
- Eventueel spaties na openingshaken en voor of na dubbele punt
Specifiek aantal occurrences van categorie verwijderen
Omdat sommige categorieën veelvuldig voorkomen, is het denkbaar dat niet alle occurrences van een categorie zijn overgezet naar het sjabloon. Stel er zijn maximaal 25 occurrences overgezet naar het sjabloon, dan kunnen ook alleen de eerste 25 occurences van de categorie verwijderd worden.
Logica:
- Verwijder 1 tot 25 categorieën die aan het regelpatroon voldoen
- Het patroon mag niet herhaald op een pagina worden toegepast
- Er mag niet nog een zelfde categorie aan voorafgaan (!)
De laatste voorwaarde vergt een regex "look behind"; daarin kan geen regex-patroon worden opgenomen....
Deze verwijderde de LAATSTE drie occurrences:
Zoek: /(\[\[Category:Uitvoerende\s.*\]\]\n){1,3}(?!(\[\[Category:Uitvoerende\s.*\]\]\n))/
Alternatief is herhaald toepassen van regex om slechts de eerste match te verwijderen.
- Geen global search (/g) ?