Ak ste v posledných dňoch otvorili administráciu a v hornej lište svieti upozornenie na novú verziu, nie ste sami.
Joomla 6.2 bola ohlásená a otázka, ktorú dostávam od klientov najčastejšie, neznie „čo je nové" - ale „môžem to pustiť na web, ktorý zarába?". Odpoveď závisí od jednej veci: či vaše rozšírenia a šablóna deklarujú podporu pre 6.x. Nie od toho, ako rýchlo chcete byť na najnovšej verzii.
Čo Joomla 6.2 reálne prináša
Joomla 6.2 má byť ďalším prírastkovým krokom v rade 6.x. Presný zoznam zmien si vždy overte priamo v oficiálnych poznámkach k vydaniu na joomla.org - noviniek je tam zvyčajne niekoľko desiatok a menia sa podľa poradia vydania. Čo platí pre každú verziu radu 6.x a čo si treba overiť pred nasadením:
- Minimálna verzia PHP. Rad 6.x stavia na novšom PHP, než na aké boli zvyknuté weby z éry Joomly 3 a 4. Konkrétnu minimálnu verziu PHP si overte v oficiálnych technických požiadavkách na joomla.org pre verziu, ktorú plánujete nasadiť. Ak váš hosting stále tlačí staršiu vetvu, updater vám verziu odmietne nainštalovať - a to je vlastne dobre, pretože vás to zastaví pred rozbitým webom.
- Zmeny v administrácii a v štruktúre šablón. Každá veľká vetva mení spôsob, akým sa šablóny a ich prepisy (template overrides) načítavajú. Ak máte v šablóne vlastné úpravy jadrových výstupov, po update sa môžu prestať aplikovať.
- Zmeny v API rozšírení. Doplnky, ktoré volajú interné triedy Joomly priamo, prežijú update len vtedy, ak ich autor stihol upraviť. Toto je najčastejší dôvod, prečo po veľkej verzii „zmizne" modul alebo prestane fungovať formulár.
Konkrétne čísla verzií, dátum vydania a zoznam zmien si overte na joomla.org v čase, keď článok čítate - medzi vydaniami sa menia a odkladanie informácií o pol roka je pri verziách najrýchlejšia cesta k omylu.
Kedy aktualizovať a kedy počkať na 6.2.1
Pri každej novej hlavnej verzii platí jednoduché pravidlo, ktoré ma za roky ušetrilo viacerých večerov: prvé vydanie nového radu je na testovanie, nie na produkciu. Dôvod nie je nedôvera k tímu Joomly, ale matematika - čím viac ľudí verziu nasadí, tým skôr sa nájdu okrajové prípady. Tie sa zvyčajne dočkajú opravy v niektorom z nasledujúcich menších vydaní.
Kedy teda áno a kedy počkať:
- Aktualizujte hneď, ak máte staging kópiu webu, na ktorej viete celý proces odskúšať, a ak všetky vaše rozšírenia majú vydanú verziu s podporou 6.x.
- Počkajte na prvé menšie opravné vydanie, ak ide o web, ktorý zarába (e-shop, rezervačný systém, portál s prihlásením), alebo ak používate doplnok, ktorý je síce funkčný, ale jeho autor nekomunikuje.
- Neaktualizujte vôbec, kým nemáte zálohu a cestu späť. Toto nie je opatrníctvo - je to jediné, čo vás oddelí od obnovy webu z historickej kópie.
Ak váš web beží na verzii, ktorá už nie je podporovaná, je to bezpečnostné riziko, nie detail na neskôr. Neaktualizovaná Joomla je najčastejšia diera, cez ktorú sa weby dostávajú do zoznamov kompromitovaných stránok.
Ako skontrolovať rozšírenia pred aktualizáciou
Toto je časť, ktorá rozhoduje o tom, či update prebehne hladko. Pred akýmkoľvek zásahom si urobte prehľad:
- V administrácii otvorte Systém → Spravovať → Rozšírenia a prepíšte si všetky doplnky, moduly a šablóny. Zoznam si uložte mimo webu.
- Pri každom rozšírení overte, či autor vydal verziu s podporou 6.x. Zdrojom je stránka autora alebo oficiálny katalóg rozšírení (extensions.joomla.org).
- Označte si doplnky, ktoré nemajú aktualizáciu viac ako rok. To sú kandidáti na výmenu - aj keď dnes fungujú, pri ďalšej veľkej verzii sa ozvú.
- Pri šablóne skontrolujte, či má vydanú verziu pre 6.x. Šablóna z éry Joomly 3 sa v novom prostredí nenačíta správne, aj keď jej kód vyzerá nevinne.
Ak niektoré rozšírenie nemá podporu a je pre vás kritické, radšej odložte celý update, než aby ste ho nasadili a riešili následky na ostrom webe.
Postup aktualizácie so zálohou a cestou späť
Toto je postup, ktorý sa dá sledovať krok za krokom. Predpokladá, že máte prístup k administrácii a k hostingu.
- Záloha celej databázy aj súborov. Ak používate Akeeba Backup (bezplatná verzia stačí na manuálnu zálohu), spustite zálohu a stiahnite archív na svoj počítač - nie len na server. Záloha, ktorú máte iba na tom istom hostingu, vám pri výpadku hostingu nepomôže.
- Zálohu si otestujte. Rozbaľte ju na staging kópii a skontrolujte, že sa web načíta. Záloha, ktorú ste nikdy neobnovili, je len nádej.
- Staging kópia. Ak ju nemáte, vytvorte ju - Akeeba má nástroj na presun zálohy na inú doménu alebo podadresár. Na stagingu spustite update prvýkrát.
- Na stagingu skontrolujte: načíta sa web, funguje prihlásenie, otvárajú sa články, funguje kontaktný formulár, e-shop alebo rezervácia, ak ich máte. Preklikajte aj jednu podstránku z každej sekcie webu.
- Ak staging prejde, zálohujte produkciu znova (od prvého kroku sa mohol obsah zmeniť) a spustite update na ostrom webe.
- Po update skontrolujte to isté ako na stagingu - a navyše chybový log a to, či sa načítava šablóna a jej úpravy.
Cesta späť: ak sa po update niečo rozbije, obnovíte web zo zálohy z kroku 1. Pri obnove dbajte na to, aby ste obnovili aj súbory, aj databázu - obnova len jedného z nich vedie k nefunkčnému webu. Ak máte staging, môžete produkciu vrátiť kópiou zo stagingu, ktorá je pred updatom.
Kde sa oplatí platiť a kde nie
Pri rozšíreniach platí, že bezplatná verzia často stačí na základnú funkciu, ale pri kritických veciach (zálohovanie, e-shop, prístupové práva) sa platená verzia oplatí skôr, než aby ste na nej šetrili. Hranica je v podpore: platené rozšírenia zvyčajne ponúkajú aktualizácie a pomoc, keď niečo nefunguje po veľkej verzii. Ak je doplnok pre váš web kritický a jeho autor má platenú verziu, je to rozumná poistka - nie preto, že by bezplatná bola zlá, ale preto, že pri výpadku potrebujete niekoho, kto odpovie.
Pavlov servisný tip: Pred každou veľkou aktualizáciou si spravte zálohu a uložte si aj verziu Joomly a PHP, na ktorej web bežal pred zásahom - zapíšte si ich do textového súboru vedľa zálohy. Keď sa o mesiac niečo rozbije a vy budete zisťovať, čo sa zmenilo, táto poznámka vám ušetrí hodiny hľadania a je to zároveň vodítko pre hosting, keď potrebujete vrátiť staršiu verziu PHP.