TheaterEncyclopedie:Upgrade TheaterEncyclopedie (2021)

Uit TheaterEncyclopedie
Ga naar: navigatie, zoeken

WERK IN UITVOERING


Deze pagina documenteert de upgrade van de TheaterEncyclopedie, zoals die in 2021 staat gepland c.q. wordt uitgevoerd.

Deze upgrade van de TheaterEncyclopedie volgt op de TE:Upgrade_TheaterEncyclopedie_(2019).

Onderdelen:

TheaterEncyclopedie versie 4.0

Upgrade Beschrijving Status
Upgrade VPS N.t.b. -
Inrichting nieuwe productie-, test- en ontwikkelomgeving N.t.b. -
Upgrade MediaWiki core Upgrade MediaWiki van 1.31.x naar 1.35.x -
Upgrade / nieuwe zoekmachine / Extended Search Upgrade van Lucene (MWSearch) naar Elastica (CirrusSearch) -
Upgrade koppeling Adlib N.t.b. -
Upgrade Semantic MediaWiki Voorlopig twee opties: Versie 3.2 is compatible met 1.35 (planned)
Visual Editor + VEForAll N.t.b. -
Upgrade overige extensies Upgrade van door TE gebruikte extensies -
Upgrade Tweeki skin Upgrade van Tweeki 1.0.5 (2018-09-01) naar Tweeki 1.1 - latest per 21-7-2020 -
Installatie nieuwe extensies Voorlopige inventarisatie: Installeren voor TE V4
Installatie nieuwe extensie Niet opnemen in TE V4
Installatie nieuwe extensie Testen en besluit voor TE V4.
Aanpassingen in configuratie N.t.b. -
Aanpassingen in vormgeving Bootstrap Versie 4 -
Testen van Dev.-omgeving N.t.b. -
Naar productie overzetten N.t.b. -

Aanpassingen

Een (eerste) overzicht van wijzigingen.

Verbeteren functionaliteit en gebruiksgemak van de zoekmachine

Dit is een vervolg op de eerdere verbeteringen aan de zoekmogelijkheden, die zijn uitgevoerd in 2019 (zie documentatie).

De huidige en default zoekmachine van MediaWiki is Lucene. Op de TE wordt aanvullend gebruik gemaakt van Google Custom Search en Duck Duck Go. Daarnaast zijn er de specifieke zoekpagina's voor "semantisch zoeken" (zoeken in gestructureerde data).

Naast de standaard zoekmachine Lucen is ook Elasticsearch beschikbaar (via de Extensie:CirrusSearch). Elasticsearch biedt mogelijk een aantal voordelen voor de TE:

Full text search
Dit betekent dat de gehele pagina-tekst wordt geïndexeerd; niet alleen de Pagina-titel. Binnen de scope van full-text-search vallen ook de sjablonen (die door Lucene maar gedeeltelijk wordt meegenomen). Momenteel gebruikt de TE Google Custom Search om "alles" in de TE te doorzoeken.
Real Time
Wijzigingen zijn (vrijwel) direct te vinden via de zoekfunctie. Via Google zijn wijzigingen pas na het bezoek van de Google-bot te vinden; hier kan een aanzienlijke tijd overheen gaan.
Search Suggestions
Tijdens het typen komen niet alleen suggesties voor paginatitels op basis van prefix (=identieke beginletters) naar voren, maar worden suggesties gebaseerd op kwalitatieve inhoud gepresenteerd.
File content
Ook de inhoud van documenten (in vele duizenden formaten) wordt doorzocht. Voor alleen foto's minder relevant, maar voor files in bijv. PDF of DOC format zeer effectief.

Een goed overzicht van de gebruiksfunctionaliteit van CirrusSearch/Elasticsearch vind je in de documentatie van de extensie.

NB: De ElasticStore functionaliteit van Semantic MediaWiki staat in principe los van het gebruik van CirrusSearch/Elasticsearch!

