Kasno preksinoć sam postavio novi dizajn za vinske forume. To je kompletiranje posla koji je započeo pre nedelju dana kada sam izvršio tranziciju sa bbPressa na phpBB3. To je sada već druga promena forum softvera i mislim da je bilo dosta i da neću više menjati. :)
Mesecima sam se nadao da će se pojaviti attachment plugin za bbPress, ali nema pa nema. Na forumu ovog tipa slike su prilično bitne; ubiše se ljudi objašnjavajući sa hiljadu reči kako izgleda neka od sprava za podrum - slika bi to rešila bez problema. Zatim su tu slike vina, vinograda, načina orezivanja…
I tako, krajem prošle godine krenem u još jednu avanturu.
Konverzija podataka
phpBB3 je značajno komplikovaniji od Vanille i bbPressa - ima daleko više mogućnosti i podešavanja i samim je kompleksnost mnogo veća. Jedna činjenica koja o tome govori je da bbPress ima 7-8 tabela, phpBB3 ima 50+ (odokativno, nisam brojao). Sve to je sad trebalo analizirati i premapirati podatke.
phpBB3 ima mogućnost konverzije prilikom instalacije…ukoliko postoji odgovarajući konverter. phpBB3 isporučuje samo konverter sa verzije 2 na verziju 3. Što je i normalno. Taj konverter se aktivno promoviše kao model kako treba pisati konvertere za druge sisteme. U zvaničnim forumima već ima nekoliko konvertera za druge forumske aplikacije (SMF, vBulletin, Nuke…) ali ne i za bbPress.
Pokušaji da analiziram te konvertere i prepravim neki od njih za bbPress su bili više nego frustrirajući. Iako originalni konverter ima dosta komentara, nikako nisam uspevao ni da počnem. Ma ni da stignem do prvog koraka u konverziji. Nizak nivo mog PHP znanja je jedan od razloga, ali sumnjam da je najbitniji. Više mi deluje da tu nedostaje jedan propisan detaljan vodič u tehnički deo priče - kako phpBB3 radi - a zatim i detaljno objašnjenje converter frameworka, pre svega kako početi, kako podesiti osnovne parametre itd… Tako sam posle nedelju dana bauljanja po mraku digao ruke i krenuo drugim putem.
Podigao sam phpBB3 forum lokalno, napravio par usera, foruma i postova i onda posle svake operacije analizirao šta se desilo i gde je šta upisano. Zatim sam parče po parče pravio SQL upite za svaku pojedinačnu operaciju. Dve večeri su bile dovoljne da stignem do prve beta verzije skripta koji konvertuje korisnike, forume, teme i postove. Za još dve sam počistio sitne bugove i doveo skript u stanje gde kompletno konvertuje moj stari forum.
Tu verziju sam poslao u gore spominjani forum, ako još nekome zatreba. Ne garantujem da će konvertovati baš sve - meni uradilo posao.
To je bila polovina posla - nakon toga je trebalo napraviti…
vino.aplus stil
Osnovni stil foruma je onako, baš generički; tačno kakav osnovni stil i treba da bude, pa da te natera da napraviš nešto što će imati veze sa tematikom foruma. Vanillin osnovni stil je baš baš ružan - a pogledajte šta je Dragan uradio od toga na Herbivu. bbPress je nešto lepši, ali skroz u sivim tonovima i takođe zove na doradu.
Jedna od bitnih stavki na listi novosti u verziji 3 phpBB softvera je i CSS-baziran dizajn, maltene bez tabela. To je veoma retko kod ovakvih softvera i glavni razlog što sam uopšte testirao ovaj softver. Ja, kao najgora pedanterija po pitanju HTML koda bih imao svašta da doradim/izmenim, ali sam generalno prijatno iznenađen.
CSS kod sa druge strane je krš. Ima desetak fajlova u theme folderu i podeljeni su po meni totalno bezveze. Da bi promenili header, morate da promenite barem 4 fajla. Jedno te isto CSS pravilo se po 2-3-4x ponavlja u različitim fajlovima. Bilo je ekstremno frustrirajuće pohvatati gde je glava a gde je rep. Kada vidim ovako nešto nimalo me ne čudi koliko su ljudi koji pokušavaju da uče CSS ponekad frustrirani. Ja obožavam CSS dizajn ali ovo je bilo da popizdiš.
Nikada, ama baš nikada nemojte rascepkano praviti CSS za isti blok na strani. Napravite osnovno parče koje definiše globalne stilove za elemente, a onda za svaku celinu na strani napravite po jedan fajl i onda sve @import
-ujte u neki main.css. Svi stilovi unutar tog pojedinačnog fajla neka imaju na početku klasu kompletne celine.
Na primer, ako imate header
blok, onda svi stilovi su .header XX {...}
. Time se ne može menjanjem jednog fajla skrkati nešto u nekom desetom. Ne cepkajte stilove za istu stvar u više fajlova - to niko kasnije ne može da pohvata a da sačuva živce. Ma - dajte sebi 6 meseci lufta od tog projekta i ni vi nećete znati zašto se nešto sjebatalo, a ma samo sam promenio par linija…
Sve su ovo lekcije koje sam naučio iz višegodišnjeg svakodnevnog rada na desetinama CSS projekata, od sitnih 1-3 strane projekata do monstruma koji se kače na 20+ sajtova. Video sam da neki od najpoznatijih CSS dizajnera/kodera vole da parcelišu na fajlove po sistemu: tipografija/layout/boje/šta god je ostalo. Svako ima svoj sistem rada i poštujem svačiji proces rada koji daje rezultate, no lično ovo smatram za čisto samoubistvo za bilo kakvo kasnije održavanje ili ne daj može ostavljanje nekome drugom na održavanje. Npr, tipografija utiče na layout i obrnuto - retko mi se dešavalo da jedno promenim a ne moram ono drugo.
No, da ostavim ovaj rant po strani - vinski forumi sada manje više izgledaju onako kako sam od početka hteo. Ako nemate vinograd i ne bavite se proizvodnjom, već samo volite vina i volite da razmenjujete iskustva, imamo mesto i za vas. Te forume tek nameravam da poguram sa par postova o mojim omiljenim vinima, biće mi zadovoljstvo da vas vidim tamo i čujem šta vi volite.
A meni ostaje da vidim kako da ubudžim RSS i SEO-friendly URLove za forum…