Most, hogy kitört a szünidő az iskolában, végre jutott egy kis idő a saját dolgaim rendberakására is - sort kerítettem a csecsy.hu ráncfelvarrására (vagy ahogy a nagyok mondják: redesignjára) is, egyúttal 6-os Drupalra frissítve.
Régóta szerettem volna megejteni a 6-os Drupalra való frissítést, aminek több oka is volt.
- Nagyon unalmas és időrabló volt (például a geocachinggel foglalkozó bejegyzéseknél) a sok kép feltöltögetése. Bár ezt már az ötösben is imagefielddel csináltam, mégis egyesével kellett végignyomkodni, ami ugye a következő kettyintéseket jelentette képenként: 1. tallózás, 2. fájl kiválasztása, 3. megnyitás, 4. feltöltés - majd mikor megvolt a feltöltés, akkor jöhetett a következő kép. Így aztán két-három, sok képpel ellátott bejegyzés feltöltése elvitt egy délutánt.
Ehelyett most az image_fupload segítségével a következőre egyszerűsödik a menet: 1. fless aktiválása (a flashblock miatt), 2. fless fájlkiválasztó indítása, 3. feltöltendő fájlok kiválasztása, 4. megnyitás, 5. feltöltés, 6. mentés, 7. feliratok beírogatás, 8. szerkesztés vége. Mint látszik, nem egyesével kell feltöltögetni a képeket, hanem egy lépésben az összeset: így bár a képek feltöltésének összideje nem sokkal kevesebb, mégsem annyira idegőrlő, hiszen míg csurognak felfelé a bitek, nyugodtan lehet mást csinálni - pl. vacsorázni.
- Régóta szerettem volna egy egyedi, saját sminket. Már az ötös változatnál is próbálkoztam (valahol talán még megvan az a libafoszöld, legömbölyített sarkú smink), de itt a hatosnál a preprocess funkciók használatával további trükköket is meg tudtam csinálni. Így lett az eredmény az, ami most is látszik: egy szögletes, számomra mégis kellemes, azaz nem hivalkodó, nem tenyérbemászó dizájn. Ezt "teljesen egyedül" csináltam (na jó, a drupal.hu-ra is bekerült szoftver segítségével - mint az a hozzáértők számára a megfelelő helyeken látszik), igaz, sokat kellett reszelni rajta, hogy a webhely-specifikus részek is rendben legyenek. A teljesen újraírt views modul és a sablonfájlok kombinálásával lehetőség nyílt a főoldal régi kétpaneles megoldása helyett egyszerűen egy-egy blokkba rakni a képek és írások listáit, ami talán a sebességben is jelent egy kis javulást.
- Néhány újdonsággal is feldobtam az oldalt. Beüzemeltem néhány újabb modult:
- comment_notify, mely talán segít az egyszeri betérőkből visszajáró lelkeket csinálni azáltal, hogy a hozzászólásukra érkezett válaszról emailben értesítést küld nekik;
- dhtml_menu, ami helyet spórol az oldalon azáltal, hogy a kinyíló menüket csak akkor nyitja ki, amikor azokra szükség van - de oldal-újratöltés nélkül; ráadásul ez a megközelítés jobban is tetszik, mint az admin_menu modulé, ami elsősorban adminisztrációs jellegű feladatokra lett kitalálva szerintem;
-
globalredirect, ami a keresőoptimalizálásban úgy segít, hogy minden tartalmat, taxonómia-kifejezést, meg úgy egyáltalán: Drupal "objektumot" egyetlen útvonalon tesz elérhetővé azáltal, hogy a
node/123
jellegűeket átirányítja a pathauto modul segítségével beállított álnevükre; - menu_attributes, amivel minden menüponthoz saját tulajdonságokat lehet rendelni.
Idővel majd kiderül, valóban hasznosak lesznek-e.
- Kutatom az újdonságokat is (illetve próbálok lépést tartani a korral).
Ennek egyik része az xmlsitemap modul (amiről azt mondják az okosok, hogy "google kaja", azaz a keresőoptimalizálásban segít sokat) - bár még nem látom, hogyan lenne érdemes beállítani.
A másik rész az oldalon itt-ott megtalálható képgalériák megjelenítésének modernizálása. A Boobaa fotóblogja már az ötös változatban is hasonló volt (most az image -> imagefield átállás lehetővé tett finomabb beállításokat is az imagecache segítségével), viszont a sok képet tartalmazó blogbejegyzések megjelenítésével nem voltam igazán megelégedve. Nem mondom, hogy most már mindenben olyan, amilyet megálmodtam, de már közelebb áll hozzá: a preprocesszor függvények és sablonfájlok használatával sikerült egy olyan (gurány, de működő) megoldást faragni, melynek alapja a jCarousel Lite jQuery plugin. (A hasonló nevű modul sajnos nehézkesebb volt számomra, illetve egész pontosan már arra sem emlékszem, hogy milyen nyűgje volt az, ami miatt berágtam rá, és inkább - az amúgy is saját - sminkből oldottam meg a feladatot.)
Ez az iménti ugyebár az egy-galéria-egy-tartalom megközelítés. Van azonban az oldalon a másik megközelítésre (egy-galéria-sok-tartalom) is igény: például a már említett fotóblog esetén, ahol az egyes képekhez várok hozzászólásokat, s nem a képek egy csoportjához. Erre most a views_galleria modult próbáltam ki, de nem vagyok megelégedve vele. Egyrészről vannak ismert hibái, melyeket bár sikerült orvosolnom, mégsem lehetek biztos benne, hogy hamarosan megjelenik végre egy stabilnak kikiáltott változata, amely már "gyárilag" tartalmazza ezeket a javításokat. Másrészről nagyon jó lett volna hozzá egy, akár csak pár soros dokumentáció: így a modul kódját és a jQuery plugin leírását kellett alaposan feltúrni ahhoz, hogy egyáltalán valamilyen eredményt kicsiholjon belőle az ember. Harmadrészről - amire sajnos csak utólag jöttem rá, azaz szintén említésre méltó lenne a dokumentációban - a megjelenített galériából nem lehet eljutni az azt alkotó kép tartalmakhoz: a galéria csak képet és képfeliratot tartalmazhat, holott talán nem lenne rossz egy link a tartalomra, egy bevezető, meg még miegymás. Mindezek ellenére az eredmény megtekinthető.
További lehetőség lenne a views_gallerific modul használata, de az méginkább gyerekcipőben jár - talán néhány hét vagy hónap múlva megint lesz annyi időm, hogy megnézzem: megéri-e foglalkozni vele annyit, hogy a fenti igényeimet kiszolgálja.
Remélem, hogy ezek a fejlesztések nemcsak az én önkifejezésemet könnyítik meg, hanem mások számára is kellemesebbé teszik a honlap böngészését.
Hozzászólások5
Kép, galéria, smink
Köszönöm a leírást, érdekes volt! Ahogy az is, hogy a képkezelés még mindíg kicsit "macera" kategória Drupalban.
Örömmel olvastam, hogy Neked működik az Fupload! Ez biztató! Én még nem próbáltam, pont azért, mert eddig szinte mindig azt olvastam róla, hogy jó lesz, de még bugos...
Egy ideje én is várok egy olyan megoldást, mint amit te a Views galleriával készítettél! Még ezt sem próbáltam, de elméletileg a views slideshow is tud ilyesmit - legalábbis a csúnya demo oldalán van ilyen, csak az kattintás helyett hoverre (ezt hogy mondjuk röviden magyarul?!) reagál (és magától is csereberéli a képeket ;o)).
A sminked télyeg egyszerű, nem hivalkodó, nem zavar! :o) Egy apróság: én a fejléc képet megnyújtanám teljes szélességűre és a címert jobb szélre raknám, a képre. De ha nem is így, valahogy akkor is igazítanám az oldalsávhoz inkább.
a hover az ugy mukodik, hogy
a hover az ugy mukodik, hogy "fole viszed az egeret" :)
Röviden
Mondom: röviden! :o)
Macera, mert nem kocka
Ha jobban belegondolok, azért macera a képkezelés, mert a Drupal ebben nem/sem mutatja meg neked az "egyetlen helyes utat". Csak ezen az oldalon kétféle koncepció van jelen: a fotóblogos résznél a kép a hangsúly, ezért egy kép egy node, hogy magához a képhez lehessen hozzászólni; a blogos résznél meg ugye "csatolt galériák" vannak, mert itt a szöveg a lényeg: a szöveghez várom a hozzászólásokat.
Az image_fupload meg bár működik, de zavaróan: mikor rábökök a feltöltésre, a firefoxom (vagy benne a JS interpreter? vagy benne a fless?) CPU-használata megugrik, tabot is alig lehet váltani - hálIstennek a többi program használható marad, tehát lehet mellette mást csinálni (és igazából csak ez volt a lényeg). Nem tudom, mi lenne az olyan megoldás, ami használható is, meg nem is zavaró - igazából azt sem tudom, JS-ből lehet-e egyáltalán olyan "Megnyitás" dialógusablakot nyitni, amiben nem csak egy fájlt lehet kijelölni. Elképzelhető, hogy a non-fless-non-dzsuva megoldás már itt elvérzik.
Aztán mikor végre feltöltögette a képeket (figyelem! átméretezést nem a böngésző/fless csinál, hanem a drupal/szerver, tehát ha nincs szükség az oldalon az eredeti méretű képre, akkor sávszélesség- és időkímélés céljából célszerű már a feltöltés előtt átméretezni a képeket!), akkor még mindig küzdeni kell vele, hogy végre meg is jelenjenek a képek a tartalomban - amit ráadásul már a képek feltöltése _előtt_ létrehoz, pedig ugye a tartalom beküldése űrlap mentés gombját még nem is láttam... Magyarul ha nem akarod a szöveget a képek nélkül láthatóvá/elérhetővé tenni még arra az időre sem, míg felérnek a képek, vagy valami más megoldást kell találni, vagy a közzétett jelzőt kell kikapcsolni (azaz erre jogot adni, stb.).
A galériák tekintetében meg úgy látom, nem lenne rossz valami leírás azoknak, akik mindenféle jQuery plugineket akarnak beintegrálni a drupaljukba, például saját views plugin modul formájában. Ha találtam volna ilyet (tudom, nem kerestem eléggé), akkor lehet, hogy a sminkbeli sablonfájlok turkálása helyett inkább ilyen modult írok - vagy kivakarom a meglevők valamelyikét.
Egyszóval típusfeladatokat egyre könnyebben és gyorsabban meg lehet - tudok? ;) - oldani Drupallal, de mikor speciális igény van, akkor többet ketyeg az óra a megoldásig...
Nem is kell egyetlen helyes út
Viszont jó lenne, ha végig lehetne vinni egy utat! Bár már közel jár a Drupal, de még mindig nem tudok olyan egységes(!) képkezelő rendszert összereakni, ami mindent tud, amit szeretnék. De előbb-utóbb az is lesz! :o)
Aki tud fejleszteni, az pedig még előrébb jut. Itt van pl. egy szép példa az egy kép - egy node, "kicsi képekkel lapozok" galériára: http://ceardach.com/photography/398
A jQuery leírásra gugliztam egy kicsit és találtam egy diasort és egy pár hónapja kiadott könyvet is:
http://treehouseagency.com/blog/matt-farina/2009/06/24/drupalcamp-bosto… (Matt egyébként a Geeks and God podcast egyik készítője)
http://www.packtpub.com/drupal-6-javascript-and-jquery/book