OpenCart Frissítés 1.4.0 -ról 1.4.7 -re magyar nyelvi támogatással

A továbbiakban a telepített (1.4.0) és néhány feltöltött termékkel rendelkező adatbázisról frissítek 1.4.7 -es a magyar nyelvet támogató verzióra. A letöltött 1.4.7 -es verzióban már újratelepítés nélküli instrukciókat találunk a frissítésre vonatkozóan, ami egészen az 1.3.0-ás verziótól képes a frissítésre. A fejlesztői fórumokon pedig egy admin felületről indítható automatikus frissítési funkció igénye is felmerült de pontos időpontot nem mondtak mikor lesz tényleges használható verzió belőle…

Ha megnézzük egy kicsit közelebbről, látható, hogy a szükséges nyelvi fájlok nélkül nem fog megfelelően működni az adott nyelven. Ezért készítettem egy nyelvi fájlok fordítását segítő php-cli osztályt és egy ezt használó php scriptet. Sajnos az UTF8 kódolás miatt a konzolos alkalmazás windows -os környezetben való futtatásához további karakterkódolási kiegészítésekre van szükség. GNU/Linux konzolon ilyen jellegű hiba nem merült fel. Javítás szükséges a ‘ karakter kezelésére. Az update -et megelőzően lementettem a már létező (1.4.0) fájlokat és az egész adatbázist. Phpmyadminból a szerkezetet, illetve az áruház adminból a biztonsági mentés menüt használva, biztos ami biztos.

A frissítés menete:

Elkészítettem a nyelvi fájlokat a scripttel. Feltelepítettem az új 1.4.7 -es rendszert és átmásoltam a nyelvi fájlokat.Manuálisan ellenőriztem az adatbázis különbségeket a két verzió között. Adatbázis szinten 8 új tábla keletkezett és 3 táblának vagy módosult a neve vagy eltűnt a régihez képest. Tehát elvileg egy sima régi mysql dump újba töltése okozhat problémákat. Használni kell az update scriptet és a leírást, ami gyakorlatilag felülírja az összes fájlt, majd egy adatbázis merge történik. A kérdés, hogy az adatbázis merge mennyire lesz megbízható.

  1. Egy totális másolatot hoztam létre az eddig jól működő 1.4.0 -ás változatról, ahol kipróbáltam az új verzió upgrade scriptjét.
  2. Az 1.4.7 csomagban leírt instrukciókat követve upgradeltem és felülírtam az összes régi fájlt az új verzióval kivéve a config.php -t és az admin\config.php, majd az áruház config.php -ból eltávolítottam a HTTP_SERVER és HTTP_IMAGE beállításokat (és az adminból is!!! ez hiba volt! ) Sikeresen futtattam az upgrade scriptet (http://localhost/install/upgrade.php)
  3. Az utólag elkészített nyelvi fájlokat átmásoltam
  4. sajnos hibaüzenetekkel elszállt a működő oldal (Notice: Undefined index: scheme in xy ….. \seo_url.php on line 52). A hibakeresés során kiderült én nem csináltam jól. Az admin config fájlt nem kell megváltoztatni!! Ezt visszaállítottam és az admin beállításoknál az üzlet nevét és az url-t is be kell állítani, majd leellenőriztem és minden ment rendesen.
  5. Állítsuk be a felhasználók jogosultságait az újonnan létrejött modulokra is az admin felületen!

A frissítés utáni tapasztalatok:

A jelenlegi legfrissebb 1.4.7 -es webshop a magyar beállításokkal, nem teljes admin felület fordítással, tesztkörnyezetben úgy tűnt működik de amikor próbavásárlást hajtottam végre a kosár mindig üres maradt. Ez igen furcsa, mert gyakorlatilag semmiben nem különbözik az update a friss telepítéstől csak az adatbázis tartalmától. Kivéve, ha volt olyan fájl ami megmaradt de nem kellett volna. Ezért letöröltem az összes fájlt, majd újból felmásoltam az összeset, kivéve a config.php-t és a nyelvi fájlokat. A friss 1.4.7 es viszont működik. Valami az adatbázisban nem korrekt, ez bosszantott és utánanéztem a dolognak egy kicsit jobban. És lám-lám volt értelme. Egyrészt kimaradt egy igen fontos lépés, az 5. pont. Kiderítettem, hogy a egy lekérdezéssel van baj. Illetve az tökéletesen működik de úgy írták meg, hogy a lekérdezésnél figyelembe veszi, hogy a termék milyen súly, illetve milyen méret osztályba tartozik !!! Tehát az elméletem szerint egy létező adatbázis update során ezek az értékek még nem léteznek, mert ezek nem létezhettek eddig, hiszen ez egy új fejlesztés!!!  Viszont az update során meg nem töltődik fel, hiszen nem tudjuk megmondani, hogy milyen értékkel töltődjön fel. Egyszerűen a terméknél a két osztályra vonatkozó beállításoknál egy üres érték jelent meg !
Új súly és méret osztályt pedig nem tudtam felvenni, amíg van termék az adatbázisban!!! Tehát letöröltem az összes terméket, majd felvettem egy-egy értéket az osztályoknak és felvettem egy terméket ezekkel az osztály beállításokkal. A termék a kosárba került!

Konklúzió:

Vagy én hagytam ki egy lépést (az instrukcióknak megfelelően hajtottam végre mindent) vagy szükséges még egy custom adatbázis update, ami a méret, illetve a súly osztályokra vonatkozik. Én az utóbbira szavazok. Ezek után vajon milyen meglepetéssel fogok még találkozni? Valóban szükség van az új verzió kínálta funkciókra? A biztonsági változtatások vagy csak új funkciók kerültek be az új verzióba?

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter


A bejegyzés kategóriája:Webáruház and tagged , . Vedd fel a kedvencek közé: link. Szólj hozzá vagy hagyj egy trackback-et:Trackback URL.

Egy Hozzászólás

  1. Posted 2010 December 31 at 0:39 | Permalink

    Köszi szépen 2 óra hosszát szarakodtam vele. Majd gondoltam egyet és rákerestem a neten és a te bejegyzésedet hozta ki köszi szépen :D :D

Szólj hozzá

Hozzászólás küldéséhez Be kell jelentkezni