Bovenstaande verbetering zijn beperkt tot de 'scope' van de TE. Eventueel kan verder gekeken worden naar de integratie van de zoekinterface met Ad-lib / Axiell Collections.

Implementatie

Voorstel PW
We can add the Elasticsearch backend to your wiki, however not during migration to the new server since it is quite a radical setup change. There are a couple of things to consider and think of:
  • Elasicsearch consumes a lot of hardware, you wouldn't believe. Though I have opted for providing rather strong servers and decoupled the production server from the dev server there could still be a need to increase hardware availability which is not covered. In this case switching to Elasticsearch should be done at a later stage after looking at the situation when testing it.
  • Elasticsearch can have the potential to munch support time in a fly.
  • Elasticsearch will also require quite some time to switch to not counting potiential issues that may arise doing so.
  • Elasticsearch is currently incompatible with the Semantic Extra Special Properties extension. We will have to wait until this was fixed, hopefully sooner than later.

Thus we cannot do the change during the migration to the new server but at a later stage. We should use and test Elasticsearch first on the dev wiki and if it works there we can switch production thereafter.


BM: Eens met de constateringen van PW m.b.t. de benodigde hardware, configuratie en support. Het is natuurlijk qua beheersbaarheid prima de upgrade in 2 stappen te doen. NB: blijkbaar zijn er toch extra kosten verbonden aan deze functie.

BM: Wat betreft de incompatibiliteit met Semantic Extra Properties, moeten we m.i. de afweging maken of we de zoekfunctionaliteit prioriteit willen geven. De zoekfunctionaliteit is m.i. van groter belang voor de gebruikers. (PM: voor- en nadelen op een rij zetten)

Vervolg

De implementatie van Elastic Search is uiteindelijk niet opgenomen in de Upgrade TE 2021 - Zie voor vervolg: TE: Verbeteren zoekfuncties TE (2022)

Extensies

Semantic Bundle

Semantic Bundle omvat een aantal (vrijwel alle) extensies, die ook de TE gebruikt als uitbreiding op Semantic MediaWiki. Deze bundel biedt geen extra functionaliteit (het zijn dezelfde extensies). Het voordeel van deze bundel zit hem vooral in de beheersbaarheid, zodat eenvoudiger de samenwerking met SMW en MediaWiki gegarandeerd kan worden.

NB: Vanwege de verhuizing van de TE naar Professional.wiki komt de toepassing van de extensie te vervallen, c.q. wordt de installatie ervan overgelaten aan de voorkeur van Professional.wiki.

Modern Timeline

De Extensie:Modern Timeline is een mogelijke vervanger van het (niet meer onderhouden) Timeline-formaat dan onderdeel uitmaakt van Extensie:SemanticResultFormats. De functionaliteit lijkt vergelijkbaar.

Het tijdlijn rapportage-formaat is van belang voor de nieuwe Tijdlijnen die o.a. op Canon, Jaar- en Seizoenspagina's zijn gepland.

Voorstel (PW)
Na de upgrade eerst op de Test-TE installeren en instellingen/configuratie voor de productie-omgeving uitzoeken. Zie documentatie voor de instellingen.

BM: De configuratie betreft vooral weergave-opties. Om een beter beeld te krijgen van de mogelijkheden en de specifieke wensen voor de TE te kunnen formuleren, zou het goed zijn al direct deze extensie - met de default instellingen - beschikbaar te hebben na upgrade.

Zoekmachineoptimalisatie - WikiSEO

Zie ook TE:Zoekmachineoptimalisatie (SEO)

Voorstel 1 (PW)
This (installation) can be done. This extension also offers quite a lot of configuration parameters so adding it after experimentation on the future dev wiki after the migration was done appears to be the best approach here. Moreover we may end up having to add the TextExtracts extension which could also be avoided during experimentation (bron: e-mail d.d.28-5-2021). Zie ook documentatie
Voorstel 2 (PW)
PS I thought about the Semantic Meta Tags extension is also a good alternative to it [1] but I believe that you wiki is already too large to use this extension efficiently (bron: idem). Zie ook documentatie


