Drupal frissítés: hogyan és mi történik?
Nemrég kísérleteztem biztonsági másolaton a Weblabor adatbázisának Drupal fejlesztői verzióra történő konverziójával. Mivel a hibajavításoktól és a szükséges gyorsításoktól eltekintve a Drupal 4.5-ös verzió körvonalai eléggé jól látszódnak, érdemes egy kicsit betekinteni, hogy mi történik egy adatbázis frissítés során, mert ez nagyon sokat elárul arról, hogy mi mindent tud az új verzió. Alapos áttekintés következik!
A legfontosabb aranyszabály, hogy mindenképpen egy másolaton próbálkozzunk, ne az éles szerveren végezzük első körben a frissítést. Sajnos a frissítés kódja nem olyan okos, hogy egyik-másik hiányzó tábla ne okozna neki gondot, ezért két táblát kézzel kell létrehoznunk az automatikus frissítés megkezdése előtt. Erről a meghívott
Továbbklikkelve az automatikus frissítésre, kiválaszthatjuk, hogy mely frissítéseket szeretnénk végrehajtani, illetve pontosabban a folyamat kezdőpontját tudjuk megjelölni. A Drupal tudja, hogy legutóbb milyen frissítést futtattunk, ezért a rögtön utána következő első elemet ajánlja fel. Ez teszi lehetővé, hogy bármikor tudjuk adatbázisunkat frissíteni a kiadások között is.
A frissítés futása után áttekinthetjük, hogy mely SQL parancsokat hajtotta végre sikeresen a frissítő, és melyekkel volt gond. Ha nem csupa zöld OK feliratot látunk, akkor valami gond volt, és azzal külön kell foglalkozni. Igen kicsi az esélye, hogy egy buherálás nélkül működtetett Drupal felepítésen bármi gond lenne a frissítéssel. A lefutott SQL parancsok áttekintésével jó képet kaphatunk arról, hogy mi is változott a 4.4-es megjelenése óta (időrendben):
A fenti listából jól látszik, hogy a Drupal fejlesztői ezúttal sem félnek a változástól, ha az jó célt szolgál. Ezen írás készítésekor még javában folyik a teljesítményoptimalizálás, a sebességet tekintve gyenge pontok megtalálása. A forráskód már majdnem egy hónapja feature-freeze állapotban van, azaz újdonság nem kerülhet bele, csak hibajavítások. Ez az állapot még néhány hétig eltart valószínűleg, hiszen most a bekerült újdonságok dokumentálása és optimalizálása a fő fókusz.
■ A legfontosabb aranyszabály, hogy mindenképpen egy másolaton próbálkozzunk, ne az éles szerveren végezzük első körben a frissítést. Sajnos a frissítés kódja nem olyan okos, hogy egyik-másik hiányzó tábla ne okozna neki gondot, ezért két táblát kézzel kell létrehoznunk az automatikus frissítés megkezdése előtt. Erről a meghívott
/update.php
állomány tájékoztat minket.Továbbklikkelve az automatikus frissítésre, kiválaszthatjuk, hogy mely frissítéseket szeretnénk végrehajtani, illetve pontosabban a folyamat kezdőpontját tudjuk megjelölni. A Drupal tudja, hogy legutóbb milyen frissítést futtattunk, ezért a rögtön utána következő első elemet ajánlja fel. Ez teszi lehetővé, hogy bármikor tudjuk adatbázisunkat frissíteni a kiadások között is.
A frissítés futása után áttekinthetjük, hogy mely SQL parancsokat hajtotta végre sikeresen a frissítő, és melyekkel volt gond. Ha nem csupa zöld OK feliratot látunk, akkor valami gond volt, és azzal külön kell foglalkozni. Igen kicsi az esélye, hogy egy buherálás nélkül működtetett Drupal felepítésen bármi gond lenne a frissítéssel. A lefutott SQL parancsok áttekintésével jó képet kaphatunk arról, hogy mi is változott a 4.4-es megjelenése óta (időrendben):
- A Drupal most már nyilvántartja, hogy ki mióta tagja a webhelynek, és ennek alapértékét a frissítésnél megpróbálja intelligensen beállítani.
- A felhasználói profilok egy külön táblába kerültek, mostantól dinamikusan szerkeszthetőek az adminisztrációs felületen.
- A szintén dinamikusan alakítható menü az adatbázisban is megjelenik.
- A feed aggregátor táblái logikusabb neveket kaptak, két új kapcsolótábla teszi lehetővé a kategóriák kötését csatornákhoz és elemekhez.
- A felhasználók most már több csoportba is tartozhatnak egyszerre.
- A hozzászólásoknál anoním felhasználók is megadhatják adataikat (név, email cím, honlap címe). Ez a blogoknál nagyon fontos újítás, többek között a MovableType-ról áttérőknek alapvető.
- A 'statikus' jellemzőt átnevezték 'ragadós'-ra. Ez jobban kifejezi, hogy arról van szó, hogy a honlap (és a rovat listázások) tetejére ragadnak az adott tartalmak. A statikus kifejezésnek a webes környezetben más értelmezése honosodott meg.
- A felhasználói profilok tulajdonságai háromféle láthatósági tulajdonságot kaphatnak: privát; publikus; publikus és kiemelt a felhasználó felsorolásokban is. A felhasználók különböző tulajdonságaik szerinti listázása is újdonság.
- Automatikusan elérhető a webhely RSS csatornája a
/rss.xml
címen, mert a Google és más keresők első körben ezt a helyet nézik meg.
- A különböző jogosultság sémák támogatására minden egyes tartalmi elemhez kapcsolódó jogosultság-megadási lehetőség került a rendszerbe. Az alapértelmezés szerint minden tartalom olvasható, de nem változtatható meg, és nem törölhető.
- A webcímekből a megtekintésre utaló
view
komponens eltávolításra került, így anode/view/12
-ből példáulnode/12
lett. Erre érdemes odafigyelni, mert a frissítés nem biztos, hogy minden előfordulást frissít (tartalmakban található linkeket például nem fogja).
- A taxonómia linkek hasonlóképpen egyszerűsödtek:
taxonomy/page/or/12,14
helyetttaxonomy/term/12+14
lett. Itt a hozzáadás jel fejezi ki a vagy kapcsolatot, a vessző az és kapcsolatot.
- Az új szűrőprofilok támogatásához a tartalmak, a hozzászólások és a blokkok táblája formátum megadási lehetőséget kapott. Az alapértelmezett három formátum: PHP kód, Teljes HTML és egy a korábbi beállításokat importáló Sima szöveg vagy Szűrt HTML nevű formátum a talált beállítások függvényében. Ezutóbbi próbálja tartalmazni minden korábbi szűrő beállításunkat.
- A teljesen az adminisztrációs felületről kezelhető fordítási felület támogatásához két új tábla került a rendszerbe (a fentebb általunk kézzel felvett táblával együtt három). Ezekbe importálja a frissítő kód a korábbi felület fordításokat.
- Azok megnyugtatására, akik a fenti webcím változásokon már jól felidegesítették magukat, bekerült egy
legacy.module
, mely az összes korábbi és újabb visszafelé kompatibilitást biztosító kódot tartalmazza. Ez gondoskodik róla, hogy anode/view/12
típusú webcímek továbbra is azt adják vissza, amit korábban. Ezt a modult természetesen csak akkor kell bekapcsolni, ha nem vagyunk biztosak benne, hogy mindenhol megtörtént az elérési utak átírása. A Drupal ugyanis magától nem tudja mindenhol átírni az elérési utakat.
- A beépített állomány feltöltési funkcionalitás támogatására bekerült egy
files
tábla, mely a feltöltött állományok adatait tartalmazza.
- A sminkrendszer változásai miatt a frissítés importálja a korábban általunk használt smink beállításait a most már globálisan elérhető beállítás készletbe. Mivel az alaprendszerben csak az xtemplate sminknek vannak ilyen beállításai, csak ezek tulajdonságai importálódnak.
A fenti listából jól látszik, hogy a Drupal fejlesztői ezúttal sem félnek a változástól, ha az jó célt szolgál. Ezen írás készítésekor még javában folyik a teljesítményoptimalizálás, a sebességet tekintve gyenge pontok megtalálása. A forráskód már majdnem egy hónapja feature-freeze állapotban van, azaz újdonság nem kerülhet bele, csak hibajavítások. Ez az állapot még néhány hétig eltart valószínűleg, hiszen most a bekerült újdonságok dokumentálása és optimalizálása a fő fókusz.
Remek! :)
Várható-e a változók és az adatbázis módosítása, ami miatt inkább később érdemes élesben beizzítani.
ATamás
Mennyit fejlesztesz?