Blog Ivana Posinjaka: Je li za blog bolji WordPress CMS ili vlastiti CMS u CakePHP-u?

Blog Ivana Posinjaka: Je li za blog bolji WordPress CMS ili vlastiti CMS u CakePHP-u?

WordPress CMS slovi kao najbolji blogerski alat sa hrpom dostupnih proširenja – može li i kada razvoj vlastitog bloga u Cake PHP frameworku biti bolje rješenje?

Programer VS naručitelj

Jedan od vrlo korisnih komentara u prethodnom članku bio je da će se završno rješenje raditi u onom alatu u kojem je programer bolji. Na prvi pogled zvuči vrlo logično i razumno, a na drugi pogled?

Na temelju osobnog iskustva sa raznim rješenjima naginjem odabiru pravog alata za pravu namjenu. Posebno primjenjivo u slučaju kada je svrha jasno definirana (blog) te uz to postoji alat razvijan upravo za tu svrhu (WordPress). Dodatni plusevi su:

- duga povijest,
- velik broj dostupnih predložaka,
- velik broj dodatne funkcionalnosti,
l- aka integracija sa web servisima (Flickr, Picasa)
- višejezičnost (WPML Multilingual CMS)

Teško da se može dogoditi da nešto već nije napravljeno za WordPress ili je bar dovoljno blizu onome što želi naručitelj.

Prednost za programera je i što kad se trebaju raditi dorade postojećih dodataka – za WordPress postoji vrlo detaljan API i dokumentacija sa dobrim primjerima. Često puta je i sam programski kod dodatka ili predloška napisan sa komentarima. Čak i kad programski kod nije komentiran – WordPress API je vrlo moćan i pregledan te razumljivost koda obično ne predstavlja problem.

I još jedan veliki kamen spoticanja za programera i za naručitelja – prilagodljivost dodatnih polja, lista, kućica i slične proširivosti – je riješen dodatnim poljima (Custom fields) te u novijim verzijama WordPress-a i dodatnim vrstama postova.

Naručitelj, tj. ne-programer, ima par stvari koje su pomalo ograničavajuće.

Ograničenja nisu toliko tehnološka, više su pitanje "ovce i novce" tipa i volje da se nauči i prilagodi logici samog WordPress-a. Ograničenje "ovce i novce" tipa znači da, ako se sa izborom WordPress-a želi dobiti efekt "jako puno mogućnosti za ne tako puno novaca", onda je poželjno:

- odabrati jedan od besplatnih ili komercijalnih predložaka,
- ne odstupati puno (još bolje nimalo) od postojećeg dizajna,
- za dodatnu funkcionalnost odabrati postojeće dodatke,
- ne mijenjati (tj. dodatno programirati) postojeće dodatke,
- koristiti postojeću funkcionalnost članak-komentar,
- ne zatrpavati sa suvišnim dodatnim poljima ili zahtjevima prema programeru da se promijeni administrativno sučelje WordPress-a.

Ukoliko naručitelj treba ili inzistira na puno dorada dizajna, funkcionalnosti ili na promjenama logike administrativnog sučelja – cijena cijelog projekta početi će rasti vrlo brzo i tada izbor WordPress-a nije nužno i najbolji izbor.

Kao programer u praksi sam najčešće susretao upornost naručitelja oko detalja koje često puta posjetitelj stranica niti ne primjeti (a stranice su tu upravo zbog posjetitelja). Naručitelj bi istovremeno često izbjegavao pobrinuti se oko kvalitetnog sadržaja (npr. stavljanje predugih tekstova, neodgovarajućih slika, naslova i slično).

Problem zna biti i kad se naručitelj navikne da se korištenjem dodataka WordPress-a većina funkcionalnosti ili zahtjeva riješi brzo i za manje novaca. To je neostvarivo kada je potrebno napraviti "detalj" dorade koji zahtjeva višesatno programiranje i testiranje i time i bitno više košta.

U tom slučaju bolja je prevencija – objasniti jednostavnim rječnikom naručitelju koje su financijske i vremenske posljedice tog zahtjeva te ponuditi jeftinije i brže alternative. Koliko god programer bio inače drag naručitelju – najviše ga vole kad je i brz i jeftin, često vrlo teško spojivo ako je naručitelj zahtjevan

