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
- 1 Cím:
- A Drupal alaprendszer cím mezőjét használjuk.
- 2 Beküldési információk:
- A Drupal alaprendszer beküldési idő és szerző mezőjét használjuk, kis sminkeléssel.
- 3 Továbbküldés emailben, nyomtatóbarát változat:
- Forward és Print modul segítségével.
- 4 „Logline”, azaz a tudósítás helyszíne:
- CCK Text mező.
- 5 Bevezető szöveg:
- CCK Text mező.
- 6 Kép:
- CCK Imagefield mező, Imagecache modullal méretre vágva.
- 7 Fotográfus v. a kép forrása:
- CCK Text mező.
- 8 Cikk törzs:
- A Drupal alaprendszer törzs mezőjét használjuk.
- 9 Címkék:
- A Drupal alaprendszer Taxonómia modulját használjuk.
- 10 Hozzászólások:
- Annak érdekében, hogy a szerkesztőségi tartalmak jobban elkülönüljenek a látogatók által generált tartalmaktól, Talk modullal áthelyeztük a hozzászólásokat egy külön oldalra. A cikkoldalakon csak a legutóbbi 5 hozzászólás címét jelenítjük meg.
- 11 Hasonló cikkek:
- Similar by Terms modul segítségével, amely a közös címkék alapján válogat a cikkek között.
- 12 Morzsa:
- Taxonomy Breadcrumb, néhány helyen drupal_set_breadcrumb() segítségével módosítva.
- Nincs a képen:
- Kapcsolódó cikkek, linkajánló CCK Link mező segítségével
Pár szóban az érdekesebb fejlesztési feladatokról:
Migrálás
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.
Nyomtatott kiadás importja
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.
Hozzászólások, Mollom
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.
Kereső
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.
Legolvasottabb hírek
Erre a feladatra az adatbázis kímélése érdekében egy saját modult írtunk:
- a látogatottsági adatokat fájlba mentjük
- cron futáskor a fájl adatai alapján frissítjük az adatbázis node_counter tábláját
- a táblából a Views modul segítségével készítjük el a látogatottsági listákat rovatonként, és a címlap számára összesítve
- az elkészült listákat statikus fájlba mentjük és onnan hívjuk be blokkokba
- a blokkokat Quicktabs modul segítségével vonjuk össze a portálon látható füles dobozokba.
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).
Teljesítmény
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.
Hozzászólások
D6
van e valami info arrol, hogy mikor terveznek atterni Drupal 6-ra?
erre sajnos nem tudok válaszolni
A fiúktól kell megkérdezni:
Az Új Szó projekttől függetlenül: az a tapasztalatom, hogy ha egyszer elkészült és bejáratódott egy rendszer, nagyon kicsi a hajlandóság az upgrade-del kapcsolatos költségek és macera felvállalására. Mostanában már szerződésbe is beleírtam boldozva, hogy a biztonsági frissítések és upgrade-ek költségével számolni kell, de megrendelői oldalon nagyon erősen tartja magát az a mentalitás, hogy ami egyszer végre elkészült, az készen van.
Az a gondolat, hogy egy ilyen rendszert ugyanúgy évente el kell vinni a szervízbe nagygenerálra, mint A Kocsit, valahogy nem tud megkapaszkodni az elmékben. :)
Frissítések
Saját tapasztalat: 5-ről 6-ra meglepően könnyen ment az áttérés és szerintem meg is éri, főleg, hogy az 5-ös támogatása lassan meg is szűnik.
Szerintem a frissítésekkel kapcsolatban a portál üzemelését veszélyeztető biztonsági frissítéseket - mintegy garanciát adva - legalább egy évig vagy addig kell vállalni térítésmentesen, míg a drupal.org támogatja az adott főverziót.
:)
Azert ez nem egy kis blog amit egyszeru migralni.
Ki tudja mennyi egyedi fejlesztest tartalmaz a rendszer?
Ha csak abba gondolok bele, hogy a views mennyit valtozott.
De alairom, hogy az atallast hamarosan meg kell kezdeni, de lehet jobban jarnak, ha a d5-rol d7-re migralnak.
---
http://drupalaton.hu
atallas
nem javasolt D5rol D7re migralni.
D7 nincs hasznalhato allapotban, es nem is lesz egy darabig. A D5 tamogatas hamarosan megszunik, hamarabb mint a D7 hasznalhato lenne (ertsd: a kiegeszito modulok is stabil allapotuak)
D6 most tokeletes, arra kell (kellett volna mar reg) migralni..
szerintem nem is lehet
Nem csak nem javasolt, de szerintem nem is lehet. A legtöbb kiegészítő modulnál a legújabb 5-ös kiadásról lehet lépni az aktuális 6-osra, verzióugrás egyáltalán nem támogatott és teljesen bizonytalan kimenetelű.
verziougras
igen, en is ugy ertettem, hogy a D5->D6->D7 migralas nem javasolt. D5->D7 migralas nem letezik..
A kerdes csak az meddig
A kerdes csak az meddig maradnak a D5-nel, mert ha "tul sokaig" akkor lehet D5 -> D6 -> D7 -et csinalni, es akkor az egyedi fejleszteseket jo esetben csak D7-re kell megcsinalni.
Persze ezt ok jobban tudjak. D7-ben az lehet a racio, hogy kb. meg 2 evig nem igazan kell hozzanyulni.
---
http://drupalaton.hu
térítésmentesen?
Térítésmentesen? Kérlek sürgősen vedd fel velem a kapcsolatot, folyamatosan el tudlak látni sok szép térítésmentes feladattal. ;)
Egy ilyen közepes bonyolultságú rendszernél egy egyszerű biztonsági frissítés is egy órás munka (biztonsági mentés, patch, tesztelés, közben folyamatos dokumentálás).
Ha nem csak a foltot teszed fel, hanem teljesen újrahúzod a rendszert (mondjuk 6.14-ről 6.15-re), az már több óra.
D5-ről D6-ra az áttérés egy hetes munka. Először a saját fejlesztésű modulokat (van egy pár) és a sminket kell upgrade-elni. Utána egy tesztrendszeren kell lefuttatni az upgrade-et, dokumentálva/kódolva a lépéseket. Utána tesztelni a dokumentációt/kódot egy újabb teszt installáción. Végül levenni az éles rendszert (éjjel, ugye, mert nappal nem lehet), és ott is implementálni az egészet.
Egyetértek Edittel!
Én nem dolgozok olyan nagyban mint Edit, így szerencsére eddig csak egy oldalt kellett d5-ről d6-ra frissíteni.
Amikor az eredeti oldalt készítettem a tartalom képeinek felviteléhez node_images modult használtam. De mivel hosszú távon a filefield/imagefield néz ki befutónak - és sokkal jobb támogatása van (Views pl.) ezért mindenképpen jobbnak láttam erre váltani. Persze a sok feltöltött képet migrálni kellett. Mivel én nem igazán kódolok, ezért elég sokat vártam, hogy legyen migráló script. Nem volt tökéletes (akkor), de legalább el tudtam indulni vele.
Valójában, egy jó hétig tartott amíg mindennel végeztem (smink, modulok, views-ok, stb). Ráadásul nekem még nem is kellett ilyenekkel foglalkoznom mint részletes dokumentálás, és nem kellett éjjel frissítenem (éppen „uborkaszezon” volt a horgászoknál...).
Szóval azért nem olyan egyszerű egy nem sztenderd oldalt migrálni.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
Aggregator?
Az időjárás és a valutaárfolyamok aggregator modullal készülnek?
CCK+Views, saját modul
Az időjárás részleg CCK+Views alapú. A szerkesztőség kézzel viszi fel az adatokat, gondolom a szlovák meteorológiai szolgálattól vásárolják az információt.
A valutaárfolyamokra saját modul készült, annak idején még én írtam és a Szlovák Nemzeti Bank XML formátumú közleményeit dolgozta fel. Közben Szlovákia bevezette az eurót, és úgy tudom, a kollégák átírták a modult úgy, hogy az Európai Központi Bank szerveréről szedje le az adatokat.
Egyébként érdemes a forráskódba belenézni, abból többnyire meg lehet állapítani, hogy milyen modul generálja a kimenetet.