Egy Drupal frissítés mizériái

Okulásul: Adott volt a feladat, ezt az oldalt Drupal 5-ről frissíteni 6-ra, majd 7-re, amiben kb. 800 db beküldés van blog, videó, kép. A D6-ra való frissítés viszonylag gyorsan és hibamentesen ment, de a D7-re való frissítésnél megakadtam és többször neki kellett futni. Voltak ugyanis hiányzó táblák… mert rejtélyes hibaüzenetek. Ez misztérium volt számomra, hogyan jöttek elő, de talán azért, mert hiányzott az angol nyelv a frissítéskor. Végül azt csináltam, hogy lokálban is megcsináltam az adatbázis frissítést és abból pótoltam a hiányzó dolgokat. Tiszta bíbelődés volt a rendszer működésre bírása. Többször imádkoztam közben…

Aztán jöttek a tartalmak. Csak a videók és a képek voltak a gond.

A videók Media Field modullal voltak feltöltve FLV formátumban. Ezt Filefield modulra gondoltam cserélni, ami ment is volna, de úgy láttam jónak, hogy itt az ideje váltani HTML5-re és WebM formátumra áttérni. Érdekes: a WebM-re konvertálva sokkal kisebb fájlméreteket kaptam. Végül újra felraktam az egész videó galériát kézzel (csak 23 tartalom volt ilyen), a régieket pedig töröltem. VideoJS-sel van megjelenítve. Ez utóbbinak nagyon megörültem, tényleg tetszik.

A képekkel már nagyobb dilemmában voltam. Image és Image Field modulokkal voltak megvalósítva. De a galéria nézetet spéci PHP kód volt. 283 db tartalom, huszonvalahány galériába osztva. És persze minden egyes kép külön-külön node. Végül úgy döntöttem, hogy ezt is megcsinálom kézzel, mert azt szerettem volna, hogy egy-egy galéria egy-egy tartalom legyen és nem találtam semmilyen frissítési eljárást sem. Írtam egy lekérdezést, hogy az adatbázisból megtudjam melyik kép milyen galériába tartozott és mi volt a neve.

SELECT bubu_node.nid, bubu_node.title, bubu_files.filepath, bubu_term_data.name, bubu_term_data.tid FROM bubu_node INNER JOIN bubu_files ON bubu_node.nid = bubu_files.nid INNER JOIN bubu_term_node ON bubu_node.nid = bubu_term_node.nid INNER JOIN bubu_term_data ON bubu_term_node.tid = bubu_term_data.tid WHERE bubu_node.type = "image" AND bubu_files.filename = "_original" ORDER BY bubu_term_node.tid

Aztán a képfájlokat is leválogattam az adatbázis eredménye alapján, mivel ezeket a Drupal ömlesztve tárolta: FreeCommander > Kijelölés betöltése fájlból opcióval. Egy fájlba bemásoltam a galériához tatozó képek neveit (úgy ahogy az adatbázis kiadta, soronként egyet), a fájlkezelő kijelölte őket és átmozgattam egy külön könyvtárba. Így leválogatva, már egész könnyű volt feldolgozni.

A többi csuklómozdulat volt:) Mindössze néhány napig csináltam… amit úgy gondoltam eredetileg, hogy max. 2 napig tarthat.

Végül a régi sminket eldobtam, béke poraira (emlékbe elraktam) és egy meglévőt alakítottam át, úgy, hogy hasonlóan nézzen ki. Ez volt az egyszerűbb megoldás, így ez most meg okos telefonnal is.

Ha ez mind a Szent András weboldalak frissítése közben jön elő, akkor szinte biztos feladatom. Most már fel vagyok készülve a legrosszabbra. Nem lesz könnyű.

Címkék: 

Új hozzászólás