Dizajn VS sadržaj i funkcionalnost

U praksi bi dobar dizajn trebao biti završni omot za dobar sadržaj. Ako web stranice usporedimo sa, recimo, čokoladom – možda je i kupimo prvi puta zbog cijene i vanjske ambalaže, ali za ponovljenu kupnju, tj. posjetu, potrebna je dobra čokolada, tj. sadržaj. Cilj čokolade smo mi, kupci, tj. posjetitelji web stranica, a proizvođač, tj. naručitelj, želi da je mi koristimo što više jer mu to donosi novac ili slavu

Odabir dizajna zna poći krivim putem – naručitelj zapravo ne zna kako bi strukturirao sadržaj (ili čak nema sadržaj spreman) pa bira prvo dizajn koji ga "vuče" u smjeru onoga što bi htio prikazati. Uloga dobrog programera nije danas više samo sjediti i pisati programski kod, već pomoći naručitelju da i u tom koraku krene prvo od sadržaja.

Strukturiranjem sadržaja i popisom funkcionalnosti možda se uvidi da WordPress nije dobar alat za blog. Recimo, naručitelj želi točno sebi prilagođeno administrativno sučelje sa funkcionalnošću koju treba po prvi puta isprogramirati. Tada bi dugoročno odgovarao razvoj u CakePHP-u ili nekom drugom framework-u.

Dobar dizajn ne znači nužno "samo ja imam takav dizajn". Puno vremena i novaca štedi se pregledom i odabirom gotovih dostupnih predložaka koji najbolje odgovaraju sadržaju.

A ako je naručitelj baš "zapeo" za vlastiti dizajn u kombinaciji sa WordPress-om – pitajte ga koliko je web stranica vidio, a da za njih pouzdano zna da nisu rađene prema nekom gotovom predlošku uz manje izmjene?

I da ne navučem opravdano gnjev web dizajnera na sebe – dobar dizajn napravljen "po mjeri" naručitelja od strane profesionalnog web dizajnera i dalje može biti prvi ili jedini izbor kod WordPress i CakePHP ili bilo kojih drugih web stranica – pitanje je samo da li se to naručitelju uklapa u njegov vremenski i financijski budžet te u publiku na koju cilja svojim web stranicama.

WordPress je bolji za blog jer …

Postavljanje bloga u WordPress-u sa izabranim gotovim predloškom je najčešće posao od 15-tak minuta do najviše 1 do 2 sata. Vrijeme ovisi o tome koliko zahtjeva ima naručitelj za dodatnu funkcionalnost i da li je potrebno i koliko prilagođavati dizajn.

Odlično je i to što se vrlo lako i brzo dobije višejezičnost i rad sa više korisnika. Lako je i integrirati sa popularnim web servisima za dijeljenje slika, video sadržaja te sa Twitter-om, Facebook-om i sličnim – praktički za sve već postoji gotovi dodatak.

WordPress sa svojim uobičajenim online uređivačem teksta na prvi pogled korisnika ograničava na mali broj zahvata koji može napraviti u tekstu. Zapravo je to odlična stvar jer kad se naručitelj navikne na manje dodatnog uljepšavanja – više se usredotoči na kvalitetan sadržaj. Čak i to nije problem jer se lako zamijeni ili nadogradi sa, npr., vrlo moćnim CKEditor-om.

WordPress je loš izbor za blog jer …

 Hm, teško da će biti loš izbor za blog, ali je potencijalno loš odabir ako naručitelj želi pisati članke, voditi računovodstvo i evidenciju kontakata sa svojim klijentima, itd. Zapravo, loš je odabir kada se želi koristiti više kao neko intranet rješenje (tj. poslovni sustav), za što ionako nije namijenjen.

Iznenadili biste kad biste znali koliko puta mi dolaze potencijalni klijenti sa "Znate, moj prijatelj ima web stranice u Joomli i ja bi takve jer se to meni sviđa". Meni se, recimo, sviđaju cipele koje nosi kolega i njemu stoje kao salivene. Pitanje je da li bi i meni tako stajale jer su njegova stopala bitno različita od mojih – isto je sa potrebama naručitelja pa im kao dobar programer skrenite pozornost na to.