BM: T.a.v. het eerste voorstel: Het lijkt mij prima om deze extensie op een later moment te installeren en configureren. Onze SEO-inspanningen richten zich nu nog met name op de verbetering van de "content" van de wiki. De standaard "SEO-tags" van MediaWiki volstaan m.i. voorlopig ook prima.

BM: T.a.v. het tweede voorstel: Kunnen we t.z.t. beoordelen.

Semantische Plattegronden - Semantic Maps

Het doel is om Semantic Map de Theaters op de kaart voor Plaatspagina’s en Theaterpagina’s te plaatsen.

Voorstel PW
we will add the extension to the setup and configure it for Leaflet und Nominatim. I do not think that Google is a viable option any longer. Pretty expensive after having used up the free tier (bron: e-mail van Karsten Hoffmeijer d.d. 28-5-2021).

BM: Wat betreft de te gebruiken kaarten:

  • Google Maps heeft, zoals PW al opmerkt, een "prijsplan", oftewel het gebruik is niet geheel gratis. Er geldt standaard een "200€ ($)" tegoed voor het gebruik, maar daarna zijn er kosten aan verbonden. Omdat UvA (AP) van Google is toegelaten als "Educatieve / Non Profit" organisatie, is er voor de TE de mogelijkheid om een groter gebruikstegoed te verkrijgen (wellicht geheel kosteloos?). Of dit tegoed voldoen is voor het gebruik, zou nog onderzocht moeten worden. M.i. zouden we een heel eind moeten kunnen komen, aangezien de TE niet een specifiek geografische functie heeft.
    • Mogelijk heeft Google Maps het voordeel van de "grotere bekendheid", zodat mensen gemakkelijker met kaarten overweg kunnen.
    • Tevens heeft Google Maps het voordeel van "Street View", zodat bezoekers ook een indruk van de locatie kunnen krijgen.
    • Door het gebruik van Google Maps worden zeer waarschijnlijk persoonsgegevens van bezoekers van de TE verzameld.
  • Leaflet (in combinatie met Open Street Maps) is een "open source" oplossing voor kaarten. Het biedt de voor de TE benodigde basis-functionaliteiten (kaarten weergeven, manipuleren, pop-ups etc.).
    • Leaflet / Open Street Maps biedt voor zover ik weet nog geen mogelijkheid voor een "Street View"-achtige functionaliteit.
    • Naar verwachting zijn persoonlijke gegevens van bezoekers beter beschermd, c.q. worden ze niet verzameld.
  • De optie "Nominatim" is mij vooralsnog niet bekend.

BM: Vanwege het voorzien gebruik, kunnen we met Leaflet/OSM voorlopig zeker uit de voeten. De uiteindelijke keuze is ook een kwestie van persoonlijke smaak. Zie hier om een indruk te krijgen van de verschillen. Overigens staat de demo van Google Maps grotendeels uit, waarschijnlijk vanwege de kosten...


Semantic (Extra) Special Properties

Het doel van het toevoegen/activeren deze properties (semantische eigenschappen) is het mogelijk maken van rapportages, vooral op het gebied van content-ontwikkelingen en gebruikersbeheer. Er is een aantal Eigenschappen, dat deel uitmaakt van Semantic MediaWiki (maar nog wel "geactiveerd" moet worden), en een aantal extra Eigenschappen kan toegevoegd (en optioneel geactiveerd) worden d.m.v. de Extensie:Semantic_Extra_Special_Properties.

Voorstel (PW)
I will add this extension to the setup. This has to be done during migration. Here I need to know which extra special properties are needed. I strongly suggest to avoid the expensive properties for performance and properties with further dependencies. (zie ook: documentatie)
  • Note that this extension is currently incompatible with the Elasticsearch backend. I suggest to give this extension preference for now.
  • Also note that Semantic MediaWiki also offers extra special properties. We could add some of these too" (zie documentatie).

