ugrás a tartalomhoz

Drupal frissítés: hogyan és mi történik?

Hojtsy Gábor · 2004. Szep. 16. (Cs), 09.32
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 /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 a node/view/12-ből például node/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 helyett taxonomy/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 a node/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.
Ezzel végigtekintettük a Drupal frissítésekor végrehajtódó változásokat, illetve ezen keresztül átnéztük, hogy milyen újdonságok és módosulások várnak ránk ezen tartalomkezelő rendszer új kiadásával. Természetesen nem lehet minden változást az adatbázis szerkezetének módosulásain követni, ezért jópár újdonság így is kimaradt ebből a felsorolásból - ezekről azonban korábban már írtam.

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.
 
1

Remek! :)

AT · 2004. Szep. 17. (P), 12.44
A kérdésem az, hogy a Drupal honlapról letölthető változat, amely néhány óránként frissül, mennyire van kész már arra, hogy egy új portál erre legyen alapozva.
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
2

Mennyit fejlesztesz?

Hojtsy Gábor · 2004. Szep. 17. (P), 21.07
Ha saját fejlesztést nem akarsz egyelőre beletenni, akkor szerintem érdemes lehet vele próbálkozni. A jövő héten jön ki várhatóan egy előzetes kiadás (kiadásra jelölt verzió), ami után már csak hibajavítások lesznek. Az utóbbi menü és hozzászólás összesítés gyorsítótárazás fejlesztéseknek köszönhetően újra nagyon gyors a fejlesztői verzió is, ezért sokkal több teljesítmény növelésre már nem kell számítani. Hibajavítások lesznek.