A Prestashop motorok frissítése rendkívül fontos dolog – a verziókövetés a hibátlan webáruház működésének záloga.
Vannak írott és íratlan szabályok amik lehetővé teszik a problémamentes frissítést (illetőleg a hibaszázalékot erősen csökkentik) de valljuk be, sokszor teljes embert kíván egy régi shop felfrissítése.
Ugyanis rengeteg hiba előjöhet frissítéskor (vagy leginkább az után) amire nem számítunk. Ezeknek a hibáknak az okai igen sokrétűek lehetnek:
okozhatják egyedi fejlesztések, nem alapértelmezett – illetőleg átalakított témák, megbuherált vagy épp (már) nem kompatibilis modulok, de sajnos néha hibás (vagy elavult szoftverrel rendelkező) szerver beállítások is.
Frissítés előtt a legfontosabb: biztonsági mentés. Mindig legyen fájl + adatbázis mentés a webáruházról mielőtt nekiállunk a frissítési procedúrának! Így bármi is sül el balul még mindig vissza tudjuk tenni az eredetit.
Érdemes frissítés előtt mérlegelni az előnyöket és hátrányokat:
– jelenlegi témám frissítés után kompatibilis lesz az új motorral?
– melyek azok a modulok amelyek biztosan nem fognak működni a frissített rendszeren, ezeket tudom-e pótolni (vagy a frissebb változatát beszerezni), illetőleg ha nem akkor ér-e annyit a frissítés hogy ezeket most nélkülözni tudjam?
– ha van egyedi fejlesztés a motorban (példának okáért számlázórendszerrel való összeköttetés) fog-e működni az új fájl és adatbázisstruktúrával?
Ha ezek közül egyre-kettőre csak száj húzva tudnánk rámondani hogy talán, akkor mindenképp érdemes fontolóra venni egy klón létrehozását, amit aztán localhoston (saját számítógépünkre telepített web-szerveren) felépítve biztonságosan kipróbálhatjuk az eredeti shoptól teljesen elfüggetlenedve. Windows és Linux Operációs rendszerekre is vannak előre “becsomagolt” web-szerver alkalmazások, ezek közül meleg szívvel ajánlom a XAMPP megoldását, vagy esetleg a WAMP-ot.
Meg kell említenem hogy egy “nagyobb” shop (ezt nehéz definiálni: azt mondanám hogy 2000 termék felett) frissítését mindenképp érdemes localhost-on elvégezni. Ennek több oka is van.
Az egyik, hogy ha bizonyos verziónál régebbi shopot szeretnénk felfrissíteni (1.3.x-től lefelé már biztosan) akkor a hagyományos szolgáltatók szerverbeállításai miatt nem lehet majd elvégezni a frissítést mert a szerver maximális szkript-futási ideje nem elegendő a művelet elvégzéséhez (1, esetleg több percet vehet igénybe ami szemben áll az általánosan előre beállított 30 másodperces limittel).
Ezzel szemben localhoston Mi magunk állíthatjuk be ezt az értéket nyilvánvalóan olyan magasra téve hogy az ne okozhasson gondot.
Másik fő oka pedig a képgenerálás. Általánosságban ha frissítek egy webáruházat akkor értelemszerűen a legfrissebb motorra teszem át azt, szép új responsive témával karöltve. Egy új téma esetén a kialakítástól függően megváltozhatnak a képméret-igények is, így az új témához igazított képméretek beállítása után mindet újra kell generálni – ami bizonyos termékszám felett már sok időbe telhet ismét kockáztatva az időtúllépést szolgáltatói szerver használata esetén.
Frissítés szabályai 1.2 – 1.3 -as motor 1.4 -esre történő frissítése esetén:
1. Becsomagolt prestashop motor kicsomagolása, fájlok feltöltése és felülíratása a szerveren lévővel.
2. Webáruházunk címét beírva egészítsük ki a végét egy “/install/” paraméterrel. Elméletben nem gond ha ezt elfelejtjük, webshopunk főoldalát meghívva automatikusan odaugrik majd.
3. Elindul a telepítő, itt mindent értelemszerűen válasszunk ki (update), majd fogadjuk el a licenszet és már frissül is a shop. Ennek végeztével töröljük tárhelyünkről az “install”, valamint az egyedi azonosítóval ellátott “admin” mappát is (mert régen mikor telepítetted/frissítetted a shopot akkor át kellett nevezni az admin mappát valami másra), majd ha ez megtörtént a “sima”, új rendszerrel felmásolt szűz “admin” mappát kell átnevezni (lehet ugyanaz mint az előző).
Ezek után az új rendszer fogad Bennünket, reméljük több, mint kevesebb sikerrel. Ha nem vettük előzőleg figyelembe a téma kompatibilitását az új rendszerrel akkor lehetséges, hogy a shop szétcsúszva, kilógva jelenik meg. Rosszabb esetben nem jelenik meg csak egy fehér lap, vagy esetleg csak egy hibaüzenet fogad Minket. Ilyenkor két dolgot lehet tenni:
admin felületbe bejelentkezve az alapértelmezett témát választani (ami szintén lefrissült ugye) vagy nekiállunk a hibakeresésnek – ez utóbbit lentebb ki fogom fejteni.
Frissítés szabályai 1.4 -es motor 1.5/1.6/1.7 -re történő frissítése esetén:
Ez a frissítés már “könnyebb”, hiszen kitaláltak Nekünk egy frissítő modult, nevezetesen az “1-click Upgrade“-et, aminek mindig a legfrissebb változatát tudjuk INNEN letölteni.
Telepítés után a “Beállítás”-ra kattintva a frissítőmodulban találjuk Magunkat, ahol ki is írja Nekünk a frissítésre ajánlott rendszer verziószámát, és az “Upgrade” gombbal már neki is láthatunk. Ha esetleg olyan verziószámot ír ki ami Nekünk nem megfelelő, akkor kattintsunk rá a jobb oldalt található “More Options (Export Mode)” gombra, majd a “Channel:” lenyíló menüben válasszuk a “Major Release” opciót. Mentés után már a helyes verziószámot mutatva nekiláthatunk a frissítésnek.
2013.08.01 – állapotfrissítés: a modul képes 1.2-ről is felfrissíteni a shopot 1.5-re. Az hogy érdemes-e direktbe ezt az utat választani csak próba után derül ki.
2016.07.10 – állapotfrissítés: a rengeteg upgrade-hiba miatt a modult kiegészítették egy debug funkcióval, ami lehetővé teszi a lépésről-lépésre frissítést. Nagyon hasznos dolog.
A modul érdekessége, hogy (ha csak ki nem kapcsoljuk lentebb) automatikusan teljes mentést generál frissítés előtt a shopról, amit becsomagolva el is tárol magának ha esetleg balul sikerült frissítés után vissza szeretnénk tetetni vele (amit egyébként elég jól megcsinál).
A mentést az alábbi útvonalra készíti el: adminmappa/autoupgrade/backup/
.
Érdemes sikeres frissítés és tesztelés után ránézni és esetleg lementeni Magunknak a betömörített fájlt, majd törölni a szerverről mert bizonyos esetekben elég sok helyet képes foglalni.
Hibakeresés:
Fentebb említett “hibakereső” módot érdemes bekapcsolni ha debuggolásra adjuk a fejünket. Ez különböző módszerrel kapcsolható be verziószámtól függően:
1.3.x – 1.4.x esetén:
config/config.inc.php
-ben az @ini_set('display_errors', 'off');
=> sornál kell “on
“-ra tenni, így:
@ini_set('display_errors', 'on');
1.5.x esetén:
config/defines.inc.php
-ben a define('_PS_MODE_DEV_', false);
=> sornál kell “true
“-ra tenni, így:
define('_PS_MODE_DEV_', true);
Ha elmentjük és visszamásoljuk a szerverre akkor már rendes, hibaelhárításra alkalmas hibaüzenettel tarkítja képernyőnket a Prestashop.
Ritkán, de előfordul hogy egy shop annyira régi vagy bug-os (teli van hibával) hogy nem érdemes vesződni a frissítéssel. Ebben az esetben a megfelelő módszerrel és modulokkal ki kell szedni a vásárlókat, rendeléseket, termékeket, hírlevélre feliratkozottakat, fordításokat és azt egy teljesen szűz motorba CSV-s vagy egyéb módszerrel beimportálni.
Ha kérdésed van ne habozz velem felvenni a kapcsolatot! 🙂
Eladásra fel! 🙂