BM: Uit eerdere vragen (van Milco en Manon) lijkt in ieder geval de Eigenschap:Aanmaakdatum (Property:Creation_date) relevant. Dit is een eigenschap die deel uitmaakt van de standaard Special Properties. BM: De volgende Semantic Extra Special Properties lijken het meest (en zonder problemen bruikbaar) voor content- en gebruikersbeheer:

  • _CUSER adds a property called "Page creator" which records the user that created a page
  • _USERREG adds a property called "User registration date" to user pages which records the user's registration date
  • _USEREDITCNT adds a property called "User edit count" to user pages which records the user's edit count
  • _USERGROUP adds a property called "User group" to user pages which records the user's assigned groups
  • _EXIFDATA adds properties called "Exif data" to file pages which records image metadata (Exif data)

BM: Hoewel nog niet direct noodzakelijk (behalve Creation Date), zijn de volgende "standaard" properties wellicht goed bruikbaar:

  • _CDAT - Creation date - Holds a fixed value that corresponds to the date of the first revision of each page
  • _LEDT - Last editor is Holds the page name of the user who created the last page revision
  • _MIME - MIME type - Holds the MIME type of an uploaded file help page
  • _MEDIA - Media type - Holds the Media type of an uploaded file
  • _DTITLE - Display title of - Holds a specific denote title for an entity (PM: Kan wellicht onze eigen "custom property vervangen"!)
  • _ATTCH_LINK - Attachment link - Holds the links to files embedded on a page

BM: CHECK: Consequenties voor (database-)opslag en performance van de TE? Mijn indruk was dat het activeren van "Bewerkingsdatum" al substantieel effect had op de DB-grootte...

Verder uit te werken

  • Zoeken naar / rapporteren over bewerkingen, gebruikers, paginastatistieken
  • Binnen de TE kunnen weergeven van geografische locaties op Open Streat Maps / Google Maps (i.p.v. zoals nu op een externe website).
  • Eenvoudig en gecontroleerd kunnen uploaden en annoteren van "batches" van afbeeldingen.


Visual Editor

  • Wens: Het gebruik van Visual Editor als standaard editor voor alle naamruimten
  • Wens: Het gebruik van Visual Editor voor "vrije tekst" velden in formulieren

Semantic MediaWiki

Tweeki

Tweeki is de "responsive skin" die de basis vormt voor de vormgeving voor de TE. De in gebruik zijnde versie van Tweeki is 1.0.5 en de nieuwste stabiele release is 1.1.1 (20-4-2020); inmiddels 1.21 (mei 2021). Versie 2.0 in ontwikkeling.

  • De nieuwe versie bevat vooral bug-fixes maar voor de TE zijn er waarschijnlijk geen belangrijke nieuwe features
  • Aanpassing van Bootstrap framework van Versie 3.3 naar Versie 3.4 (en optioneel BS 4)

Opschonen bestand aan gebruikers

Er staan momenteel (2021) veel inactieve gebruikers geregistreerd op de TheaterEncyclopedie.

Bij de upgrade (en verhuizing) van de TE is geopperd om het gebruikersbestand op te schonen. Dit zou kunnen door:

  • Alleen actieve gebruikers te behouden en de overige gebruikers te verwijderen
  • Alleen recentelijk geregistreerde gebruikers te behouden en overige gebruikers te verwijderen
  • ...

Momenteel is er maar een beperkt aantal uitbreidingen geïnstalleerd t.b.v. het gebruikersbeheer. De beschikbare uitbreiding is vooral gericht op de gecontroleerde registratie van gebruikers. Verder zijn alleen de min of meer "standaard" extensies voor rechtenbeheer en "spam-controle" beschikbaar.

