Cactus

Ruby on Rails a seggem

8 November 2006 (meta programming XML)

Kitaláltam, hogy átcsinálom (de szép magyar szó ez is) a blogot "élőre", olyanra, hogy lehessen kommentezni, meg a blogbejegyzéseket is online meg tudjam tenni. Jelenleg ugyanis az egész tökéletesen statikus: a blog pár XML file-ban van rögzítve, és azokból otthon XSLT-vel generálok HTML oldalakat, majd azokat feltöltöm.

Már egy ideje a csapból is a Ruby on Rails folyik, úgyhogy tegnap adtam neki egy esélyt. Először a Rails platformot nézegettem, és első blikkre nagyon tetszett is, főleg ahogyan a relációs adatbázist objektumorientáltan mutatja, nagyrészt Magától Működik jelleggel. Fél nap alatt el is jutottam odáig, hogy egy adatbázisból szedett adatokat megjelenítettem és módosítottam HTTP-n keresztül. Ez mind szép és jó, de egy Embedded Ruby nevű saját szutyok HTML-be berakunk pár magic processing instructiont amibe inline Ruby kódot írunk rendszert használ. Én meg persze a meglévő XSL-eimet akarom használni, már csak azért is, mert rühellem az ilyen markupba inline kódot rakunk megoldásokat.

És itt kezdődött a probléma. Egy jó proof of concept tesztnek tűnt, hogy a jelenleg statikus oldalakat próbáljuk meg Ruby on Rails-szel, XSLT-t használva dinamikusan generálni. Namost Rubyhoz van hatszázezer kibaszott XML meg XSLT modul, és mindegyik gondosan figyel arra, hogy inkompatibilis legyen egymással, és még véletlenül se legyen közöttük olyan, ami egyszerre tudna minden olyan feature-t, ami nekem kell. Az a vicc amúgy, hogy legtöbbjük a világbajnok libxml-re épül, amit a jelenlegi offline, python-os megoldásomban én is használok, de egyiknek sem sikerül kivezetniük Rubyba az igazán erős feature-eit, mint pl. a saját XPath függvények meg XSLT elementek implementálása. Amik meg nem libxml-alapúak, azok általában már az alap XSLT 1.0 szabványt sem implementálják teljesen.

Úgyhogy most nagyon hajlok arra, hogy azt csináljam, amit ZapE kollega felvetett, hogy a bejegyzéseknek marad a jelenlegi statikus kontent, és minden bejegyzés oldalába generálok PHP (!) kódot, ami a kommenteket kezeli. Nagyon szép lesz....


« Commenting on blog entries 
All posts
 Újra itthon... »