Už niekoľko rokov používam web projekt DokuWiki, kde mám zdokumentované množstvo návodov, riešení, rôzne konfigurácie, nastavenia atď. DokuWiki je web projekt založený na skriptovacom jazyku PHP a nepoužíva žiadnu databázu. Na písanie používa jednoduchý značkovací jazyk a textové súbory ukladá rovno do adresárov na servery. Tým pádom je prenositeľnosť, záloha a obnova veľmi jednoduchá.
Z DokuWiki som sa začal pohrávať približne v roku 2017, ale reálne používať som ju začal až v marci 2018. Inštaloval som ešte verziu Winter 2017 “Frusterick Manners” a o niekoľko dní už vyšla Spring 2018 “Greebo”. Aktualizácia mi fungovala celkom pekne cez plugin wiki upgrade, ale po určitom čase wiki upgrade prestal fungovať, resp. po aktualizácii sa mi už nezobrazoval web. Pred každým upgradom som celu DokuWiki zálohoval, takže nebol problém vrátiť zmeny späť. Vtedy som to nijak neriešil prestal som upgradovať. Keď som videl štvrtý upgrade, tak som v nastavení DokuWiki zablokoval upozornenia.

Ja nie som zástancom aktualizovať za každú cenu. Tento víkend som mal nejaký voľný čas, tak som si povedal, že sa na tu aktualizáciu trochu pozriem. Najprv som vyskúšal stiahnuť poslednú stabilnú ver. 2020-07-29 „Hogfather“ a nainštaloval som ju do vedľajšieho adresára (fungovala úplne normálne). Znova som na svojej aktívnej DokuWiki skúsil wiki upgrade, ale dopadlo to ako pri predošlých aktualizáciách. Podobne dopadlo aj ručne kopírovanie aktuálnych súborov. Zistil som, že problém môžu robiť nainštalovane pluginy. Všetky pluginy som teda aktualizoval a zablokoval okrem pluginu wiki upgrade. Hurá po aktualizácii som mal aktualizovaný web. Moja DokuWiki obsahuje 31 pluginov. Niektoré sú defaultne inštalované spolu s DokuWiki, ale niektoré som si doinštaloval sám. Postupne som začal pluginy aktivovať a zistil som, že problémy robia 2 pluginy: cssmenu a spoiler plugin. pri aktivovaní týchto pluginov sa nezobrazil vôbec web. Tieto plginy sú zastaralé, nie je možné ich aktualizovať a v novších verziách už nebudú podporované. Keďže cssmenu som nepoužíval, tak som ho z ponuky odstránil. Avšak spoiler plugin používam veľmi často, ale naposledy ho autor aktualizoval v roku 2007. Začal som teda hľadať alternatívu a našiel som spoiler2 plugin. Super, ten má poslednú aktualizáciu 04.02.2021 a je kompatibilný s HogFather. Dokonca používa rovnakú syntax ako pôvodný spoiler plugin. Po nainštalovaní a aktivovaní som znova videl prázdny web, ale keď som prešiel na úvodnú stránku, tak DokuWiki fungovala. Plugin, ale stále vyžadoval aktualizáciu.

Žiadne informácie ako to vyriešiť som nenašiel, ale potom som sa dostal na web starého neaktualizovaného spoiler pluginu, kde sa oporúča použiť patch pre Hogfather a zmeniť 2 riadky v súbore lib/plugins/spoiler/syntax.php. Hneď som to vyskúšal a ono to naozaj funguje. konkrétne je potrebné upraviť riadok 65 kde je
function handle($match, $state, $pos, &$handler){
a zmeniť to na
function handle($match, $state, $pos, Doku_Handler $handler){
a ešte riadok 91 kde je
function render($mode, &$renderer, $data) {
a zmeniť to na
function render($mode, Doku_Renderer $renderer, $data) {
Záver
Konečne mám aktualizovanú a plne funkčnú DokuWiki. Aj keď som sa trochu zapotil, ale stálo to za to. Vzhľadom k tomu, že Spoiler2 plugin vyšiel na svetlo sveta len pred 4 dňami, možno by som mal zaslať ticket do Report Bugs. Skúsim pár dni počkať, možno niekto bude mať podobný problém ako ja a ozve sa. Alebo bude stačiť spraviť podobnú zmenu v lib/plugins/spoiler2/syntax.php ako v starom Spoiler plugine.