Srećom – lako je podignuti WordPress kao zaseban servis za blog, a ostalo riješiti u nekom drugom alatu, jer WordPress ima dosta načina za komunikaciju sa takvim specifičnim poslovnim sustavima, o čemu bi se dalo napisati zasebnu seriju članaka.

CakePHP je bolji za blog jer …

Nije bolji. Skoro nikad.

Vrijeme koje sam utrošio da bih postigao istu ili sličnu funkcionalnost koju mi nudi WordPress za nekih par sati postavljanja bloga – u CakePHP-u se mjerilo u par dana. Naravno, kretao sam od nule – uzimao sam jedino gotov predložak za dizajn koji je već bio "na pola puta" prema web stranicama jer je bio u HTML/CSS-u. Samo programiranje osnovnih funkcionalnosti bilo je daleko duže i u krajnjem rezultatu puno skromnije od onog što mi je WordPress dao za 15-tak minuta početne instalacije – a to je bilo bez programiranja višejezičnosti, koja bi 2-4 puta produžila izradu.

Najveći plus bio je u tome da sam imao "lean mean fighting machine" CMS koji je radio točno onako kako je meni trebalo i uz to je imao funkcionalnost i polja koja su samo meni bila potrebna. Idealna situacija kada je naručitelj netko kome treba maksimalna jednostavnost i prilagodba, a ne treba cijela hrpa dodatnih mogućnosti.

Dodatni plus razvoja blog CMS-a u CakePHP-u je da kad se jednom napravi prva verzija – za drugu ili prilagođenu treba bitno manje vremena. I da, napisani programski kod poznajem "u dušu" pa mi je i kasnija dorada funkcionalnosti olakšana.

Usprkos svemu, za potrebe bloga, u CakePHP-u preslikati funkcionalnost WordPress-a bi trajalo tjednima, ako ne i mjesecima – a to je već otkrivanje tople vode

Pobjednik za blog na kraju jeeeee …

WordPress – dokle god naručitelju stvarno treba blog ili klasične web stranice, a uz to zna što bi sa svojim sadržajem i ciljanom publikom te mu gotovi dizajn predlošci nisu mrski, dapače!

Osobno sam odustao na kraju od vlastitog bloga u CakePHP-u. Koristim WordPress za bloganje i što ga više koristim to više vidim njegove manje očite prednosti i mane. Ujedno bolje razumijem kolege programere koji se kunu da je to najbolji CMS otkad postoji Internet – isto kao i kolege koji navijaju za Drupal, eZ publish, Joomlu ili čak za CakePHP.

Bitno je samo da web stranice mi programeri ne radimo za sebe, čak ga ne radimo niti za naručitelja. Radimo ih za ciljanu publiku i njihove potrebe i očekivanja bi trebali biti primarni razlog koji ćemu na kraju sustav odabrati.

U idućem nastavku …

Lako je kad je blog u pitanju – a što ako treba poslovni sustav ili web servis? Npr. web aplikacija za prikaz polaska idućeg busa sa osnovnom namjenom prikaza dolaska idućeg busa za željeno početno ili završno stajalište?

O plusevima i minusima odabranih alata više u idućem nastavku, a do tada šaljite komentare i Vaša mišljenja zašto je ipak WordPress car i vladar web dijela svemira

Ivan Posinjak završio je informatički menadžment na Tehničkom veleučilištu u Zagrebu. Zanat je ispekao u IN2 na projektu aplikacije za vođenje mirovinskih i investicijskih fondova.

Tehnička znanja kombinira s komunikacijskim i edukacijskim vještinama. Do sada je obučio više od dvije tisuće osoba različitih nivoa znanja, od osnova rada na računalu, snalaženja u bazama podataka do programiranja poslovnih aplikacija.

Zadnjih nekoliko godina budi se, i liježe, s web tehnologijama, a nemirni duh i želja za učenjem dobro mu pristaju i idu vam u prilog jer će kao freelance IT stručnjak svoje znanje vrlo rado i entuzijastično podijeliti s vama!