Gebruiker:Bmulckhu/kladblok41
Voor waarden die ingelezen zijn vanuit een extern bestand, is het vaak gewenst om deze later definitief vast te leggen in de wiki zelf.
Voorbeelden :
- TE:Koppeling met Nationaal Archief
- Eigenschap:HeeftNAFotorecordID is vastgelegd en legt de relatie naar Triply en NA
- Voorbeeld: Speciaal:Bekijken/:Audiovisueel:Afbeelding-5FNA-5F(104498cf-2D7997-2D20cc-2De91a-2D162588a613f9)
- Eigenschappen "Persoon", "Locatie" en "Productie" zijn "gematched" en (voorlopig...) opgeslagen in Triply (en NIET in het NA), en kunnen beter op de TE zelf worden vastgelegd.
- Concreet betekent dit het vullen van de infobox-sjabloonvelden op de Audiovisueel:Afbeelding_NA (...) pagina's - Categorie:Foto_uit_Nationaal_Archief
- TE:Koppeling met Wikidata, TE:Gegevens_delen_met_Wikimedia, TE:Gegevens_delen_met_Wikimedia/Regisseurs etc.
- Matchen van Regisseurs met Wikidata ; bijv. Walter Bart (met Wikidata_ID ingevuld) of Bram Bart (geen Wikidata_ID ingevuld) - Categorie:Regisseur
- De Eigenschap:Wikidata_ID wordt nu nog vanuit een extern bestand geïmporteerd (XLS), maar moet uiteindelijk op de pagina van de betreffende Persoon, Locatie etc. worden opgeslagen.
Procedure
- Ontwikkelen van het sjabloon voor substitutie (zie ook Gebruiker:Bmulckhu/kladblok40)
- Selecteren van de pagina's waarop substitutie moet plaatsvinden (bijv. door het plaatsen van een administratieve categorie, zoiets als Categorie:Persoonspagina voor substitutie Wikidata ID
- Zoek & Vervang van "leeg" infobox-sjabloonveld door veld met substitutiesjabloon via de pagina Speciaal:Tekstvervangen en Optioneel filter met de administratieve categorie.
Deze procedure moet nog worden getest. Het is namelijk niet zeker dat na een zoek en vervang actie de gewenste substitutie ook daadwerkelijk wordt doorgevoerd. Mogelijk is dat pas bij de eerstvolgende save-actie van de betreffende pagina !!
Test van Procedure 1 - Zoeken en vervangen door nummer m.b.v. Regex
Gebruik Speciaal:TekstVervangen als volgt
Oorspronkelijke tekst:
({{[T|t]est[\s|_]infobox\n)((\|.*?=(.*?)\n)*?)(\|qnummer=\n)((\|.*?=(.*?)\n)*?)}}
Vervangen tekst:
$1$2|qnummer=9876\n$6}}
NB: Regex aanvinken en categorie: Testpagina_substitutie
Resultaat: OK, maar met probleem dat de newline in de vervangende tekst wordt weergegeven als \n
Resultaat bij ingevuld veld: OK; indien het veld qnummer= reeds een waarde bevat (op dezelfde of op de volgende regel) dan wordt de pagina niet geselecteerd voor susbstitutie (dit is dus zoals gewenst !).
Test van Procedure 2 - Zoeken en vervangen door substitutie-sjabloon m.b.v. Regex
Oorspronkelijke tekst als bij Test-1
Vervangen tekst:
$1$2|qnummer={{subst:Eigenschap substitutie|qnummer}}$6 }}
Resultaat:
{{Test_infobox |parameter1=pagina |qnummer= [[:123456|123456]] }}
Dit lijkt erop, maar er zijn nog twee problemen:
- Een newline na "qnummer="
- De waarde wordt weergegeven als een paginalink (wat technisch correct is, maar niet wenselijk: alleen tekst is gewenst)
Test van Procedure 3 - Zoeken en vervangen door substitutie-sjabloon m.b.v. Regex
Na:
- Aanpassing van het Sjabloon:Eigenschap substitutie (eigenschap vervangen door platte tekst - geen links), nogmaals getest:
- Toevoegen van een extra sjabloon-parameter na de te vervangen parameter
Oorspronkelijke tekst als bij Test-1
Vervangen tekst:
$1$2|qnummer={{subst:Eigenschap substitutie|qnummer}} $6}}
Resultaat:
{{Test_infobox |parameter1=pagina |qnummer= 123456 |parameter3=blalbla }}
NB: De newline na "qnummer=" is niet gewenst, maar veroorzaakt geen probleem. Het wordt veroorzaakt door {{#show:...}}
in het Sjabloon:Eigenschap substitutie.
Test van procedure nr. 4 - Foutbestendigheid
Reeds ingevulde velden worden overgeslagen door de Regex-selectie; zie ook eerste test.
Tekstvervangen gebruikt zoals bij "Test 3", maar nu (foutief !) zonder dat er een semantisch waarde beschikbaar is
Resultaat:
{{Test_infobox |parameter1=pagina |qnummer= |parameter3=blalbla }}
NB: OK. Er wordt wel een lege regel toegevoegd - dit is in principe niet gewenst, maar verstoort de juiste werking niet.
Praktijktest : Beroepen
Voor het eerst - met succes - uitgetest op de geïmporteerde lijst van Beroepen; zie: TE:Gegevens_delen_met_Wikimedia/Beroepen. Daarbij is tevens een correctie toegepast voor de toegevoegde regeleinden.