Meidogger oerlis:Mar(c)

Page contents not supported in other languages.
Ut Wikipedy

Haadside[boarne bewurkje]

Dag Mar(c), langs deze zoals dat dan heet wat ongebruikelijke weg zou ik graag je expertise als hoofdpaginaspecialist willen inroepen om een al geruime tijd bestaand probleem met de hoofdpagina (Haadside) van deze wiki te helpen oplossen. Fries zul je er niet voor hoeven te kunnen lezen. Waar het om gaat is het volgende.

  1. De Haadside van deze wiki (link) is opgebouwd uit een viertal sjablonen (Berjochten):
    1. Berjocht:Haadside-boppe, de header, een welkomstbericht met daarin getranscludeerd de datum van vandaag en het aantal aanwezige artikelen;
    2. Berjocht:Haadside-midden, de variabele inhoud van de voorpagina, zie hieronder;
    3. Berjocht:Haadside-ûnder, de vaste footer, een toelichting op de licentie;
    4. Berjocht:Haadside:kategory-en-ynterwiky, de categorie van de pagina en de interwiki's (die laatste kunnen uiteraard wel weg vanwege d:Q5296).
  2. De variabele sectie Haadside-midden bestaat uit zeven tabellen met elk een sjabloon:
    1. De Side fan de wike (Bladzijde van de week), met {{Side fan de wike 2020/wike {{LOCALWEEK}}}}, deze week: Berjocht:Side fan de wike 2020/wike 35;
    2. Wisten jo dat... (Wist u/je dat...), met {{Wisten jo dat/wike {{LOCALWEEK}}}}, deze week: Berjocht:Wisten jo dat/wike 35;
    3. Hjoed, [[{{LOCALDAY}} {{LOCALMONTHNAME}}]], yn de skiednis, (Vandaag, [[dag]] [[maand]], in de geschiedenis), met daarin het sjabloon {{In dei yn de histoarje/{{LOCALDAY}} {{LOCALMONTHNAME}}}}, vandaag: Berjocht:In dei yn de histoarje/24 augustus;
    4. Temasiden (Themabladzijden), een vaste sectie, met daarin Berjocht:Temasiden;
    5. Ynfo, een vaste sectie met een beknopte wegwijzer voor bezoekers, met daarin Berjocht:Ynfo-haadside;
    6. Plaatsje fan de wike (Afbeelding van de week), met daarin {{Plaatsje fan de wike/wike {{LOCALWEEK}}}}, deze week Berjocht:Plaatsje fan de wike/wike 35;
    7. Projekten, een vaste sectie, links naar Commons en drie Friestalige zusterprojecten, met daarin Berjocht:Oare projekten.
  3. Het probleem nu is, dat vijf variabele onderdelen van de Haadside niet altijd correct worden getoond aan wie niet is ingelogd. Zie bijvoorbeeld de Haadside die je als ip-er te zien kreeg op dinsdag 14 juli 2020 in week 29 (hier gearchiveerd, laden kan even duren).
    1. In Haadside-boppe wordt daarin zaterdag 11 juli 2020 in week 28 weergegeven (of het gemelde aantal artikelen correct was, is niet meer na te gaan);
    2. in Haadside-midden worden de Side fan de wike, de Wisten jo dat, de Hjoed yn de skiednis en het Plaatsje fan de wike van eveneens week 28 resp. 11 juli getoond.

Dit probleem bestaat al minstens sinds 2013 (zie bv. hier, GT levert een niet-perfecte, maar ook niet volkomen onbegrijpelijke Nederlandse vertaling op) en de vraag is nu natuurlijk: heb jij enig idee wat hier nu al jaren misgaat? Voel je nergens toe verplicht, als je er geen zin in hebt is dat prima, maar deze wiki zou je dankbaar zijn als je er eens naar zou willen kijken. Zo ja, dan neem ik aan dat je in een kladblokje een en ander zult kunnen en willen testen. Moet een beveiliging worden opgeheven, ping me dan even ergens. Mocht je nog andere codeproblemen aantreffen: vjv&gjg. Groet, Wutsje 24 aug 2020, 19.28 (CEST)[beäntwurdzje]

