TheaterEncyclopedie:Koppeling met Theaterkrant

Uit TheaterEncyclopedie
Ga naar: navigatie, zoeken

Deze pagina beschrijft ideeën en plannen om de TheaterEncyclopedie (TE) te koppelen met de website van de Theaterkrant (TK). Het doel van deze koppeling is het bieden van extra informatie aan elkaars bezoekers; actuele en journalistieke informatie als aanvulling op de TE en wetenschappelijke encyclopedische informatie als aanvulling op de TK.

Een reeds bestaande koppeling voor het leveren van informatie over theaterproducties vanuit de TE aan de TK bestaat uit twee onderdelen:

  1. Het samenstellen van een lijst met "uitvoerenden" (functie: persoon) voor weergave op de TK
  2. Het forwarden naar de juiste TE-pagina op basis van de "priref"

Zie #Koppeling theaterproducties voor meer informatie.

Daarnaast is er in 2020 een project opgestart voor een gemeenschappelijke Theaterkalender

Ideeën

Uit de mail d.d. van Gebruiker:Milcof:

  1. Het toevoegen van een RSS op de TE naar de nieuwsberichten en de première-agendalijst van de Theaterkrant, zodat deze ook op de TE verschijnen.
  2. Portal:Theater Actueel, bij Op deze dag: er is een plan om in Google Sheet (o.i.d.) met de Theaterkrant (TK) en TE gezamenlijk een lijst te maken van per dag een vijftal bijzondere gebeurtenissen. Zou het mogelijk zijn dit per dag automatisch te laten zien in de TE?
  3. Op de voorstellingspagina's een koppeling naar het recensieoverzicht van TK. Daar zal waarschijnlijk een apart veld voor moeten komen. Het liefst zó ingesteld dat als de link niets teruggeeft, dat de link dan niet zichtbaar wordt.
  4. De Theaterkrant werkt met zogenaamde 'keywords', die bijvoorbeeld verschijnen bij nieuwsberichten en recensies. Als je op zo'n keyword klikt, krijg je een overzicht van alle berichten over de persoon in kwestie. Bijvoorbeeld: Ivo van Hove. Zou het mogelijk zijn om op de persoonspagina van Ivo van Hove op de TE d.m.v. bijv. een RSS-link een overzicht te krijgen van de berichten op de overeenkomstige keyword-pagina van de Theaterkrant? (En dan het liefst zó dat ik nog wel kan selecteren welke berichten er wel en niet getoond worden).
  5. Omgekeerd: de Theaterkrant zou graag zien dat bovenaan de keyword-pagina de biografie verschijnt zoals deze in de TE staat. Dat lijkt mij complexer, omdat je daar weer zit met het gehele 'open veld' waarin meer info staat dan alleen de bio-tekst. Maar wie weet zijn daar dingen voor te verzinnen?

Realisatie

Realisatie idee 5: (Verkorte) biografie vanaf de TE opnemen in de TK

Opnemen van biografie op de persoon-pagina's

Door (handmatig) een sjabloon met de (verkorte) biografie op te nemen op een persoonspagina, wordt het mogelijk om:

  • De tekst naar wens wel of niet laten zien op de TE
  • De tekst kan via de "raw" output van de pagina ook eenvoudiger gevonden worden door de TK (en blijft intact ook als de layout eens gaat veranderen)
  • De pagina’s met een gekoppelde tekst voor TK in een categorie verzamelen, zodat we ze later nog eens terug kunnen vinden (en je pagina statistieken kunt maken)
  • De tekst is later eventueel later nog eens automatisch te verwijderen (mocht dat nodig zijn)
  • Naast een “biografie" kan evt. ook andere informatie meegegeven worden in extra sjabloon-velden


Behalve dit sjabloon, kan TK via de semantisch API ook eenvoudig toegang krijgen tot de informatie uit de infobox; ik denk dat vooral de afbeelding dan interessant is om als tumbnail weer te geven.

{{theaterkrant
|biografie= Tekst (zonder opmaak) m.b.t. de (verkorte) biografie ...
|weergeven= ja/nee
|extra info1 = ... <!-- later uit te breiden -->
}}
Resultaat (met "weergave=ja")
Tekst (zonder opmaak) m.b.t. de (verkorte) biografie ...

NB: Omdat nu (2021) gestart wordt met de ontwikkeling van de inhoud van persoonspagina's, kan deze ontwikkeling voor de TK daarin direct meegenomen worden. Zie voor de verdere ontwikkeling op de persoonspagina's: TE:Persoonspagina's.

Gegevens importeren vanaf de TheaterEncyclopedie

Voorbeelden technisch ontwerp