Het is in MediaWiki standaard (vanwege technische en principiële redenen) niet mogelijk om (meer of minder actieve) gebruikers "met-1-klik" te verwijderen (deleten). Het "opschonen" van de gebruikerslijst kan dus alleen via een omweg gebeuren, bijv. door het samenvoegen van gebruikers.

Gebruikers samenvoegen (UserMerge):

Wel is het mogelijk om volledig "inactieve accounts" (zonder een enkele edit) te verwijderen m.b.v. een onderhoudsscript:


Alvorens over te gaan tot verwijdering (samenvoeging/merging) kan een "archief" gemaakt worden van het gebruikersbestand. Dit archief kan gebruikt worden voor communicatie naar de gebruikers (over het verwijderen van een account of juist weer activeren van de gebruiker/het account).

Voorstel aanpak

Door Gebruiker:Milcof

  • Meenemen
    • Alle aanmeldingen vanaf 1 mei 2020 tot heden
    • Accounts die weliswaar nu inactief zijn (afgelopen jaar niet zijn ingelogd), maar die wel bewerkingen hebben gedaan in het verleden.
  • Verwijderen
    • Alle volledig inactieve accounts (zonder 1 inlog) die zich hebben aangemeld vóór 1-5-2017. (Bij voorkeur wél de mailadressen als 'archief' opslaan, zodat we hen wellicht na afloop op de hoogte kunnen stellen)
  • Eerst contacten
    • Alle inactieve accounts (zonder 1 inlog) tussen 1-5-2017 en 1-5-2020: mail sturen met de boodschap dat het account binnenkort wordt verwijderd als ze niet binnen een bepaalde tijd inloggen.

Planning Upgrade TE (2021)

Upgrade in het weekend is mogelijk. Voorstel datum 12/13 of 19/20 juni. Er zijn nog een aantual issues die moeten worden opgelost voordat we live gaan. Hierover wordt op donderdag 10 juni 2021 een beslissing genomen.

  • Deze issues betreffen m.n. de werking van de wikieditor.
  • De gewenste extensies Maps, Special Properties en Modern Timeline zijn inmiddels geinstalleerd.
  • WikiSEO vereist behoorlijk wat configuratie, dus dit wordt bij de upgrade dev meegenomen.
  • ElasticSearch is prioriteit maar brengt extra kosten met zich mee en wordt op een later moment geinstalleerd.
  • Backup wordt alleen voor productie ingesteld.

Hieronder een voorstel voor de procedure:

Datum Stap Wat Wie Opmerkingen
25 mei 2021 1 Geüpgradede Test-TE beschikbaar (in uiteindelijk te implementeren configuratie) Bart/Milco/Ilonka Loopt.
25 mei 2021 2 Testen en ontwikkelen oplossingen op de nieuwe geüpgradede Test-TE Bart/Ilonka/Milco Loopt
10 juni 2021 3 Besluitvorming over definitieve configuratie voor nieuwe Prod-TE Milco/Bart/?
18 juni 2021 4 Bevriezen/lock-down van de huidige productie-TE t.b.v. de upgrade naar de nieuwe Productie-TE + communicatie gebruikers (Sitenotice) Hennie/Heidi
19-20 juni 2021 5 Upgrading nieuwe productie-TE door PW (op tijdelijke url of IP-nr) PW
21-22 juni 2021 6 Testen en doorvoeren van oplossingen op de geüpgradede Productie-TE (op tijdelijke url/IP) Bart/Ilonka/Milco
23 juni 2021 - 11:11u 7 Aanpassingen DNS etc. zodat de nieuwe geüpgradede TE in productie gaat + communicatie gebruikers
24- juni 2021 8 Afronden ontwikkelingen “Na Livegang” (zie overzicht) + backup procedure + ...
24 juni 2021 9 Evaluatie + Planning voor vervolgstappen opstellen (o.a. ElasticSearch, Bootstrap 4)
? juni 2021