Wutsje, ik was al bang dat je me ging vragen om de Friese hoofdpagina om te bouwen! ^_^'
Dit lijkt me inderdaad een cachingprobleem (niet specifiek hoofdpagina-gerelateerd, maar door de dynamische inhoud ervan heeft die er wel sneller last van). Voor zover ik weet wordt het internetverkeer (opvragen van Wikipagina's) voor niet-ingelogde gebruikers via andere servers afgehandeld dan voor ingelogde gebruikers, en worden de gecachte versies op die servers minder vaak vernieuwd. Dat wil zeggen, bij wijzigingen aan 'gewone' pagina's worden volgens mij de gecachte versies wel direct ververst, maar een in principe ongewijzigde pagina die opgebouwd is uit (gewijzigde) sjablonen, of zoals hier dynamisch verandert d.m.v. tijdparameters, komt in een queue terecht die op rustiger momenten de servercaches bijwerkt. Dit is voor zover ik weet hoe het werkt, geen garanties. Mogelijk dat dynamische pagina's o.b.v. tijdparameters helemaal niet in zo'n queue terechtkomen en daardoor nog meer 'verouderd' kunnen raken.
Over de hoofdpagina's: Toen ik vanavond de Haadside tegelijkertijd in Firefox (ingelogd) en Firefox Private Browsing (oningelogd) opende, las ik resp. "44.379 siden yn it Frysk" en "44.376 siden yn it Frysk". Tot ik een ?action=purge deed, toen werden ze gelijk. Voor nl:Hoofdpagina geldt hetzelfde: "Aantal artikelen: 2.030.159" (ingelogd) versus "Aantal artikelen: 2.030.137" (oningelogd). In de HTML-broncode van de pagina's staat een commentblok dat begint met NewPP limit report, Parsed by [servernaam], Cached time: [tijdstempel]; die tijdstempel lijkt voor de 'ingelogde' Haadside naar de huidige tijd te wijzigen met elke normale refresh van de browser (F5 of Ctrl+R), voor de 'oningelogde' Haadside blijft het de tijdstempel van de laatste purge (dit lijkt het servercacheverhaal te ondersteunen). Direct eronder staat Cache expiry: 3600, Dynamic content: true, wat lijkt te suggereren dat elk uur de cache automatisch verloopt en dus ververst zou moeten worden, maar wellicht dat het sjablonen/tijdparameters-verhaal zich hier wreekt; dat dit voor oningelogden niet voor 'ongewijzigde' pagina's gebeurt. De 'Cached time' van de 'oningelogde' nl:Hoofdpagina zag ik nu 2,5 uur achter lopen t.o.v. de 'ingelogde' versie. Het staat me bij dat er wel eens meldingen op nl-wiki zijn geweest over "de hoofdpagina van gisteren zichtbaar" (maar ik kon er zo even geen terugvinden), maar niet drie dagen verschil, zoals je hier beschrijft. Mogelijk dat 'kleinere' wiki's, met minder totaalverkeer, een lagere prioriteit hebben in de cacheverversingsqueue? Of dat het minder snel opvalt en/of minder snel iemand (ongemeld) een purge uitvoert. (Inmiddels, rond 01:15, zie ik oningelogd nl:Hoofdpagina#segment-In de geschiedenis inderdaad nog steeds op 24 augustus staan; Cached time: 20200824211404 =UTC, dus 23:14 onze tijd.)
Kortom, tot zover de (vermoedelijke) kern van het probleem; waar het om gaat is natuurlijk de kern van de oplossing, maar daar ben ik helaas nog even niet uitgekomen. Enkele pagina's waar ik tijdens de zoektocht naar een oplossing langs kwam:
Gezien phab:T56902 en phab:T119366 is het overigens een al erg lang bekend probleem (en er wordt zelfs een drie weken 'vertraging' gerapporteerd), waar blijkbaar alsmaar geen oplossing voor komt. Het enige wat ik kan verzinnen is elke dag vlak na middernacht een purge uitvoeren; handmatig is dat natuurlijk geen doen, maar botmatig is een mogelijkheid. Het voelt wat als een houtje-touwtje-oplossing, en geen idee of er redenen zijn die dit 'ongewenst' maken. Ik zal eens een balletje opgooien in die laatste ticket.
Met vriendelijke groeten — Mar(c).[oerlis] 25 aug 2020, 01.16 (CEST)[beäntwurdzje]
Hoi Mar(c), ik zie het al: mij gaat dit ver boven de pet. Na een paar keer lezen en doorklikken en meer lezen verbeeld ik me nu tenminste te begrijpen in welke hoek het probleem waarschijnlijk ligt, maar zelf zou ik niet weten wat eraan kan of moet worden gedaan. Uit Krinkle's reactie op je suggesties in T119366 maak ik op, dat er nog het een en ander moet worden uitgezocht. Dat zullen we dan maar afwachten. Hartelijk dank dat je hiernaar hebt willen kijken. Groet, Wutsje 25 aug 2020, 02.58 (CEST)[beäntwurdzje]