Onderstaande voorbeelden laten zien:

  1. Hoe een pagina er voor de "gewone" TE-bezoeker eruit zal zien (dus met of zonder korte bio)
  2. Hoe de "raw" pagina-inhoud eruit ziet: tekst kan dan gefilterd worden op {{theaterkrant|biografie= ... | om de verkorte bio-tekst te "scrapen".
  3. Hoe de API-request url eruit ziet (en de response in diverse formats) om een bijbehorende afbeelding te vinden op de TE


  • Standaard pagina (voor bezoekers): Marcus Azzini (bio tekst wordt weergegeven)
    • "raw" wikitekst voor TK - url+param: https://theaterencyclopedie.nl/wiki/Marcus_Azzini?action=raw
    • Semantic API response met link naar afbeelding (copy link naar browser):
      • https://theaterencyclopedie.nl/w/api.php?action=ask&query=[[Marcus_Azzini]]|%3FAfbeelding&format=xml - XML
      • https://theaterencyclopedie.nl/w/api.php?action=ask&query=[[Marcus_Azzini]]|%3FAfbeelding - JSON
      • https://theaterencyclopedie.nl/w/api.php?action=ask&query=[[Marcus_Azzini]]|%3FAfbeelding&format=json - JSON compressed
    • Alternatieve wijze (via askargs-methode); zoals ook beschreven voor de Theaterkalender; zie voorbeeld hieronder
    • Voorbeelden van wellicht nuttige MediaWiki API request voor de pagina inhoud:
      • https://theaterencyclopedie.nl/w/api.php?action=parse&page=Marcus_Azzini&prop=text&formatversion=2 - HTML in JSON-format
      • https://theaterencyclopedie.nl/w/api.php?action=parse&page=Marcus_Azzini&prop=wikitext&formatversion=2 - Wikitext in JSON-format
      • Bron: MediaWiki API documentatie Parse
    • Voorbeelden van wellicht nuttige MediaWiki API request voor de afbeelding:
      • https://theaterencyclopedie.nl/w/api.php?action=query&generator=images&titles=Marcus_Azzini&prop=info - Afbeelding(en) op pagina opvragen (alternatief voor Semantic API; Semantic API heeft voorkeur!)
      • https://theaterencyclopedie.nl/w/api.php?action=query&titles=Bestand:51xxx3143.001.jpg&prop=imageinfo&iilimit=50&iiprop=timestamp%7Cuser%7Curl - Informatie over een afbeeldingsbestand (url) opvragen

Andere voorbeelden:

https://theaterencyclopedie.nl/w
/api.php
?action=askargs
&conditions=Marcus_Azzini
&printouts=Afbeelding
&parameters=
&format=json

Bekijken de live output via deze link of een kopie in JSONeditoronline.org.

Opmerking
Er is gekozen voor een koppeling via de raw-wikitekst, omdat dit een snellere response geeft (geen overbodige headers, footers, styling etc.). De tekst is dus ook niet opgemaakt; mocht dit wel nodig zijn, dan kan evt. ook een koppeling via de html-pagina gemaakt worden. Bijv. via een <span id="theaterkrant">...bio ...</span>
Als alternatief kan nog een voorbeeld uitgewerkt worden op basis van "rendered" wikitext (...&action=render
Resultaat geeft HTML, zonder header, footer, css (html-comments niet mogelijk). Biografie kan dan bijvoorbeeld in een <div id="biografie">... </div> worden geplaatst. Dit is wellicht eenvoudiger in combinatie met jQuery en kunnen we zo gewenst eventueel combineren met bovenstaande (sjabloon is hierop aangepast).

Nieuwe ontwikkelingen & upgrade TE naar MW 1.35

Na de upgrade zal de TE standaard beschikken over een extra API voor text-extracts: zie documentatie.

Koppeling theaterproducties

Dit is een bestaande (<2017) koppeling tussen de TE en de TK, ontwikkeld door Ad Aerts (overleden).

Opvragen gegevens over realisatie van een theaterproductie

Volgens toelichting door Simon v.d. Berg haalt de TK gegevens uit Adlib (niet uit de TE):

...
Bij de recensies op Theaterkrant kunnen we in een (onzichtbaar) invulveld het recordnummer van een productie in de productiedatabase invoeren.
Bijvoorbeeld The Nation van Het Nationale Theater heeft als recordnummer 106838.

Dit is de pagina met de recensie: https://www.theaterkrant.nl/recensie/the-nation/het-nationale-theater/
In de rechterkolom staat "Gegevens uit de Theaterencyclopedie (beta)" en daaronder de data die uit adlib wordt getrokken dmv een JSON query op basis van het recordnummer. Dat werkt prima (zoals je ziet).
...

Informatie over de query via de Adlib-API is nog in te vullen...

Forward naar productiepagina TE op basis van Adlib-priref

Opmerking BM d.d. 23-4-2021: Onderstaande is enigszins aangepast vanwege verhuizing van TE naar externe provider. Script nu bereikbaar via subdomein(en) "perform" en "performtest"

In .htaccess staat één regel:

ErrorDocument 404 /perform/generate.php

In generate.php het volgende:

<?php
$p=substr($_SERVER["REQUEST_URI"],1);
$s=file_get_contents(
"http://theaterencyclopedie.nl/w/api.php?action=ask&query=[[Adlib::$p]]&limit=1&format=php");
$x=unserialize($s);
$y=$x["query"]["results"];
foreach ($y as $z) {
  $url=$z["fullurl"];
}
header("Location: $url”);
?>

Voorbeelden:

Opmerkingen:

  • Dit script is rond 2018 mogelijk aangepast door Digitale Diensten, nadat het a.g.v. de server-upgrade niet meer werkte.
  • Het script werkt niet indien het http:// protocol wordt gebruikt (er is niet voorzien in een automatische upgrade naar https:// )
  • Bron: e-mail van Simon v.d. Berg met tekst uit e-mail van Ad Aerts