Értesítő modulok összehasonlítása

Link:
http://groups.drupal.org/node/15928
Megoldások, amelyek segítségével a webhely felhasználói email értesítést kérhetnek a friss tartalmakról (új cikkek, hozzászólások).
Link:
http://groups.drupal.org/node/15928
Megoldások, amelyek segítségével a webhely felhasználói email értesítést kérhetnek a friss tartalmakról (új cikkek, hozzászólások).
Manapság olyan gyakorisággal jelennek meg a Drupallal kapcsolatos könyvek, hogy már egy ideje lemondtam arról, hogy mindent elolvassak a témában. Most azonban megjelent egy új könyv, amely a Pro Drupal Development mellett alighanem kötelező darab lesz minden fejlesztő könyvtárában. A dolog érdekessége, hogy eddig semmiféle reklámot nem kapott, pedig ennél kevésbé fontosabb kiadványok is rendszerint kikerülnek a drupal.org címlapjára. Így csak véletlenül, az aktuális Lullabot podcastből értesültem arról, hogy pár napja megjelent Cracking Drupal címmel egy fejlesztőknek írt, Drupal biztonsággal foglalkozó könyv.
A szerző Greg Knaddison, a nagyszerű Pathauto modul karbantartója, és Négyesi Károly szerkesztette. Még nem érkezett meg a megrendelt példányom, ezért ismertetőt nem tudok róla írni, tehát ez itt egyelőre a reklám helye. Az első fejezet, és egy nem-követendő példákat tartalmazó modul letölthető a könyv honlapjáról. A tartalomjegyzék alapján úgy tűnik, alaposan körbejárják a legfontosabb témákat, és azt az elvet követik, hogy inkább kevesebbet, de azt alaposan tanuljunk meg. Aki szélesebb kitekintést szeretne, annak a Pro PHP Security c. könyvet ajánlom.
Ha tartalomtípusunkat dátum mezővel szeretnénk kiegészíteni, a CCK Date csomagja három lehetőséget kínál:
Mivel első ránézésre nem volt számomra nyilvánvaló, melyiket is kellene használnom, kicsit utánanéztem a dolognak.
Date
Ez varchar(20)-ként tárolódik az adatbázisunkban, a jól ismert ISO8601-es dátumformában: 2008-07-21T12:33:00Z Töredék dátumok (csak hónap, nap), vagy i.sz. 1000-nél régebbi dátumok esetén érdemes használni, egyébként nagyon lassú vele dolgozni.
Datestamp
Ez a jól ismert UNIX időbélyeg, ami int(11)-ként tárolódik, és az 1970. január 1. óta eltelt másodpercek számával egyenlő. Gyorsan, egyszerűen lehet vele dolgozni és széles körben támogatott, viszont csak 1901-től 2038-ig terjedő dátumokat menthetünk ebben a formában.
Datetime
Ez a MySQL natív dátumkezelő formátumát használja. Ha nem merül fel az az eshetőség, hogy később más adatbáziskezelőre kell migrálnunk, akkor ez az ajánlott megoldás. Views integráció szempontjából is ez az ideális.
Link:
http://acquia.com/blog/great-kickoff-design.acquia.com
Itt már elérhető néhány szép smink, és hamarosan több ezer várható. Jeff Burns portolja Drupalra a legszebb nem GPL-licenc alatt közzétett, de szabadon felhasználható sminkeket.
Az új modul bemutatkozó videójának első részében olyan funkciókat ismertet a fejlesztő, amelyek segítségével a template.php preprocess hook-jaiban végzett programozás jó részét kiválthatjuk kattintgatással. HTML+CSS területről érkező, PHP-t nem ismerő sminkelők számára ez nagyon hasznos lehetőség, és még a Contemplate modulnál is kényelmesebb a használata.
A modul másik fő szolgáltatása (a videóban 07:10 táján) viszont már a kóderek számára is érdekes lehet: létrehozhatunk saját megjelenítési módokat (display mode). Ha valaki járt már úgy, hogy a teljes node nézet és a teaser nézet mellett szüksége lett volna további megjelenítési módokra, akkor fogja értékelni ezt a lehetőséget.
Új megjelenítési módok létrehozásának jelenleg több módja is van, egyik kényelmetlenebb, mint a másik:
A Node display segítségével tehát ezentúl kattintós felületen, programozás nélkül hozhatunk létre új megjelenítési módokat. Ha jól értem a videót, modulfejleszők számára API-t is biztosít, ami nagyon hasznos lehet pl. multimédiás pluginek fejlesztésénél.
Természetesen itt is ugyanazok a problémák merülnek fel, mint a Contemplate esetén: fájl helyett adatbázisban tárolunk és modullal kezelünk megjelenítésre vonatkozó információkat, ami megnehezíti a verziókezelést és rontja a teljesítményt. Nagyobb webhelyen mérlegelnünk kell a várható előnyöket és hátrányokat.
A 60 éves Új Szó szlovákiai magyar napilap honlapja már több mint egy éve Drupal alapokon működik. Az előző webhely egy MSSQL/ASP technológiával készült egyéni rendszer volt, ennek költséges továbbfejlesztése helyett inkább egy nagy ugrással Drupalra váltottunk. A szerkesztőség elsősorban a multimédiás tartalmak kezelését, jobban áttekinthető cikklistákat, és az olvasói hozzászólások lehetőségét igényelte. A fejlesztés megkezdésekor még nagyon friss volt a Drupal 6-os verziója, ezért az 5-ös kiadás mellett döntöttünk. A webhely gerincét a ma már standard összeállításnak számító CCK–Views–Pathauto, Imagefield–Imagecache–Lightbox modulok adják, emellett a szerkesztőségi munkát támogatja a tartalmak időzített megjelenését lehetővé tevő Scheduler, és néhány saját fejlesztésű modul.
A Drupal lehetőséget ad bonyolult munkafolyamatok, összetett kiadói rendszerek felépítésére is, de a szerkesztőség kis létszáma ezt nem indokolta. Egy nagyon egyszerű, percek alatt megtanulható szerkezetet hoztunk létre, ahol a rovatokat és az egyes cikkek státuszát (vezető hír, kiemelt hír, stb.) egyszerű taxonómia kategóriákkal jelöljük.
Egy weblap anatómiája
Pár szóban az érdekesebb fejlesztési feladatokról:
Mintegy 210 000 cikket kellett átmozgatnunk a meglehetősen mostohán kezelt MSSQL adatbázisból az új Drupal rendszerbe. Ennek során először egy szöveges exportfájlt készítettünk, javítás és tisztogatás után beimportáltuk az anyagot egy MySQL adatbázisba, majd onnan átemeltük a Drupal rendszerbe. Jelenleg csaknem 300 000 cikk van az adatbázisunkban – ez az egyik legnagyobb Drupal webhely magyar viszonylatban, és nemzetközi összehasonlításban is alighanem a „felső tízezerbe” tartozunk.
A lap nyomtatott kiadása egy zárt kódú szerkesztőségi szoftver segítségével készül. Az XML formátumban exportált szövegeket, valamint a képanyagot egy saját fejlesztésű modullal importáljuk Drupal alá. Sajnos az export nem tartalmaz minden szükséges adatot, és nincs is módunk a szerkesztőségi rendszer kódját módosítani, ezért egy munkatársnak egyenként kell a cikkeket a képekkel párba állítani – ehhez egy külön adminisztrációs felületet készítettünk.
Annak érdekében, hogy maximálisan ki tudjuk használni a gyorstárazás nyújtotta előnyöket, nem vezettünk be regisztrációt a webhelyen, így névtelen látogatók is hozzászólhatnak a cikkekhez. Szerencsére éppen a webhely indulásával esett egybe a Mollom kereskedelmi reklámszemétszűrő nagykorúvá válása. A legutóbbi időkig nagyon jó tapasztalataink voltak ezzel a szolgáltatással, szinte egyáltalán nem találkoztunk reklámszeméttel a webhelyen.
Amint megláttuk az Új Szó óriási archívumát, nyilvánvalóvá vált, hogy egy használható kereső építése lesz az egyik legnagyobb kihívás. A Drupal beépített keresője – amellett, hogy a lekérdezési felülete távolról nem felel meg a szerkesztőség elvárásainak – nem alkalmas ilyen mennyiségű tartalom beindexelésére. Miután sorra vettünk és teszteltünk minden lehetőséget, úgy döntöttünk, hogy a következő fejlesztési fázisban az Apache Solr technológiát fogjuk használni. Amíg ennek beindítására sor kerül, a Google egyéni keresője működik a webhelyen.
Erre a feladatra az adatbázis kímélése érdekében egy saját modult írtunk:
A látogatottsági adatok begyűjtése jelenleg hook_exit()-ben történik, további tervünk, hogy a Drupalt teljesen megkerülve az Apache szerverlogokat dolgozzuk fel. Erre mindenképpen szükség lesz, ha teljesen átállunk a fájl alapú gyorstárazásra (lásd a következő pontot).
A webhely jelenleg egy osztott tárhelyen fut több forgalmas szlovákiai magyar honlappal közösen. Emiatt előfordul, hogy drámai forgalomnövekedés esetén nehézségeink vannak a webhely kiszolgálásával. (Ilyen volt például az emlékezetes DAC–Slovan mérkőzés, amikor percek alatt több nagyságrenddel nőtt a szerver terhelése.) A megrendelő szerint ezek a problémák egyelőre nem érték el a kritikus szintet, de számítunk rá, hogy a közeljövőben a portál dedikált szerverre költözik.
Addig is a kritikus időszakokat a Boost modul segítségével hidaljuk át, ami a lekért oldalakat fájlba menti, és a következő lekérést már fájlból szolgálja ki, ezzel tehermentesítve a legszűkebb keresztmetszetet jelentő adatbázist. A modullal nagyon jó tapasztalataink vannak, de sajnos egy hírportál számára nem ideális megoldás. A webhelyen minden oldalon friss cikkeket listázó blokkok jelennek meg, amelyeket az oldal részeként fájlba mentünk, ezért a Boost által kiszolgált oldalak gyakran elavult cikklistákat tartalmaznak (a jobb oldali Legfrissebb hírek blokk esetén ez különösen szembetűnő). A dedikált szerverre történő költözés a teljesítményproblémákat minden bizonnyal megoldja, ettől függetlenül egy egyéni gyorstárazó rendszer kialakítását is tervbe vettük a következő fejlesztési fázis részeként.
Az ujszo.com kivitelezésében a Brainsum csapatával együttműködve a projekt vezető Drupal fejlesztőjeként vettem részt. Az portál indítását követő fejlesztéseket és a Drupal üzemeltetését a Brainsum végezte és végzi.
Sziasztok!
Kaptam egy ilyen feladatot:
Működés: a jobb oldali dobozban vannak a címlapon nem szereplő cikkek. A <> nyilas gombokkal lehet cikket kiküldeni a címlapra, ill. onnan levenni. Ez eddig kb. a Nodequeue modul működése, „csak” a felhasználói felületet kellene átalakítani.
De:
Kellene lehetőség arra, hogy a szerkesztő a címlapra kiküldött cikknél meghatározza, hogy a fix elemeken – cím, közzététel időpontja, szerző – kívül milyen további elemek jelenjenek még meg. Választható további elemek:
Problémák:
Tehát a kérdés: hogyan lehetne ezt meglévő elemekből összelegózni? Ha nem lehet, akkor milyen irányból kellene megközelíteni a kérdést (Nodequeue API, vagy CCK node reference, vagy valami egészen más)?
A portálon található Linkgaléria segítségével áttekintést kaphatunk a Drupal rendszer felhasználási területeiről és a hazai Drupal fejlesztésekről.
Ezt a szabályt újonnan léptettük életbe, a korábban beküldött linkeknél előfordulhat hosszabb tevékenységi leírás, ezeket utólag nem moderáltuk.
Köszönjük a beküldött linkeket, kellemes és tanulságos nézelődést kívánunk!
Pár hónapja nyitottam egy ágat a Twitteren, de nem igazán kedveltem meg (lehet, hogy nem vagyok elég öreg hozzá?) – csiripelés helyett csak némi csipogásra futotta az energiámból. A 140 karakteres méretkorlát miatt azt vettem észre, hogy kétszer annyi időt kellene tölteni a csirip megfogalmazásával, mint ameddig egy rövid blogbejegyzés megírása tartana. Viszont hol van az előírva, hogy Drupalon nem lehet mikroblogolni? Ezért úgy döntöttem, inkább nyitok a honlapomon egy-egy „munkanapló”, ill. „olvasónapló” kategóriát, és ide csipogok ezután. Itt senki nem írja elő, hány karakter lehet egy bejegyzés:
Frissítés Views 2.7-re: