SVEUČILIŠTE U SPLITUFAKULTET ELEKTROTEHNIKE, STROJARSTVA I
BRODOGRADNJE
DIPLOMSKI RAD
IZRADA SUSTAVA ZA UPRAVLJANJE WEB SADRŽAJEM (WCMS)
Antonio Perić-Mažar
Split, rujan 2010.
SADRŽAJ
1 SAŽETAK I KLJUČNE RIJEČI.........................................................................................3
2 UVOD..................................................................................................................................4
3 PREGLED CMS SUSTAVA..............................................................................................53.1 ECMS (Enterprise CMS).............................................................................................53.2 DMS – Document managment system.........................................................................63.3 MCMS - Mobile Content Managment System............................................................73.4 CCMS - Component Content Management Systems...................................................73.5 WCMS – Web content management system................................................................8
3.5.1 Mogućnosti...........................................................................................................83.5.2 Tipovi WCMS-a....................................................................................................93.5.3 Online procesiranje (tzv. „frying“ sistemi).........................................................103.5.4 Hibridni sustavi...................................................................................................103.5.5 Povijest WCMS-a...............................................................................................10
4 ANALIZA TRŽIŠTA........................................................................................................114.1 Kako odabrati Portal/WCMS/ECMS?.......................................................................114.2 JOOMLA....................................................................................................................13
4.2.1 Što je Joomla i odakle početi?............................................................................134.2.2 Povijest................................................................................................................144.2.3 Korisnici o Joomli – prednosti i mane................................................................164.2.4 VirtueMart...........................................................................................................17
4.3 WordPress..................................................................................................................174.3.1 Povijest................................................................................................................204.3.2 Twitter vs. Wordpress ili mikroblog vs. Blog.....................................................20
4.4 Drupal.........................................................................................................................224.4.1 Povijest................................................................................................................234.4.2 Kritika i sigurnost Drupal-a................................................................................23
4.5 Usporedba open source CMS rješenja.......................................................................244.6 Komercijalna rješenje.................................................................................................30
5 CUSTOM CMS VS. GOTOVI CMS................................................................................315.1 Definiranje korisničkih zahtjeva Custom CMS-a......................................................325.2 Odabir tehnologije......................................................................................................335.3 Framework.................................................................................................................355.4 Okruženje...................................................................................................................355.5 Proizvod.....................................................................................................................36
6 SNIMANJE PROCESA....................................................................................................376.1 BPM (Business Process Managment)........................................................................376.2 ARIS...........................................................................................................................38
6.2.1 EPC dijagrami.....................................................................................................40
7 SNIMLJENI PROCESI.....................................................................................................427.1 Početak.......................................................................................................................427.2 Ažuriranje osnovnih postavki Internet stranice..........................................................437.3 Uređivanje izbornika..................................................................................................447.4 Upravljanje sadržajem................................................................................................457.5 Upravljanje temama...................................................................................................46
1
7.6 Upravljanje Google Analytics opcijom......................................................................477.7 Upravljanje vijestima.................................................................................................487.8 Upravljanje anketama.................................................................................................497.9 Upravljanje galerijama...............................................................................................517.10 Baza podataka............................................................................................................53
7.10.1 Projektiranje baze podataka................................................................................547.10.2 Logički model.....................................................................................................547.10.3 Fizički model......................................................................................................55
8 MYCTRL CMS.................................................................................................................568.1 Modul novosti............................................................................................................568.2 Modul kategorije........................................................................................................588.3 Modul ankete..............................................................................................................608.4 Modul korisnici..........................................................................................................618.5 Modul teme................................................................................................................628.6 Modul galerija............................................................................................................628.7 Prezentacijski (front-end) dio.....................................................................................63
9 ZAKLJUČAK....................................................................................................................67
10 LITERATURA..................................................................................................................68
2
1 SAŽETAK I KLJUČNE RIJEČI
Sažetak
CMS je sustav koji omogućava kontrolu na sustavu bez velikog ekspertnog znanja o
tehnologijama. U radnji je dan pregled CMS sustava. Analizirane su karakteristike tri
najzastupljenija CMS sustava (Joomla, WordPress i Drupal). Analizirana je tržišna potreba
za specifičnim potrebama koje se ne mogu lako riješiti pomoću gotovih rješenja. Opisan je
način rješavanja takvih specifičnih rješenja izgradnjom vlastitog CMS ciljane
funkcionalnosti, prilagođene zahtjevima korisnika. Opisan je proces izrade vlastitog CMS
sustava. U okviru radnje izrađen je opisani WCMS sustav. Prikazane su i opisane
funkcionalnosti izrađenog web CMS sustava.
Ključne riječi
Content managment system (CMS), planiranje projekata, snimanje poslovnih procesna,
programiranje i dokumentiranje SW, Web content managment system (WCMS), Custom CMS
rješenja
3
2 UVOD
U današnje vrijeme, pogotovo kada su u pitanju Internet stranice, portali i blogovi, potreba za
stalnim i efikasnim načinom ažuriranja sadržaja je jedan od najbitnijih korisničkih zahtjeva.
Želje korisnika su da uz minimalne napore i sa minimalnim poznavanjem određenih
tehnologija mogu na što jednostavniji način ažurirati sadržaj. Ovdje na scenu stupaju CMS
rješenja.
Razvoj weba 2.0 i rast potrebe za raznim WCMS rješenjima su jedan od glavnih motiva
ovoga rada. Većina stvari potrebnih za dosta složenu web stranicu, portal ili blog riješena je u
nekom od gotovih WCMS rješenja, no specifični i veliki projekti zahtijevaju izradu
prilagođenih WCMS rješenja. Također, samo iskustvo autora na području izrade prilagođenih
rješenja (Spremačica [3], HotelJobs [4], Zicerdana [5], Uniqsouvenirs [6], Poklanjanje [7])
dodatna je motivacija i izazov za proučavanje i analiziranje trenutno dostupnih CMS rješenja,
te izradu novog prilagođenog WCMS rješenja.
U trećem poglavlju ovoga rada obradit će se svih šest vrsta dostupnih CMS rješenja. Četvrto
poglavlje donosi analizu tržišta i pregled najpoznatijih i najpopularnijih WCMS rješenja
trenutno na tržištu, te njihovu usporedbu. Peto poglavlje će se baviti usporedbom gotovih i
prilagođenih rješenja. Nakon toga u šestom i sedmom poglavlju slijedi snimanje procesa za
prilagođeni WCMS koji će se izraditi u sklopu ovoga rada. Osmo poglavlje donosi pregled
baze podataka sustava koji se izrađuje u sklopu ovoga rada. Pretposljednje, deveto poglavlje
se bavi izrađenim sustavom, točnije prezentacijom njegovih mogućnosti. Na kraju slijedi
zaključak.
4
3 PREGLED CMS SUSTAVA
Što su CMS rješenja? CMS (Content Management System) je sustav za upravljanje web
sadržajem. Doslovan prijevod na hrvatski jezik bi bio „sustav za upravljanje sadržajem“ i
predstavlja programsko rješenje za upravljanje sadržajem web stranica novije generacije.
Svaki CMS se sastoji od niza procedura koje se koriste za upravljanje radnim tokom u
zajedničkom okruženju. CMS je back-end dio aplikacije (web site-a) koji se koristi za
manipulaciju njenim sadržajem, te pristup samom CMS-u je uglavnom ograničen na mali broj
korisnika (npr. Administratori, moderatori...), dok se prezentacijski sloj naziva front-end i on
je ono što krajnji korisnik vidi kada pristupi sadržaju.
CMS se najčešće koristi za: spremanje, izmjenu, brisanje, kontroliranje i publiciranje
podataka. Podaci mogu biti bilo što: slika, video, tekst, telefonski broj, znanstveni podaci itd.
Vrsta podataka ovisi o samom sadržaju – tematici aplikacije. Logično je da će se podaci iz
industrije računalnih igara razlikovati od podataka iz avio industrije.
CMS je u samom startu skuplje rješenje od klasičnih HTML stranica, ali se s vremenom može
vrlo lako isplatiti. Na tržištu danas postoje mnoga besplatna – tzv. "open source“ CMS
rješenja [8], od kojih su neka zaista dobra, a u narednim poglavljima vidjeti ćemo koje su
njihove prednosti i mane.
Postoji šest glavnih vrsta CMS-a, koja se dijele po svrsi korištenja: Enterprise CMS (ECMS);
Web CMS (WCMS); Document mangment system(DMS); Mobile Content Managment
System; Component content managment system; Media content managment system. O
svakom od njih reći će se par riječi u narednim potpoglavljima.
3.1 ECMS (Enterprise CMS)
Enterprise CMS [9] se odnosi na tehnologije, metode, strategije i alate koji se koriste za
hvatanje, obradu, spremanje, pripremu i dostavu podataka i dokumenata nekoj organizaciji ili
procesu.
ECMS kombinira širok spektar tehnologija i komponenti, od kojih se neke mogu koristiti i
samostalno, odvojeno od samog ECMS-a.
5
Pet glavnih komponenti ECMS-a su:
- Hvatanje podataka
- Obrada podataka
- Spremanje podataka
- Obrada podataka
- Dostava podataka
Te komponente su definirane od strane AIIM-a (Association for Information and Image
Management International).
Komponenta obrada podataka tradicionalno sadrži sljedećih pet komponenata:
- Obrada podataka (DM)
- Kaloboridacija (groupware)
- WCMS (Web CMS)
- Spremanje podataka na medije (RM – record managment)
- Workflow/business process managment (BPM)
3.2 DMS – Document managment system
Document managment system (DMS) [10] je sistem računala ili više aplikacija koji se koriste
za praćenje i spremanje elektroničkih dokumenata i/ili fotografija papirnatih dokumenata.
Često dolazi kao komponenta ECMS-a.
Komponente DMS-a su:
- Metadata (ključne riječi, opis dokumenta, vlasnik dokumenta... koriste se prilikom
pretraživanja dokumenata kao identifikacija dokumenta)
- Integracija (podržavanje više različitih standarda, tako da se isti dokument može
koristiti na više različitih platformi)
- Hvatanje podataka (prilikom skeniranja fotografija često se koristi OCR (Optical character recognition) da bi se tekst na slici pretvori u metadata podatak)
- Indeksiranje (davanje jedinstvenog broja ili oznake svakom dokumentu)
- Spremanje dokumenata
- Dohvaćanje dokumenata
- Distribucija dokumenata6
- Sigurnost dokumenata
- Pretraživanje dokumenata
- Objavljivanje dokumenata
3.3 MCMS - Mobile Content Managment System
MCMS je tip CMS-a koji se koristi kod mobilnih uređaja (Smart phones, mobiteli, PDA...).
Ovaj tip CMS-a mora biti u stanju pohraniti, obraditi i dostaviti podatke u obliku kakav
podržavaju mobilne uređaji. Prilikom ispunjenja svih zahtjeva mora se misliti i na kanal kojim
će se podaci prenositi (npr. ograničena brzina bežičnog Interneta). Također, prikaz podataka
mora biti prilagođen prikazivanju na zaslonu mobilnih uređaja, koji su dosta manje nego
zaslon prijenosnih računala ili stolnih računala. Kompatibilnost sa što većih brojem uređaja je
još jedna od ključnih stavki.
3.4 CCMS - Component Content Management Systems
CCMS [11] vrši kontrolu na dokumentima na razini komponenata, za razliku od ostalih CMS-
ova koji kontrolu vrše nad samim dokumentima.
Svaka komponenta je posebna za sebe. Komponenta može biti tema, koncept ili zadatak.
Komponente mogu biti velike kao poglavlje ili male kao jedna jedina riječ.
Svaka komponenta ima životni vijek, vlasnika, verziju, ograničenja pristupa i korištenja, te se
može pratiti individualno ili kao dio veće cjeline.
Prednosti korištenja ovakvog sustava su:
- Veća učinkovitost
- Manji troškovi održavanja
- Manji troškovi dostave
- Manji troškovi prebacivanja
CCM se može koristiti samostalno ili kao dio nekog drugo CMS-a (npr WEB CMS-a).
7
3.5 WCMS – Web content management system
WCMS (WCM ili Web CMS) [12] je CMS implementiran kao web aplikacija, koja služi
kreiranju i održavanju HTML sadržaja. Namijenjen je održavanju velikih i dinamičkih HTML
sadržaja. Osnovne funkcije WCMS-a su: kreiranje, održavanje, izmjena, brisanje HTML
sadržaja i ostale nužne funkcije koje se odnose na jednu dinamičku Internet stranicu.
WCMS je osmišljen tako da i korisnici koji imaju veoma malo znanja o web programiranju
i/ili markup jezicima mogu jednostavno i brzo izmijeniti željeni sadržaj stranice. Glavni
zahtjev WCMS-a je da administratori, koji nisu tehnički obrazovani kao ljudi koji razvijaju
Internet stranice, mogu bez ikakvih poteškoća održavati Internet stranicu putem WCMS-a.
Za spremanje podataka WCMS uglavnom koristi baze podataka (npr. mysql) ili XML
datoteke.
Administracija WCMS-a se obavlja preko sučelja u Internet pretraživaču, iako neki sustavi
zahtijevaju korištenje takozvanog „fat“ klijenta, no to je rijetkost.
Svaki WCMS ima prezentacijski dio i administrativni dio. Prezentacijski dio je onaj na kojem
krajnji korisnik dolazi do samog sadržaja, te preko njega vrši interakciju sa podacima.
Administrativni dio je dio koji nije dostupan svim korisnicima, za razliku od prezentacijskog
dijela (iako ni on nije nužno vidljiv korisnicima). U administrativnom dijelu, kojem pristup
imaju samo određeni ljudi (npr. Administratori) se vrši sva kontrola sadržaja: objavljuju se
članci, izmjenjuju se članci, dodaju se fotografije…. Zaista, mogućnosti su neograničene.
3.5.1 Mogućnosti
WCMS je aplikacija koja omogućava održavanje i kontrolu dinamičkih Internet stranica
(HTML dokumenti, fotografija i drugi mediji).
Tipični WCMS ima sljedeće mogućnosti:
- Automatizirane predloške (templates) – Kreiranje standardnih predložaka
(HTML/CSS ili XML) i njihovo postavljanje na novu ili već postojeću dinamičku
Internet stranicu koja je pod kontrolom WCMS-a mora biti jednostavno i
omogućeno sa jednog centralnog kontrolnog mjesta.
8
- Jednostavna izmjena sadržaja – U centralnom kontrolnom mjestu se sadržaj
izdvaja od prezentacijskog (front-end) dijela, te je tu izmjena sadržaja veoma
jednostavna i za ne-tehnički obrazovane osobe. Većina WCMS aplikacija ima
ugrađen tzv. WYS/WYG alat kojemu je svrha omogućiti ne-tehnički obrazovanim
osobama jednostavnu izmjenu željenog sadržaja
- Dodatne mogućnosti – Većina WCMS-ova ima mogućnost instaliranje i
proširenja sustava sa raznim dodacima
- Upgrade – WCMS bi trebao podržavati redovite izmjene (upgrade/update), zbog
čestih promjena u web standardu.
- Sustav tijeka zadataka – Ovaj modul treba omogućiti unutar WCMS-a zadavanje
određenih radnji koje trebaju biti ispunjene, te njihovu kontrolu od početka pa do
kraja. Na primjer, moderator može kreirati članak, ali on neće biti objavljen dok
administrator ne napravi kontrolu članka i odobri ga.
- Upravljanje korisnicima – WCMS bi trebao imati kategorizacija (rangiranje)
korisnika, te ovisno o tome svaki korisnik ima određene privilegije. Npr. neki
korisnik smije objaviti članak, ali ga ne smije obrisati, a njegov članak da bih bio
objavljen mora biti odobren od osobe na vrhu piramide. Također osoba na vrhu
piramide mora imati sve ovlasti nad niže rangiranim korisnicima.
- Kontrola dokumenata – WCMS mora omogućiti kontrolu dokumenta od
njihovog stvaranja, preko pregledavanje, objavljivanje i izmjene, pa do samog
uništavanje dokumenta.
- Ugrađeno pretraživanje – S vremenom dolazi do prenatrpanosti sadržaja, te je
pretraživanje sadržaja ključna stvar
- Višejezičnost – Svaki ozbiljniji WCMS bi trebao imati podršku za višejezičnost
- Optimizacija – Ključna stvar je da WCMS bude optimiziran, tj. sadržaj koji se
objavljuje mora biti u formatu koji je optimiziran za tražilice jer jedan od željenih i
ključnih ciljeva je sto bolje pozicioniranje na stranicama Internet pretraživača
(Google, Bing, Yahoo…)
3.5.2 Tipovi WCMS-a
Postoje tri glavna tipa WCMS-a: offline procesiranje, online procesiranje i hibridni sistemi.
9
3.5.3 Online procesiranje (tzv. „frying“ sistemi)
Ovi sustavi generiranju predložak na zahtjev. HTML može biti generiran kada posjetitelj
posjeti stranici ili može biti izvučen iz cache-a.
Većina open source WCMS sustava ima mogućnost dodavanja raznih dodataka, koji
omogućavaju širi spektar mogućnosti uključujući: forume, blogove, wikipediju, web trgovine,
foto galerije, raznorazne kontakt forme itd. Ovi dodaci se često nazivaju moduli, čvorovi,
elementi, dodaci ili proširenja (ekstenzije). Moduli (dodaci) su bazirani na slobodnim ili
plaćenim dozvolama za razvijanje istih. Različiti WCMS-ovi imaju različite module
(dodatke).
3.5.4 Hibridni sustavi
Neki sistemi kombiniraju i offline i online pristup. Napise se izvršni kod (npr. jsp, asp,
PHP...) umjesto statičkog HTML-a, tako da sam WCMS ne treba biti postavljen na svakom
Web serveru.
3.5.5 Povijest WCMS-a
WCMS se počinje formalno razvijati kao komercijalni proizvod sredinom 1990. Sredinom
2000. godine na tržištu se pojavljuje veći broj WCMS-a, te se pojavljuje veći broj proizvoda
koji se nastavljaju na tradicionalnu ideju WCMS-a.
Danas na tržištu postoji mnoštvo WCMS-ova, uglavnom svaka firma razvija svoj za
komercijalnu upotrebu, a također su dostupna i vrlo dobra open source rješenja (npr.
wordpress, joomla...) o kojima će se više govoriti u nadolazećim poglavljima.
10
4 ANALIZA TRŽIŠTA
Opensourcecms.com [8] je Internet stranica koja se bavi besplatnim (open source) WCMS
rješenjima. Na njoj se mogu pronaći sva WCMS rješenja koja su našla barem malo mjesta pod
zvijezdama. Svaki WCMS koji je uvršten na ovu stranicu je moguće testirati bez instalacije.
Stranica trenutno broji 231 WCMS rješenje u svojoj bazi, a razvrstani su u sljedeće
kategorije: CMS/Portali, Forumi, Lite, Blogovi, Groupware, Portali namijenjeni školovanju
(npr. e-learning), Foto galerije, eCommerce, Ostali i Wiki.
Za ovaj rad najzanimljivije kategorije su CMS/Portali i Blogovi, no jednim malim djelom u
sljedećim poglavljima dotaknuti će se i eCommerce.
U ovom poglavlju će se napraviti pregled stanja na tržištu. Obuhvatiti će se open source
rješenja – rješenja koja su besplatna, dobro dokumentirana i dostupna svima, te kratki pregled
rješenja koja nude tvrtke u Hrvatskoj općenito.
Prvo će se u par crta objasniti kako odabrati adekvatan CMS za određeni WEB projekt.
4.1 Kako odabrati Portal/WCMS/ECMS?
Ovo je zaista teško, ali i bitno pitanje na koje treba odgovoriti prije bilo kakvog pokretanja
Internet stranice (u krajnju ruku možemo reći Internet posla).
Na prvi mah sva tri rješenja se čine jednaka, što i nije daleko od istine. U većini područja se
poklapaju, a i mnoge firme koje se bave razvojem Internet sadržaja će vam probati prodati ili
sve troje ili jedno, koje uključuje to troje.
Ako se uđe malo dublje u materiji može se lako uvidjeti da svaki od tri navedena ima svoje
prednosti i mane, ali i da za neko područje jedan bolje odgovara od drugoga. Prvenstveno
može biti cijena prilikom pokretanja postavljanja projekta na Internet. U praksi se preporuča
uzimanje opcije koja prvo pokriva vaše najpotrebnije i najbitnije zahtjeve i onda nad tim
nadograđivati i širiti projekt.
Moguća su tri scenarija (Slika 4-1 Tri moguća scenarija)
11
Slika 4-1 Tri moguća scenarija
Iz priložene slike se može vidjeti da je WCMS scenarij orijentiran na objavljivanje, te je način
objavljivanja dokumenata ključan korisnički zahtjev. Kod portala imamo više različitih
portala, te odabiremo onaj koji najviše odgovara našem poslu. ECMS je procesno orijentiran.
Naravno, scenariji se preklapaju, te se možete upitati kakva je onda zapravo razlika između:
globalnog intraneta (WCMS), „Enterprise intranet“ (Portal) i „Enterprise Web publishing“
(ECMS). Odgovor je veoma mala.
Najveća i najbitnija razlika među ove tri tehnologije je u načinu objavljivanja i spremanja
dokumenata. WCMS teži ka što jednostavnijem, lakšem održavanju i objavljivanju
dokumenata. Portali se više baziraju na aplikacije koje korisnik odabere, dok ECMS teži
prikupljanju informacije i spremanju i sebi poznatom formatu radi lakšeg korištenja.
Da bi najbolje iskoristili ovako podijeljene scenarije, možda je bolje gledati sa alternativnog
pristupa. Dakle, ova tri scenarija vam ne trebaju reći što odabrati, nego što sigurno nećete
odabrati. Kada znate točno što i kako želite, tada možete pregovarati sa osobom – firmom
koja vam može pružiti odgovarajuću aplikaciju i njeno postavljanje na Internet. Ključno je
voditi se da aplikacija prvo ispuni vaše najbitnije zahtjeve, zatim idu cijena i ostali manje bitni
zahtjevi.
12
4.2 JOOMLA
Prema opensourcecms.com portalu i ocjeni korisnika Joomla [13] drži uvjerljivo prvo mjestu
mežu CMS rješenjima sa ocjenom 4.9 od 5. Sljedeći na ljestvici su Redaxscript (4.1/5), CMS
Made Simple (4.1/5), PHP-Fusion (4.1/5)...
4.2.1 Što je Joomla i odakle početi?
Ako tražite jednostavan i efikasan način za kreiranje vlastite Internet stranice, nesumnjivo ste
se susreli s terminom Content Management System (CMS). U prijevodu, 'Sustav za
Upravljanje Sadržajem' znači upravo to, mogućnost jednostavnog unosa, uređivanja,
organizacije i objavljivanja sadržaja na vašoj Internet stranici. Joomla je sve to i puno više.
Joomla je novi proizvod nekadašnjeg Mambo Razvojnog Tima. Ljudi koji su Mambo
pretvorili u višestruko nagrađivani Open Source projekt, nastavljaju raditi pod novim
imenom. Aktualna Joomla 1.0 uz rebranding donosi ispravke bugova i neke nove mogućnosti,
ali se u osnovi ne razlikuje puno od Mamba 4.5.2. To znači da bi većina komponenti i ostalih
elemenata kreiranih za Mambo 4.5.2 trebala biti kompatibilna sa Joomla 1.0 sustavom
Jednostavnost od početka
Od instalacije, preko unosa i organizacije sadržaja, pa sve do objavljivanja potpuno
funkcionalne stranice, Joomla je dizajnirana za jednostavnost. Iako iz iskustva mogu reći da u
tome nije baš uspjela.
Mogućnosti
Joomla je kompletan sustav pogodan za korporacijske stranice kao i za jednostavne osobne
stranice. Samo neke od mogućnosti su:
- Podrška za višestruke autore sadržaja
- Odobravanje sadržaja prije objavljivanja
- Početak i završetak objavljivanja sadržaja na unaprijed zadani datum
- Unos statičnog (nekategoriziranog) sadržaja
- Arhiviranje starijih sadržaja uz mogućnost dearhiviranja
- Mogućnost ocjenjivanja sadržaja
- Učitavanje eksternih stranica uz pomoć Wrapper komponente
- Podrška za vizualne editore
13
- Upload slika za jednostavno korištenje na Internet stranici
- Organizacija sadržaja u sekcije i kategorije
- URL Format Pogodan za Tražilice
- Napredni administracijski sustav
- Podrška za višestruke administratore i/ili moderatore
- Grupiranje korisnika po Pristupnom Nivou
- Lokalizacija korisničkog sučelja i administracije
- Caching mehanizam za još bolje performanse na prometnim stranicama
- Kreiranje jednostavnih anketa
- Upravljanje privremeno izbrisanim sadržajima (poput Recycle Bin)
- Objavljivanje reklama uz pomoć Baner komponente
- Napredna instalacija dodatnih elemenata (komponente, moduli, mamboti,
predlošci)
- Sustav web pomoći
Nadogradnja
Joomla omogućava vrlo jednostavnu Point & Click instalaciju dodatnih komponenti uz
pomoć kojih možete proširiti funkcionalnost vaše stranice. Važno je napomenuti da većina
komponenti pri instalaciji kreira svoje direktorije, datoteke i tablice u bazi, a ne dira u već
postojeće. Ako želite instalirati forum, galeriju ili nešto treće, dovoljno je pronaći i instalirati
odgovarajuću komponentu (Joomla! Extensions Directory je najbogatiji izvor GPL
komponenti i ostalih Joomla elemenata).
Licenca
Joomla je objavljena pod GNU/GPL licencom. Dakle, ne samo da je besplatna nego vam daje
skoro potpunu slobodu u mijenjanju koda u skladu s vašim željama i potrebama.
4.2.2 Povijest
Joomla je nastala 17.08.2005. raspadanjem Mambo tima. Mambo je sve do tada bio zaštićeni
trademark Miro International Pvt Ltd, koji su formirali neprofitabilnu zakladu kojoj je bio cilj
financirati projekt i sačuvati ga od zakonskih tužbi. Razvojni tim je tvrdio kako su mnoge
odredbe organizacije otišle daleko do temeljnih pravila koja su postavljena od upravnog
odbora Mamba na početku projekta, te da se krše temeljna načela open source projekata.
14
Razvojni tim je tada pokrenuo Internet stranicu nazvanu OpenSourceMatters kojoj je cilj bio
dijeljenje informacija među korisnicima, developerima, web dizajnerima i među cijelim
„community-em“, a voditelj tima je Andrew Eddie poznat kao „MasterChief“ je napisao
otvoreno pismo cijeloj udruzi.
Odgovor publike je bio bolji od očekivanog, rako se već prvog dana preko tisuću ljudi
priključilo opensourcematters.org portalu i većinom su svi davali riječi podrške, a portal je
doživio tzv. slashdot effect (ovaj fenomen se dešava kada popularne stranice stave poveznicu
na manje stranice, te manje stranice dožive veliki skok u prometu).
Dva tjedna nakon Eddijeve objave, razvojni tim se reorganizirao i društvo je nastavilo rasti.
Eben Moglen i Software Freedom Law Center (SFLC) su pomogli Joomlu i jezgra tima u
osmom mjesecu 2005 godine počela sa projektom. SFLC i dan danas daje Joomli zakonske
vodilje i pomoć.
18.08.2005. godine se otvara natječaj za izbor imena projekta. Tim je odlučio donijeti
konačnu odluku na temelju prijedloga članova društva. 1.9.2005 godine objavljuje se
službeno ime projekta – Joomla što znači „svi zajedno“ ili „kao cjelina“.
Sljedeći potez prije objavljivanja prve verzije Joomle je bio odabir loga (Slika 4-2 Joomla!
službeni logo). 01.09.2005. opet je objavljen natječaj unutar društva, te su članovi imali pravo
slati prijedloge i glasati za isti. 22.09.2005 je konačno i odabran službeni logo Joomle.
2.10.2005 nakon odabira imena, loga i uputa za brand napravljena je službena objava istih, te
su pušteni u korištenje.
Slika 4-2 Joomla! službeni logo
16.09.2005 godine je puštena prva verzija Joomle. To je bila dorađena verzija Mambo 4.5.2.3
aplikacije sa ispravljenim bugovima i poboljšanom sigurnošću. Joomla dvije godine zaredom,
2006 i 2007, osvaja Packt Publishing Open Source Content Management System nagradu.
15
27.10.2008 Packt Publishing dodjeljuje Johan Janssen-u nagradu MVP, za najvrjedniju osobu,
za njegov rad na mjestu voditelja razvojnog tima na projektu 1.5 Joomla Framework and
Architecture. 2009 godine MVP nagradu dobiva Louis Landry za svoju ulogu na razvoju
Joomla arhitekture i koordinatora razvoja.
Joomla 1.5 je objavljena 22.01.2008. godine. Trenutna verzija je 1.5.15, a testira se 1.6 alfa.
2009. godine Jooma je proglašena najpopularniji open source CMS rješenjem od strane Open
Source CMS Market Share Report-a.
4.2.3 Korisnici o Joomli – prednosti i mane
Svi će se složiti da je Joomla upravo ono za što je namijenjena. Dakle jednostavna aplikacija
za kompleksnije Internet stranice koja može i ne mora imati goste i registrirane korisnike.
Postoji velika količina besplatnih predložaka za izgled Joomle i veliki broj modula koji mogu
obogatiti sadržaj Internet stranice.
Joomla zahtjeva određeni period vremena za savladavanje i početak naprednog korištenja, no
svaka složenija aplikacija ima jednaki problem. Jednom kada se savlada korištenje Joomle,
njenih predložaka, modula i naravno sam koncept rada Joomle kreiranje Internet stranica
postaje poprilično jednostavno. Problem je jedino što određeni period može određenim
korisnicima biti ipak malo predug, jer ruku na srce Joomla i nije baš najjednostavniji CMS na
svijetu.
Veoma dobra dokumentacija Joomle dozvoljava naprednijim korisnicima, koji su upućeni u
PHP skriptni jezik, pisanje novih dodataka i modula za Joomlu, što onda predstavlja
neograničene mogućnosti.
Uz dobru dokumentaciju na Internetu se može pronaći i veliki broj tutorijala za Joomlu. Neki
od njih su napisani od strane developera Joomle, dok je većina tutorijala napisana od malo
naprednijih korisnika Joomle, a svi tutorijali se mogu pohvaliti sažetošću i jednostavnošću.
Pohvala stvar je sam community Joomle, koji je živ i svakim danom broji sve više ljudi, te se
Joomla konstantno razvija na bolje uz pomoć najboljih kritičara - samih korisnika Joomle.
Dosta komercijalnih projekata odrađenih od strane firmi koje se bave razvojem Internet
sadržaja – Internet stranica u prvom planu se oslanja na Joomlu.
16
No, unatoč svim navedenim prednostima Joomla ima i mane, te mnoge dobre konkurente. O
tome će se pričati u jednom od sljedećih poglavlja, dok će se naredno poglavlje pozabaviti
malo e-commerce rješenjem za Joomlu – VirtueMart-tom.
4.2.4 VirtueMart
Kao što reklamni slogan VirtueMart-a kaže VirtueMart [14] je besplatno online shop rješenje
za Joomlu.
VirtueMart je open source rješenje koje se koristi zajedno sa Joomlom. Napisano je u PHP-u
kao i Joomla i koristi klasičnu PHP/MySQL strukturu.
Njegova ideja vodilja je da se omogući prodaja dobara preko Interneta i da posao podigne na
novu razinu. Unatoč tome što je open source VirtueMart se ponosi performansama,
iskoristivošću i sigurnošću, te iako nije jedino e-commerce rješenje za Joomlu, definitivno je
najbolje, te uz to je potpuno besplatno. Može se jednostavno skinuti sa Interneta, instalirati,
modificirati bez ikakve naknade.
Iza ove aplikacija ili bolje nazovimo modula za Joomlu nalazi se jako mali razvojni tim.
Svega 3-5 aktivnih developera stoji iza njega, ali uz pomoć aktivnih korisnika i vanjskih
suradnika unutar community-a, koji je također jako aktivan, VirtueMart napreduje iz dana u
dan.
Također treba napomenuti da je cijela aplikacija jako dobro dokumentirana, te popraćena
blogom i odličnom Internet stranicom.
4.3 WordPress
WordPress (WP) [15] je open source aplikacija namijenjena prvenstveno za održavanje i
kreiranje blogova. Bazira se na PHP/MySQL strukturi. Može se koristiti i kao klasična CMS
aplikacija.
WP se može pohvaliti prijateljskim radnim okruženjem, velikom bazom dodataka, te velikom
bazom predložaka. Ima razvijen sistem za predloške, koji uključuje i razno razne dodatke, te
se može lako dodati bez izmjenjivanja PHP ili HTML koda. Može se instalirati i više
predložaka (tema), te se jednostavno prebacivati sa jedne na drugu. Za napredne korisnike
postoji i mogućnost mijenjanja PHP i HTML koda radi veće kastumizacije. WP ima
17
mogućnosti jednostavnog manipuliranja linkovima, user-frendly pretraživanja, tagiranje, te
jednostavno održavanja i stiliziranje svih članaka ili linkova. Automatski filtri koji omogućuju
stiliziranje pravilno formiranje i stiliziranje teksta u člancima su također uključeni u WP. WP
ima i opcije tzv. Trackback i Pingback koje omogućavaju povratak na stranice sa kojih se
došlo na trenutno stranicu generiranu putem WP-a. Mogućnosti dodavanja modula i raznih
dodataka su kao i kod Joomle beskonačne. Ostavljena je mogućnost pravljenja svojih kao i
dodavanja već postojećih.
WP uvodi i jednu novost u svoju strukturu. Mogućnost korištenja WP admin panela na
iPhone/iPod Touch i BlackBerry uređajima.
Veliki nedostatak WP je izostanak kvalitetnog business modula kao VirtueMart kod Joomla
CMS-a.
Struktura WP-a se može vidjeti na slici Slika 4-3 Struktura WordPressa, a na Slika 4-4
WordPress logose nalazi logo WP-a.
18
Slika 4-4 WordPress logo
4.3.1 Povijest
B2/cafelog, poznatiji kao b2 ili cafelog, je preteča WP-a. Procjenjuje sa da je b2/cafelog bio u
pozadini preko 2000 blogova od petog mjeseca 2003 godine. On je također napisan u PHP sa
MySQL bazom, a njegov kreator je Michel Valdrighi koji je danas važan član razvojnog tima
WP-a. Uz ova dva projekta bitno je spomenuti i b2evolution koji je, iako sporedan projekt uz
WP, u aktivnom razvoju.
WP se pojavljuje 2003. godine kao rezultat zajedničkog rada Matt Mullenweg-a i Mike Little-
e. Ime WordPress je uzeto na inicijativu i prijedlog Christine Selleck, prijateljice od
Mullenweg-a.
WP dobiva na popularnosti 2004 godine. 2009.godine je proglašen najboljim i najsnažnijim
brandom u području open source CMS projekata od strane Open Source CMS Market Share
Report-a.
2007. godine se donosi odluka da se svi sponzorski linkovi maknu sa predložaka WP-a, a
2008. godine se ista odluka donosi i za sve module i plug-inove.
Posljednja verzija WP-a je izasla 19.12.2009. godine pod kodnim imenom Carmen. Sve
verzije WP poslije 1.0 imaju neko kodne ime, redom su išli: Mingus, Stayhorn, Duke, Ella,
Getz, Dexter, Brecker, Tyner, Coltrane, Baker, Carmen.
Danas je WP prerastao marigine svoje glavne ideje vodilje, od CMS sustava za blogove,
postao je najpopularniji i naj moćniji WCMS open source sustav. Dosta korisnika Joomle je
prešlo sa Joomle na WP radi njegove podrške i jednostavnijeg pristupa.
4.3.2 Twitter vs. Wordpress ili mikroblog vs. Blog
„Prije godinu dana, vrijedilo je mišljenje da su blogovi polako na umiranju i da će ih
zamijeniti microblogovi. Twitter je taj koji je trebao “smaknuti” blogove i to zbog činjenice
što je objava sadržaja izuzetno jednostavna i brza, a bazira se na objavi rečenice ili pojma do
20
140 znakova, za što je potrebno vrlo malo vremena, dok je s druge strane za blog potrebno
pisanje postova od po nekoliko paragrafa, te je potrebno izdvojiti daleko više vremena,
istraživanja i samog sebe. Ovo je mišljenje autora posta sa Techcruncha.
Danas je situacija malo drugačija od predviđane. Dok se blogovi i dalje koriste i imaju stalnu
stopu rasta, Twitter se bori sa nekom vrstom “poravnanja rasta”. Drugim riječima nema rasta.
Ta tendencija stagniranja je primijećena negdje tokom ljeta prošle godine i to na američkom
korisničkom tržištu. Ove godine pa do danas je primjetan generalno lagani rast, ali uzimana je
statistika svjetskog tržišta (imajmo na umu lagani odmak od cca godinu dana koliko ostatak
svijeta kasni za SAD). Evo malo brojaka prema istraživanju tvrtke comScore: U listopadu je
Twitter posjetilo 58.3 milijuna jedinstvena korisnika, što je nešto manje od mjesec dana prije
kada je u rujnu posjećenost bila 58.4 milijuna. S druge strane Wordpress.com u međuvremenu
dobiva 10 milijuna jedinstvenih korisnika više te će ta brojka do kraja mjeseca biti oko 151.8
milijun. Govorimo o Wordpress.com online servisu, korisnici Wordpress engine-a nisu u tim
brojkama, ali svakako idu u korist blogera.
Prema tome zaključku vidljivo je da se blog sam po sebi nije pomicao s trona, on je i dalje
daleko jači alat od mikrobloga. Uzmimo još samo primjer Blogger servisa koji broji oko
291.7 milijuna jedinstvenih posjeta. Doduše ovi mjesečni rasti i padovi svakako nisu
referentne brojke za daljnje pretpostavke, no ono što stvarno sa sigurnošću možemo utvrditi je
da mikrobloging nikad nije ugrozio blogere. Dapače Twitter je samo pomogao distribuiranju i
širenju blogova i blog postova. Statistiku se može vidjeti na Slika 4-5 Omjer rasta WP-a i
Twitter-a. [16].
21
Slika 4-5 Omjer rasta WP-a i Twitter-a
4.4 Drupal
Drupal [17] je besplatan i open source CMS sustav napisan u PHP-u i distribuiran pod GNU
licenci. Koristi se kao back-end aplikacija za različite tipove Internet stranica, počevši od
osobnih blogova do velikih korporacijskih i političkih stranica, uključujući i Internet stranicu
Bijele kuće [5] što je Drupalu donijelo veliku popularnost, te veliki plus po pitanju povjeranja
i sigurnosti od strane korisnika. Također se koristi za baze podataka znanja i kordinaciju u
poslovnim aktivnostima. Logo Drupala se može vidjeti na Slika 4-6 Logo Drupala.
Slika 4-6 Logo Drupala
Standardna verzija Drupal-a, poznata kao Drupal core, sadrži osnovne mogućnosti zajedničke
za većinu CMS rješenja. Ovo uključuje upravljanje korisnicima od registracije do
dodjeljivanja određenih dopuštenja i uloga, kreiranje i manipuliranje izbornicima, RSS vijesti,
prilagođavanje i mijenjanje izgleda stranice, prijavljivanje i administriranje sistema. Nakon
jednostavne instalacija, bez ikakvih dodataka, Drupal omogućava kreiranje klasične web
stranice, jednostavnog bloga ili bloga za više korisnika.
Drupal je napravljen tako da omogućava dodavanje novih modula koji se mogu dodati na
jezgru Drupala. Dodavanje novih modula je poprilično jednostavno i automatizirano. Razvoj
novih modula uz Drupal dokumentaciju također ne bi trebao biti preveliki problem, te se
drupal često naziva web application framework [18] ili content managment framework. Veliki
plus Drupal-u je automatizirano osvježavanje svih sigurnosnih dodataka i novih verzija
modula i same jezgre Drupal-a.
Drupal je najotvoreniji prema programerima od sva tri navedena open source CMS-a, ali za
pokretanje i postavljanje Internet stranice nije potrebno nikakvo poznavanje programiranja.
22
Drupa spada u apstraktni framework jer napušta klasični MVC[19] arhitekturu, a umjesto nje
koristi PAC[20] arhitekturu. Može se instalirati na bilo kojoj platformi koja podržava web
servere sa PHP verzijom 4.3.5. i dalje, te sa bazom podataka MySQL ili PostgreSQL za
spremanje svih podataka i postavki.
4.4.1 Povijest
Drupal je originalno zamišljen i napisan kao ploča za razmjenu poruka od strane Dries
Buytaert-a [21], a 2001. Godine postaje open source projekt. Riječ drupal dolazi od
nizozemske riječi „druppel“ što znači spustiti, ispustiti. Buytaert je htio nazvati projekt
„Dorp“ što je na nizozemskom riječ za selo zbog community-a, ali mu se prilikom registracije
domene Drupal učinilo zvučnijim.
Veliki community danas stoji iza Drupala i pomaže pri njegovom svakodnevnom razvoju, a
popularnost Drupal-a je iz dana u dan sve veća. U manje od godinu dana, točnije od petog
mjeseca 2007.godine do četvrtog mjeseca 2008.godine Drupal je „skinut“ oko milion i pol
puta, što je bilo povećanja od oko 125% od prethodne godine.
Do četvrtog mjeseca 2009. Godine oko 70 poznatih brandova i neprofitabilnih organizacija
koriste Drupal. Drupal je također pobjednik nekoliko Packt Open Source CMS nagrada, a tri
puta za redom je pobjednik nagrade Webware 100[22].
Zadnja verzija Drupala je izašla u trećem mjesecu 2010 godine, Drupal 6.16. Uskoro se
očekuje i Drupal 7 koji je trenutno u alpha fazi.
4.4.2 Kritika i sigurnost Drupal-a
Iako je velika promocija za Drupal učinjena time što je Bijela kuća [23] odabrala upravo ovaj
CMS za svoje Internet stranice, jako bitno je napomenuti da je Bijela kuća uložila osamnaest
miliona dolara za prilagođavanje Drupal-a svojim zahtjevima. Ovdje se već vidi veliki
nedostatak gotovih CMS rješenja nasuprot Custom rješenja, ali o tome kasnije.
Uporabljivost: Upravljanje Drupalom iz administratorskog sučelja za administratore
početnike zna biti otežavajuće i pomalo zbunjujuće. Jednostavno rečeno Drupalu nedostaje
jednostavno administratorsko sučelje. Za Drupal 7 je najavljeno da neće biti pušten u
produkciju dok se ne riješi 90% problema identificiranih od strane Minnesota i Baltimore
sveučilišta koja su referentna za validacije uporabljivosti sučelja.
23
Krivulja učenja: Krivulja učenja Drupal-a nije nepristrana, neiskusni korisnici će teže
shvatiti Drupal (više je orjenitiran programerima, nego krajnjim korisnicima)
Reverzna kompatibilnost: Dizajneri i programeri dodanih modula za Drupal se dosta često
žale na probleme koji nastaju prilikom nove verzije Drupala. Prilikom svakog osvježavanja
Drupal-a sa novijom verzijom dešava se da isprogramirani moduli ne rade na novoj verziji, te
programeri ističu ovo kao jedan od glavnih problema Drupal-a.
Performanse/skalabilnost: U želji da ima bolje preformanse od konkurencije Drupal je uveo
tzv. keširanje statičkih stranica koje se uglavnom prikazuju neregistriranim korisnicima kao
uvijek iste. Ovo je donijelo povećanje performansi od 508%, što je veliki plus. No,
performanse su ugrozile skalabilnost koja je bitna za stranice koje svakim danom imaju sve
više posjetitelja. Rješenja ovoga problema također je najavljeno za verziju Drupal 7.
Od samog početka razvoja Drupal-a velika pažnja je posvećena sigurnosti. Poseban tim brine
o sigurnosnim propustima, te svi primijećeni, otkriveni ili prijavljeni sigurnosni propusti se
odmah ispravljaju i stavljaju na listu propusta koja je dostupna svim korisnicima sa uputama
kako se ponašati. Svi razvijeni moduli također se dorađuju u slučaju sigurnosnih propusta.
4.5 Usporedba open source CMS rješenja
Na sljedećih šest slika može se vidjeti detaljna usporedba open source CMS rješenja
navedenih u ovome radu. Slika 5-7 Usporedba open source CMS rješenja: zahtjevi i
sigurnostdonosi prikaz osnovnih potreba i sigurnosnih mogućnosti. Kao što se može
primijetiti WP zahtjeva mnogo više dodataka da bi mu se omogućile sve opcije koje Joomla i
Drupal imaju. Slika 4-1 donosi pregled polja koja se odnose na korisničku podršku i lakoću
korištenja. Tu se može primijetiti da WP najviše bježi od bilo kakve komercijalizacije svoga
proizvoda, pa tako za WP ne postoje nikakvi komercijalni tečajevi u sklopu njihove zajednice.
Slika 5-9 donosi usporedbu performansi, sustava za upravljanje sadržajem i interoperabilnost.
Vrlo lako se može primijetiti da WP zaostaje na prva dva polja, ali što se tiče
interoperabilnosti (mogućnost zajedničkog rada sa drugim sustavima) WP je u blagoj
prednosti. Slika 5-10 donosi pregled fleksibilnosti sustava i tu se mora reći da su svi sustavi
jako fleksibilni i lako proširivi, pogotovo DRUPAL koji je orijentiran programeru. Slika 5-11
pokazuje nedostatke rješenja za komercijalnu upotrebu kod ova tri sustava. Pogotovo
24
razočarajavući je WP koji nema niti jedan dodatak koji bi ga omogućio koristiti u
komercijalne svrhe.
Slika 5-7 Usporedba open source CMS rješenja: zahtjevi i sigurnost
25
Slika 5-9 Usporedba open source CMS rješenja: performanse, upravljanje sadržajem i
interoperabilnost
27
Slika 5-10 Usporedba open source CMS rješenja: fleksibilnost (mogućnost širenje)
Slika 5-11 Usporedba open source CMS rješenja: rješenja za komercijalnu upotrebu (npr.
web dućan)
28
4.6 Komercijalna rješenje
Gotovo svaka ozbiljnija firma kako u svijetu, tako i Hrvatskoj, koja se bavi razvojem sadržaja
za Internet, razvija nekakav svoj CMS/WCMS sustav. Neke firme razvijaju sustave
specijalizirane za neko područje (npr. prodaja nekretnina), dok neke jednostavno razvijaju
sustav namijenjen dosta širokom području korisnika kao što su Joomla ili WP.
Što se tiče Hrvatskog tržišta vrijedno je spomenuti Web burzu kao jednu od najjačih firmi što
se tiče web razvoja, te njihov core.web cms sustav [24]. No, u detalje pojedinih sustava firmi
nećemo ulaziti u sklopu ovoga rada.
Pregledom i praćenjem domaćeg težišta Internet razvoja još je uočljiva jedna velika stvar.
Veliki broj firmi prodaje open source sustave, točnije rečeno odrađuje projekte na open source
sustavima, prilagođava ih potrebama klijenta i prodaje ih. Naravno, to je apsolutno dopušteno
i legalno, ali tu se javlja jedan drugi veliki problem. Iz osobnog iskustva autora ovoga rada
koji se već neko vrijeme intenzivno bavi razvojem Internet aplikacija, primjećuje se
nedostatak znanja tvrtki u Hrvatskoj koje se bave prodajom open source rješenja. Većina
tvrtki koja se time bavi nema adekvatnog programera koji bih isprogramirao modul ili
izmijenio sustav da ga prilagodi klijentu, što klijenta može u konačnici koštati mnogo više
nego razvijanje Custom CMS rješenja od početka do kraja.
Važno je napomenuti da nijedno gotovo rješenje, bez obzira open source ili komercijalno, u
potpunosti ne odgovara većem i složenijem projektu. Upravo se time bavi sljedeće poglavlje.
30
5 CUSTOM CMS VS. GOTOVI CMS
Želite pokrenuti vlastiti Internet site, blog, dućan? Što odabrati? Neko besplatno rješenje ili
platiti nekome da odradi za vas? Koliko novaca ste spremni uložiti? Koliko je vaše znanje?
Koliko očekujete od vašeg projekta? ... I niz drugih sličnih pitanja.
Dakle scenarij je sljedeći. Krećete u pokretanje Internet stranica/portala. Svi znamo da je
danas rijedak slučaj da netko želi imati Internet projekt reda radi, uglavnom se radi o
projektima za koji se očekuje da donosi i nekakav prihod, pa ćemo se mi i bazirati na Internet
projektima koji spadaju u kategoriju Internet biznisa.
Najvažnije na početku je znati što točno želite, koliko imate sredstava za platiti nekoga da
odradi to za vas ili imate li dovoljno znanja i vještine da to uradite sami.
Na prvi pogled većini budućih pokretača nekakvog Internet posla će se činiti da je gotovi
open source CMS najbolje i najsretnije rješenje. Ulog gotovo nikakav, par stotina kuna za
domenu i server, a posao će se odraditi sam. Tu uglavnom počinju problemi.
Prvi problem je najmanje zapravo bitan. Nedostatak znanja. Uz dobru dokumentaciju, malo
volje i mnogo čitanje i vježbanja to će se nadoknaditi. U drugom slučaju, uvijek se može
platiti nekome tko je vještiji da odradi to umjesto vas.
Drugi problem je da imate dovoljno znanja sa open source rješenjima i krećete u ozbiljan
Internet posao npr. online dućan za prodaju automobila. Joomla kao što smo rekli ima odličan
dodatak VirtueMart, dok je WP malo slabiji po tom pitanju, te izabrali ste Joomlu, vaše
znanje i vještina sa Joomlom su na dosta visokoj razini i odraditi ovakav projekt čini vam se
čistom rutinom. Polako slažete vaš dućan, dodajete dio po dio, ali u jednom trenutku vam fali
nekakav modul, koji ne postoji, a vama je baš bitan. Vješt PHP programer će taj modul
napraviti (vi ili ćete nekome platiti ) i idete dalje opet vaša Joomla može sve. No, malo
pomalo Joomla ipak ne ispunja vaše zahtjeve, te traži sve više i više modificiranja, a vi za vaš
projekt imate velike ambicije i jako velika očekivanja, te ne želite odstupiti od niti jedne ideje.
Tu na scenu dolaze custom CMS rješenja.
Što su custom CMS rješenja? Custom rješenja su rješenja potpuno prilagođena i izrađena po
vašim zahtjevima. Dakle, ako želite CMS za prodaju automobila, custom CMS će biti u
31
potpuno prilagođen prodaji automobila. Najčešće će podržavati i praćenje potpune prodaje i
statistike u pozadini.
Custom rješenje bi kad-tad trebalo biti primarni izbor svakoga tko ide u ozbiljan projekt u
koliko su namjene projekta ozbiljne, te se očekuje zarada od samog projekta. Open source
CMS rješenje nikada neće biti sto posto prilagođeno vašem projektu ni po pitanju baze niti po
pitanju same namjene, jer su oni rađeni za općenite projekte. Neupitno je i glupo je uopće
dovodi u pitanje kvalitetu Joomle u kombinaciji sa VirtueMartom, jer je to odličan open
source proizvod.
Custom rješenje od planiranja, preko početka izgradnje do samog završetka se gradi točno po
zahtjevima koji se definiraju i odgovara sto posto željenom projektu.
Kod izgradnje custom CMS rješenja potrebno je obratiti pažnju na reference izvoditelja
samog projekta i njegovu kvalitetu rada, jer se vrlo lako može dogoditi da se velika količina
sredstava baci u vjetar ako posao bude loše izveden.
Zaključak je da veliki i ozbiljni projekti, koji će donositi prihode, a pogotovo ako će nekome
biti primarni posao bi morali biti pod custom CMS-om jer su oni prerasli open source CMS
općenita rješenja. Manji, nebitniji projekti, mogu se odraditi i pomoću nekog open source
rješenja (obične Internet stranice, manji dućani...).
5.1 Definiranje korisničkih zahtjeva Custom CMS-a
Cilj ovoga rada, a samim time i CMS-a koji će se razvijati tokom njega, nije nikako nadmašiti
postojeće open source CMS-ove, što se i logično da zaključiti jer jedan čovjek ne može
nadmašiti mogućnosti i kapacitete nekoliko desetaka timova koji su okupljeni oko pojedinih
open source CMS rješenja.
Osnovni zahtjev ovog CMS sustava će biti da na jednostavan način omogući kreiranje
jednostavne Internet stranice, te da u back-end dijelu CMS-a omogući administratoru kontrolu
nad kompletnom stranicom počevši od sadržaja, pa sve do korisnika.
Kao prvi zahtjev pojavljuje se ime samog CMS sustava, koje mora biti jednostavno, ali da
odaje snagu samog sustava i time ulijeva sigurnost u korisnike.
32
Drugi zahtjev je dizajniranje back-end dijela koji mora biti maksimalno iskoristiv, prijateljski
orijentiran i prema najneiskusnijim korisnicima, te lagan za učenje. Ovo je ujedno i najhitniji
zahtjev, te zahtjeva pronalazak i angažiranje dizajnera. Uz njega još jedan bitan zahtjev je da
CMS mora biti proširiv u bilo kojem pogledu, točnije rečeno mora biti omogućen razvoj
modula koji se nastavljaju na njegovu jezgru. XHtml kod mora biti validan.
Administrator stranice mora biti u mogućnosti napraviti sljedeće stvari koje se smatraju
jezgrom CMS-a:
- Kroz jednostavnu instalaciju postaviti željenu stranicu (naslov i ime stranice,
slogan, bazu podataka…)
- U bilom kojem trenutku moći izmijeniti osnovne podatke stranice
- Upravljanje menijem i svim linkovima unutar njega
- Postavljanje sadržaja za svaku stranicu unutar menija
- Dodati novu temu te se jednostavno prebaciti sa teme na temu
- Jednostavno dodavanje Google Analytics alata za praćenje posjete
Administrator mora biti u mogućnosti napraviti sljedeće stvari koje se smatraju modulima:
- Dodati, izmijeniti ili izbrisati vijest
- Dodati, izmijeniti ili izbrisati anketu, te manipulirati sa rezultatima ankete
- Dodati, izmijeniti ili izbrisati galeriju
5.2 Odabir tehnologije
Izbor tehnologije za izradu ovakvog CMS je zapravo jako jednostavna odluka. Dovoljno je
pogledati jedan od glavnih njegovih zahtjeva, a to je da ostavlja mogućnost proširenja u bilo
kojem pogledu i već je jasno da se mora koristiti objektno orijentirano programiranje, što
dovodi do korištenja nekakvog frameworka. Kada se dođe do toga da se mora koristiti
33
framework ostaju tri mogućnosti: pisati svoj framework, koristiti gotovi framework ili
koristiti framework od nekog open source CMS-a.
Pisati svoj framework možda nije loša ideja, ali je pomalo suluda. Odnijeti će previše
vremena, a uz to i sredstava na razvijanje stvari koje su već gotove, a upitno je da li ćemo ih
moći razviti na razini na kojoj su napravljene. Jedina velika prednost ovoga je što se tada ima
uvid u najmanje detalje cijelog sustava.
Koristiti gotovi framework je jako dobra ideja i zapravo prava stvar za ovakav projekt. Gotovi
framework, pogotovo symfony [25] koji će se koristiti u ovom projektu, je odlično
dokumentiran, jednostavan za korištenje, veoma brz i pouzdan što je najbitnije. Pregled
usporedbi postojećih frameworkova nalazi na Slika 5-13.
Slika 5-13 Pregled postojećih php frameworka
Preuzeti framework od gotovog open source CMS rješenja ni u najmanju ruku nije loša ideja.
Problem je što takvi framework je obično nešto lošije dokumentiran, a i nove verzije nakon
update znaju biti nekompatibilne sa starim kodom, te sustavi napisani u takvom frameworku
zahtijevaju stalnu reviziju koda. Ovdje valja istaknuti Drupal-ov framework, koji ne radi na
sistemu MVC-a kao većina frameworkova već na nešto apstraktnijem PAC pristupu, kao
framework koji je najviše od svih orijentiran programerima za daljnji razvoj.
34
Prednost korištenja gotovog frameworka je što programer u kraćem vremenu može napraviti
više posla i ne mora nepotrebno gubiti vrijeme na razvijanje već gotovih stvari nego se može
više posvetiti funkcionalnosti sustava.
Baza podataka koja će se koristiti je MySql baza, na kojoj rade sve open source CMS sustavi,
te ispunjava sve potrebne zahtjeve i uz to je besplatna.
Za klijentsku stranu će se koristiti jQuery biblioteka, koja je također besplatna, a o njenoj
kvaliteti govori sama činjenica da je i Google koristi.
Server će biti linux, zbog toga što je rašireniji i jeftiniji, ili windows server sa instaliranim
apache serverom što je malo skuplja opcija.
5.3 Framework
Framework je skup klasa (i/ili programa) koje funkcioniraju da bi olakšale i ubrzale razvoj
aplikacije.
Programiranje u framework-u svodi se na građenje aplikacije od unaprijed definiranih
programskih instrukcija nad konkretno definiranim podacima i pisanje specifičnih funkcija
ovisnih o zahtjevu koji aplikacija mora zadovoljiti.
Gornja definicija je može biti nejasna, ali na primjeru se to da jednostavno pojasniti. Npr.
Trebate klasu koja će vam omogućiti spajanje i unos podataka u bazu. Framework vam nudi
već tu klasu gotovu i ne morate trošiti vrijeme i novac na razvijanje, te klase. Ista stvar je sa
svim ostalim stvarima što se tiču Internet aplikacija – sesije, kolačići… Ako ne koristiti
framework onda klasu morate sami napisati.
Danas postoji veći broj gotovih framework-ova za php, a najpoznatiji su CakePhp, Zend
Framework, Symfony, Codeigniter…. Njihova usporedba prikazana je na Slika 5-13.
5.4 Okruženje
Okruženje (IDE) [26] je razvojna okolina u kojoj nastaje sama aplikacija.
Dakle, okruženje je samo po sebi zasebna aplikacija napisana u nekom programskom jeziku.
To može biti C, C++, Java… Jedina zanimljiva razlika je da aplikacije napisane u C-u su malo
brže nego aplikacije napisane u Javi.
35
Većina okruženja je komercijalizirana, te se prodaju kao gotovi proizvodi i konstantno se
dorađuju. Najpoznatija razvojna okolina za PHP je sigurno ZEND Studio [29].
Za potrebe ovoga rada, a i na svim projektima, autor ipak ne koristi ZEND Studio, već
NetBeans 6.8 [30].
NetBeans glasi za najbolje razvojno okruženje za razvoj aplikacija u programskom jeziku
Java. Od verzije 6.8 nudi nativnu podršku za symfony framework, a od par prijašnjih verzija
nudi podršku za PHP, CSS, HTML. Iz prijašnjeg iskustva sa Zendom i sadašnjeg sa
NetBeansom autor ovoga rada odgovorno tvrdi da NetBens ne zaostaje ni najmanje za
popularnijim IDE-om, te da je u većini stvari čak i bolji od Zend-a. Zend je još uvijek možda
za nijansu zreliji i brži nego NetBeans, no NetBeans je za razliku od Zenda potpuno besplatan
i tako legalno dostupan svima.
Da bi okruženje za razvoj PHP aplikacije bilo potpuno potreban je server. Postoji dosta
inačica servera. Autor ovoga rada preferira WAMP server koji sadrži i MySql server.
5.5 Proizvod
Proizvod je aplikacija koja nastaje u nekom razvojnom okruženju i namijenjena je na
korištenje krajnjem korisniku. Proizvod može biti besplatan ili komercijalan.
Konkretno na primjeru ovoga rada: okruženje je NetBeans 6.8 sa WAMP serverom i u njemu
nastaje CMS koji će biti proizvod. Symfony framework će biti framework koji će se koristiti
za efikasniji razvoj proizvoda.
36
6 SNIMANJE PROCESA
6.1 BPM (Business Process Managment)
Upravljanje poslovnim procesima (BPM) [26] je poslovna filozofija upravljanja. Nadalje,
BPM je područje znanja koje objedinjuje poslovne procese i informacijsku tehnologiju kroz
korištenje raznih metoda i tehnika za izradu, upravljanje i analizu radnih procesa koji
uključuju ljude, organizacije, aplikacije, dokumente i razne druge informacije kao sastavne
dijelove nekoga poslovnog procesa. To je menadžerska disciplina koja uključuje
metodologiju i procesno-orijentirano kulturu koja je izložena zavisnosti svih sudionika jednih
o drugima u procesnom lancu, kao i čitav niz aktivnosti koje su važne na različitim razinama
života poslovnog procesa. Uključuje ne samo softverske aplikacije već i ljude, vlasnike
procesa, analitičare, IT dizajnere i poslovne korisnike s različitim vještinama.
Danas se i IT i poslovni stručnjaci slažu da uspješan sustav počinje s potpunim
razumijevanjem poslovnih procesa organizacije tj. modelom poslovnih procesa, te da su
poslovni procesi ključni faktor u integriranju organizacije. Razvoj tehnologija za upravljanje
poslovnim procesima omogućava menadžerima izdvojiti tokove procesa i poslovnih pravila
od aplikacija koje su u podlozi i infrastrukture, te direktne promjene na istim.
Cilj BPM-a jest ne samo preslikati postojeće poslovne procese u informacijski sustav, već ih i
unaprijediti onime što informacijska tehnologija nudi.
Aktivnosti BPM rješenja mogu se ugrubo podijeliti na tri dijela (Slika 6-14):
- dizajn poslovnih procesa
- izvršavanje poslovnih procesa
- nadzor poslovnih procesa.
37
Slika 6-14 Aktivnosti BPM rješenja
6.2 ARIS
ARIS (Arhitektura Integriranih Informacijskih sustava ) [26] je alat za modeliranje i
upravljanje poslovnim procesima. Dugi niz godina ARIS je vodeći je alat u području
upravljanja poslovnim procesima.
Alat je osmišljen na način da omogući uključivanje svih elemenata bitnih za poslovni proces u
sam poslovni model – organizacijsku strukturu, proizvode/usluge, funkcije, poslovne
događaje, IT sustave, podatke, veze među objektima itd (Slika 6-15). Osim toga ARIS
platforma odgovara i na pitanje životnog ciklusa BPM-a. Platforma omogućava podršku kroz
sve faze životnog ciklusa BPM-a – od strateškog promišljanja poslovnih procesa, preko
njihovog dizajna i implementacije do faze kontrolinga. Idealan je alat za pretvaranje
poslovnih procesa i načina na koji se njima upravlja u vlastitu konkurentske prednosti.
38
Slika 6-15 Što sve ARIS omogućava
ARIS je namijenjen za:
- Implementaciju standardnog i razvoj vlastitog softvera
- Optimizaciju poslovnih procesa
- Proračun troškova (ABC)
- Integraciju i daljnji razvoj ISO sustava
- ISO 9000:2000
- Certifikaciju
- E-business
- Upravljanje znanjem (KM)
Za snimanje procesa potrebnih za ovaj CMS također će se koristiti ARIS platforma
prvenstveno iz razloga njegove jednostavnosti, a kroz jednostavnost i snage platforme koja se
pokazala kao najbolja za snimanje poslovnih procesa.
39
6.2.1 EPC dijagrami
Poslovni procesi u ovom radu će se modelirati preko EPC ( Event-driven Process Chain) [27]
dijagrama.
EPC spada u procesni pogled. Pomoću EPC modela (Slika 6-16) prikazujemo statičke veze
između podatkovnih, funkcijskih, proizvodno/uslužnih i organizacijskih pogleda, a također i
dinamiku toka procesa.
Slika 6-16 EPC model
Svaki EPC mora započeti sa barem jednim događajem i završiti sa barem jednim događajem.
Samo je tako moguće garantirati definiciju točnih uvjeta koji su doveli do početka procesa
kao i situacije koja je uslijedila po završetku procesa.
40
Samo točna definicija stanja procesa čini mogućim povezivanje procesnih lanaca koji su
modelirani odvojeno ili postojećem procesnom lancu nastaviti tijek. Krajnji rezultata jednog
procesa je početni događaj slijedećeg procesa u lancu. Procesi se slažu vertikalno od vrha
prema dolje, a ako se neki proces grana (AND, OR, XOR), grane koje slijede nakon petlje
moraju ići paralelno.
EPC modeli predstavljaju pojedine procese (dijelove) cjelovitog procese prihvata i otpreme.
Pojedinačni poslovni procesi mogu se shvatiti i kao slijed funkcija (zadataka/aktivnosti).
Događaji određuju koje je stanje ili uvjet iniciralo funkciju i koje stanje definira izvršenje
funkcije. Za svaku su funkciju inicijalni, odnosno početni, te završni događaj obavezni.
Organizacijske jedinice, radna mjesta, te drugi organizacijski objekti postavljaju se
funkcijama sa desne strane. Objekti koji predstavljaju ulaz bilo koje vrste postavljaju se sa
lijeve strane, objekti koji predstavljaju izlazni podatka smješteni su sa desne stane (vidi sliku
6-16).
Funkcija kao objekt predstavlja tehnički zadatak, proceduru i/ili aktivnost koja se izvršava nad
određenim objektom. Funkcija je nositelj vremena i troškova.
Događaj opisuje poslovno značajni događaj koje ili uzrokuje ili utječe na daljnji tok
poslovnog procesa. Događaji pokreću aktivnost, ali su također ovisni o funkcijama koje ih
prethode i koje opisuju događaj.
Operatori se koriste da bi u procesnom toku mogli prikazati grananje procesnih putova,
odnosno da ne bi bili ograničeni na niz 1 Događaj – 1 Funkcija – 1 Događaj… Stoga se
logički operatori koriste kada više od jedne veze ulazi u funkciju ili događaj ili kada više od
jedne veze izlazi iz funkcije ili događaja.
41
7 SNIMLJENI PROCESI
U ovom poglavlju će se proći kroz EPC grafove modelirane u ARIS-u, te na taj način i proći
kroz specifikaciju zahtjeva.
7.1 Početak
Na Slika 7-17 vidimo proces koji se dešava prilikom pokretanja Internet stranice bazirane na
CMS-u nastalom u ovom radu. U daljnjem tekstu taj CMS ćemo nazivati MyCtrl CMS.
Slika 7-17 Proces prilikom pokretanja Internet stranice na MyCtrl CMS-u
Događaj koji pokreće proces je pokretanje same Internet stranice. Prva radnja koju
administrator izvršava je jednostavna instalacija MyCtrl CMS sustava na server. Za uspješnu
instalaciju administratoru su potrebni podaci o serveru, korisniku, bazi podataka i adekvatnim
lozinkama. Nakon što je instalacija gotova slijedi uređivanje sadržaja. Funkcija uređivanja
sadržaja bira jedan od sljedećih događaja: može prekinuti i izaći iz sustava ili odabrati jedan
od 8 događaja koji pokreću jednu od akcija navedenih u sljedećim potpoglavljima.
42
7.2 Ažuriranje osnovnih postavki Internet stranice
U bilo kojem trenutku administrator mora imati pristup promjeni osnovnih podataka vezanih
uz Internet stranicu. U osnovne podatke spadaju podaci koje je korisnik unio prilikom
instalacija MyCtrl CMS sustava i esencijalni su za normalan rad stranice na serveru.
Ovaj proces je prikazan na Slika 7-18.
Slika 7-18 Proces ažuriranja osnovnih postavki stranice
43
7.3 Uređivanje izbornika
Administrator u back-end dijelu sustava mora imati potpunu kontrolu nad izbornikom i
linkovima. Mora moći kreirati nove stavke, te mijenjati ili brisati stare. Ovaj proces je
prikazan na Slika 7-19.
Slika 7-19 Proces upravljanja izbornikom
44
7.4 Upravljanje sadržajem
Kontrolu sadržaja na stranici administrator mora vršiti na jednostavan način. Mora biti u
mogućnosti dodati novi sadržaj, te ga kategorizirati pod određenu stavku izbornika. Također
mora biti u mogućnosti izmijeniti već postojeći sadržaj ili ga pobrisati. Ovaj proces je
prikazan na Slika 7-20.
Slika 7-20 Proces upravljanja sadržajem
45
7.5 Upravljanje temama
Administrator mora biti u mogućnosti jednostavno prebaciti dizajn stranice sa jedne teme na
drugu. Tema nakon što je napravljena točno za MyCtrl CMS mora biti dignuta na server od
administratora i dodana u bazu podataka. Nakon toga administrator može odabrati tu temu za
svoju stranicu. Administrator mora biti u mogućnosti brisati već postojeće teme sa servera.
Ovaj proces je prikazan na Slika 7-21.
Slika 7-21 Proces upravljanja temama
46
7.6 Upravljanje Google Analytics opcijom
Google Analytics glasi kao najbolji alat za kontrolu posjećenosti Internet stranice. Sastoji se
od male java skripte koja se dodaje na dno Internet stranice. MyCtrl CMS mora omogućiti
administratoru uključivanje i isključivanje ove opcije u samo par pokreta mišem. Ovaj proces
je prikazan na Slika 7-22.
Slika 7-22 Proces upravljanja Google Analytics opcijom
47
7.7 Upravljanje vijestima
Vijesti spadaju u dodatni modul MyCtrl CMS-a. Administrator mora imati potpunu i
jednostavnu kontrolu nad vijestima. Dodavanje novih vijesti, brisanje ili modifikacija već
postojećih vijesti. Ovaj proces je prikazan na Slika 7-23.
Slika 7-23 Proces upravljanja vijestima
48
7.8 Upravljanje anketama
Kao i vijesti, ankete su dodatni modul MyCtrl CMS sustava. Administrator mora imati uvid u
sve ankete, te mogućnost izmjene pojedinih anketa. Pod izmjene anketa spada: izmjena
osnovnih podataka o anketi, dodavanje pitanja, brisanje pitanja, izmjena pitanja i manipulacija
glasovima. Ovaj proces je prikazan na Slika 7-24.
49
7.9 Upravljanje galerijama
Galerije su još jedan dodatni modul za MyCtrl CMS. Administrator i ovdje mora imati
mogućnost potpunog kontroliranja galerija. Dakle, mora moći kreirati nove galerije, brisati ili
modificirati već postojeće. Pod modifikacije spada dodavanje novih fotografija ili brisanje
starih, te izmjena informacija o pojedinoj fotografiji ili cijeloj galeriji. Ovaj proces je prikazan
na Slika 7-25.
51
7.10 Baza podataka
Kao što je već navedeno u radu, za ovaj projekt koristit će se MySql baza podataka.
MySQL [31] je besplatan, open source sustav za upravljanje bazom podataka. Uz PostgreSQL
MySQL je čest izbor baze za projekte otvorenog koda, te se distribuira kao sastavni dio
serverskih Linux distribucija, no također postoje inačice i za ostale operacijske sustave poput
Mac OS-a, Windowse itd.
MySQL baza je slobodna za većinu uporaba. Ranije u svom razvoju, MySQL baza podataka
suočila se s raznim protivnicima MySQL sustava organiziranja podataka jer su joj nedostajale
neke osnovne funkcije definirane SQL standardom. Naime, MySQL baza je optimizirana
kako bi bila brza nauštrb funkcionalnosti. Nasuprot tome, vrlo je stabilna i ima dobro
dokumentirane module i ekstenzije te podršku od brojnih programskih jezika: PHP, Java Perl,
Python i dr.
MySQL baze su relacijskog tipa, koji se pokazao kao najbolji način skladištenja i
pretraživanja velikih količina podataka i u suštini predstavljaju osnovu svakog informacijskog
sustava, tj. temelj svakog poslovnog subjekta koji svoje poslovanje bazira na dostupnosti
kvalitetnih i brzih informacija.
MySQL i PHP su osvojili veliki dio tržišta jer su open source, dakle, mogu se besplatno
koristiti.
53
7.10.1 Projektiranje baze podataka
U ovom poglavlju će se projektirati i dokumentirati baza podatka. Prikazat će se logički i
fizički model baze.
7.10.2 Logički model
Logički model baze podataka je model koji prikazuje odnose i veze među entitetima.
Logički model za MyCtrl CMS sustav se nalazi na Slika 8-26.
Slika 8-26 Logički model baze podataka
54
U logičkom modelu se može primijetiti da nisu svi entiteti(tablice) povezani, te da postoji
poneki entitet koji nema vezu sa nijednim drugim entitetom. Ovo je iz prostog razloga što je
MyCtrl CMS sustav sastavljen od niza manjih komponenti, koje bi u pravilu mogle
funkcionirati svaka za sebe posebno, ali u ovom slučaju su spojene u cjelinu.
7.10.3 Fizički model
Fizički model polazi od logičkog modela, a rezultira izrađenim fizičkim modelom. Ovaj tip
modela je opis stvarne fizičke organizacije podataka, a ima oblik unutarnje sheme baze
podataka. Fizički model baze podataka MyCtrl CMS sustava nalazi se na Slika 8-27
Slika 8-27 Fizički model baze podataka
55
8 MYCTRL CMS
MyCtrl CMS[32] sustav je jednostavan WCMS sustav sa nekoliko osnovnih funkcija koje bi
svaki WCMS trebao imati. Svi zahtjevi su definirani, snimljeni i modelirani u prethodnim
poglavljima.
Kao i svaki CMS sustav sastoji se od pozadinskog (back-end) dijela koji je zadužen za
administraciju i prezentacijskog (front-end) dijela koji prezentira podatke krajnjim
korisnicima. U narednim potpoglavljima obraditi će se svi moduli pozadinskog dijela i
prezentacijski dio. Osnovna tema ovoga sustava je „D!LP: theme“.
8.1 Modul novosti
Modul novosti je osnovni modul MyCtrl CMS-a. Zadužen je za kontrolu novosti: dodavanje
novih, ažuriranje ili brisanje već postojećih. Podržava vijesti na dva jezika, vrijeme objave, te
da li je novost vidljiva običnim posjetiteljima ili samo administratorima. Svaka novost koja je
unesena objavljuje se tek nakon što prođe uneseno vrijeme, dakle moguće je unaprijed unositi
novosti. Sve postojeće novosti se mogu ažurirati ili brisati. Prikaz modula vijesti nalazi se na
Slika 9-28.
56
8.2 Modul kategorije
U ovom modulu se kreiraju linkovi za izbornik. Svaki link sa sobom povlači i sadržaj koji ide
pod njega. Može se reći da ovaj modul služi za pravljenje statičkih stranica kojima se upravlja
putem administracijskog sučelja. Sve stavke koje su prije napravljene mogu se izbrisati ili
ažurirati. Podržava dva jezika, definiranje URL-a, te da li je kategorija vidljiva običnim
posjetiteljima ili ne. Prikaz ovog modula se nalazi na Slika 9-29.
58
8.3 Modul ankete
Klasičan modul za pravljenje anketa. Omogućava dodavanje anketa na dva jezika sa
pripadnim pitanjima. Također se može editirati ili brisati već postojeće ankete. Slika ovoga
modula se nalazi na Slika 9-30.
Slika 9-30 Modul ankete
60
8.4 Modul korisnici
Kao što mu sam naziv govori ovaj modul se odnosi na upravljanje korisnicima. Priliko
unošenja novog korisnika zahtijevaju se podaci o korisniku, te mu se dodjeljuju prava.
„Master“ korisnik ima apsolutno sva prava. Moguće je brisati i ažurirati korisnike. Izgled
modula nalazi se na Slika 9-31.
Slika 9-31 Modul korisnici
61
8.5 Modul teme
Modul teme je zadužen za upravljanje temama i prebacivanje sa jedne teme na drugi. Sa tim
se omogućava jednostavna izmjena izgleda prezentacijskog dijela sustava. Izgled ovog
modula se nalazi na Slika 9-32.
Slika 9-32 Modul teme
8.6 Modul galerija
Modul galerija ne postoji u pozadinskom dijelu MyCtrl CMS sustava, ali je upravljanje
galerijama riješeno preko mapa. Dakle, sve što je potrebno za napraviti novu galeriju jest na
serveru pod mapom galerija kreirati mapu sa željeni imenom galerije i u nju postaviti sve
62
fotografije koje se žele imati pod tom galerijom. Sustav automatski čita i prikazuje sve mape i
sve fotografije pod određenom mapom.
8.7 Prezentacijski (front-end) dio
Prezentacijski dio je „prednji dio“ svakog CMS sustava. Preko njega se prezentiraju podaci
krajnjim korisnicima. Osnovna teme za prezentacijski dio ovog sustava je „D!PL:theme“ kao i
kod pozadinskog dijela. Na Slika 9-33 se nalazi prikaz teme i prikaz prednjeg dijela modula
novosti.
Slika 9-33 Prikaz novosti
Na Slika 9-34 se nalazi primjer statične stranice koja se generira preko modula kategorije.
63
Slika 9-34 Primjer statične stranice
Preko modula galerije se upravlja galerijama i na Slika 9-35 se može vidjeti prezentacijski dio
tog modula. Priliko klika na neku od slika, otvara se slika u „lightboxu“ kao na Slika 9-36.
64
Slika 9-36 Prikaz slike u „lightboxu“
Pod izbornikom ankete su predviđene gotove ankete, dok se aktualna anketa prikazuje u
desnom dijelu teme, kao na Slika 9-33.
66
9 ZAKLJUČAK
U prethodnim poglavljima prošlo se kroz vrste CMS-ova koje postoje, a prva poglavlja radnje
su se bazirana na WCMS rješenjima i to tri najbitnija danas Joomla, WordPress i Drupal.
Kratko se prošlo kroz njihovu povijest, mane i prednosti. Zaključaj je da su sva tri rješenja
jako dobra za podizanje nekakvih Internet stranica, portala ili pokretanje malog Internet
biznisa. Joomla daje više mogućnosti i ulazi više u dubinu materije, te daje veću kontrolu nad
dokumentima i cijelim sustavom, dok WP je orijentiran na blogove i kao takav daje
maksimalno jednostavnost objavljivanju sadržaja na Internetu, no sve više i više korisnika
prelazi sa Joomle na WP. Drupal je najviše orijentiran programeru, te samim time ostavlja
najveću mogućnost proširenja. Nešto je teži za učenje od WP-a. Sva tri sustava imaju živu
zajednicu, te veoma aktivne forume, blogove, portale, kao i veliki broj korisnika koji
svakodnevno sudjeluje u njihovom razvoju.
Uočilo se da budućnost Internet sadržaja, iako mnogi smatraju da su blogovi prošlost, leži na
blogovima. Veliki doprinos tome upravo je dao WP. Microbloging (Twitter) pomalo staje sa
svojim razvojem iako nije nikako za podcjenjivanje pogotovo u području marketinga.
Prošlo se kroz tri tipa scenarija, te se vidjelo kao i svakom drugom projektu da je najbitnije
znati što želimo, te iako su bitno male razlike između WCMS, portala i ECMS, bitna odluka
može uštedjeti velike količine sredstava.
Za ozbiljne projekte koji će biti ozbiljan Internet posao jedino ispravno rješenje je custom
CMS u potpunosti prilagođen zahtjevima korisnika. To nije lagan niti jeftin posao, a i isto
tako treba brinuti koga izabrati za izvoditelja takvog CMS-a. Drugi dio radnje se upravo bavio
razvojem jednog jednostavnog prilagođenog sustava. Prošlo se kroz definiranje zahtjeva, te
snimanje i modeliranje procesa potrebnih za izradu takvog sustava. Ne temelju definiranih
zahtjeva, te snimljenih procesa napravljen je sam sustav, koji je prezentiran u pretposljednjem
poglavlju.
Na kraju se može samo reći da su CMS-ovi kao i Internet živa tvorevina, te bez obzira što su
već sada na zavidnoj razini tehnologije i razvoja, imaju još prostora za svakodnevni rast i
širenje koji, kao i do sada, uvijek diktiraju trendovi na Internetu, točnije korisnici i kreatori
Internet sadržaja.
67
10 LITERATURA
[1] Wikipedia: „Content management system“, s Interneta
http://en.wikipedia.org/wiki/Content_management_system, 16.04.2010.
[2] Wolfwoodscrowd: "Što je to Open source?", s Interneta
http://wolfwoodscrowd.info/2007/08/30/sto-je-to-open-source/, 16.04.2010.
[3] Antonio Perić-Mažar: „Spremačica – online burza rada“, s Interneta
http://www.spremacica.com, 16.04.2010.
[4] Antonio Perić-Mažar: „Hotel Jobs – portal za traženje poslova“, s Interneta
http://www.hoteljobs.hr, 16.04.2010.
[5] Antonio Perić-Mažar: „Online natjecanje u prognoziranju sportkih parova“, s Interneta
http://www.zicerdana.com, 21.08.2010.
[6] Antonio Perić-Mažar: „Web dućan za prodaju unikatnih suvenira“, s Interneta
http://www.uniqsouvenirs.com, 16.04.2010.
[7] Antonio Perić-Mažar:“Poklanjanje.com – portal za poklanjanje“, s Interneta
http://www.poklanjanje.com, 16.04.2010.
[8] opensourceCMS: „Pregled svih open source rješenja pisanih u phpu.“, s Interneta
http://php.opensourcecms.com/, 18.04.2010.
[9] Wikipedia: „Enterprise content management system“, s Interneta
http://en.wikipedia.org/wiki/Enterprise_content_management, 18.04.2010.
[10] Wikipedia: „Document management system“, s Interneta
http://en.wikipedia.org/wiki/Document_management_system, 18.04.2010.
[11] Wikipedia: „Component content management system“, s Interneta
http://en.wikipedia.org/wiki/Component_content_management_system, 18.04.2010.
[12] Wikipedia: „Web Content Management System“, s Interneta
http://en.wikipedia.org/wiki/Web_content_management_system, 18.04.2010.
[13] Joomla: info i dokumentacija, s Interneta http://www.joomla.org/, 25.04.2010.
68
[14] Virtuemart: „Joomla dodatak za web dućan – info i dokumentacija“, s Interneta
http://virtuemart.net/3 25.04.2010.
[15] Wordpress: info i dokumentacija, s Interneta http://wordpress.org/, 25.04.2010.
[16] Buza T: „Twitter vs. WordPress ili mikroblog vs. Blog“, s Interneta
http://www.tomislavbuza.com/2009/11/twitter-vs-wordpress-ili-mikroblog-vs-blog/,
25.04.2010
[17] Drupal: info i dokumentacija, s Interneta http://drupal.org/, 25.04.2010.
[18] Wikipedia: „Framework“, s Interneta http://en.wikipedia.org/wiki/Software_framework,
2.6.2010.
[19] Wikipedia: „MVC“, s Interneta http://en.wikipedia.org/wiki/Model%E2%80%93view
%E2%80%93controller 2.6.2010
[20] Wikipedia: „PAC“, s Interneta http://en.wikipedia.org/wiki/Presentation-abstraction-
control 2.6.2010.
[21] Wikipedia: „Dries Buytaert „, s Interneta http://en.wikipedia.org/wiki/Dries_Buytaert3
2.6.2010.
[22] Cnet.com: „Webware 100 nagrade“, s Interneta http://www.cnet.com/100/, 2.6.2010.
[23] Bijela kuća, primjer Drupal CMSa, s Interneta http://www.whitehouse.gov/, 2.6.2010.
[24] Burza d.o.o.:“Core.web CMS“, s Interneta http://web.burza.hr/ 2.6.2010.
[25] Symfony framework: info, dokumentacija, preuzimanje, s Interneta
http://www.symfony-project.org/, 2.6.2010.
[26] Infodom: „BPM: Business Process Management, Aris“, s Interneta
http://www.infodom.hr, 2.6.2010.
[27] PIVIS, Projektna dokumentacija, MIB Pivac, Vrgorac, Svibanj, 2010.
[28] Wikipedia:“razvojna okolin- IDE“, s Interneta
http://en.wikipedia.org/wiki/Integrated_development_environment, 9.6.2010.
69
[29] Zend: „IDE: info, dokumentacija, preuzimanje“, s Interneta http://www.zend.com/en/
9.6.2010.
[30] Netbeans: „IDE korišten u izradi praktičnog dijela rada“, s Interneta
http://netbeans.org/, 9.6.2010.
[31] Wikipedia: „MySql“, s Interneta http://hr.wikipedia.org/wiki/MySQL, 9.6.2010
[32] Perić-Mažar, B.: MyCtrl CMS, Projektna dokumentacija, FESB, Split, Rujan 2010.
70
PRILOZI
Kazalo slika
Slika 4-1 Tri moguća scenarija.................................................................................................12
Slika 4-2 Joomla! službeni logo................................................................................................15
Slika 4-3 Struktura WordPressa................................................................................................19
Slika 4-4 WordPress logo.........................................................................................................20
Slika 4-5 Omjer rasta WP-a i Twitter-a....................................................................................21
Slika 4-6 Logo Drupala.............................................................................................................22
Slika 5-7 Usporedba open source CMS rješenja: zahtjevi i sigurnost......................................25
Slika 5-8 Usporedba open source CMS rješenja: podrška i jednostavnost korištenja..............26
Slika 5-9 Usporedba open source CMS rješenja: performanse, upravljanje sadržajem i
interoperabilnost.......................................................................................................................27
Slika 5-10 Usporedba open source CMS rješenja: fleksibilnost (mogućnost širenje)..............28
Slika 5-11 Usporedba open source CMS rješenja: rješenja za komercijalnu upotrebu (npr. web
dućan)........................................................................................................................................28
Slika 5-12 Usporedba open source CMS rješenja.....................................................................29
Slika 5-13 Pregled postojećih php frameworka........................................................................34
Slika 6-14 Aktivnosti BPM rješenja.........................................................................................38
Slika 6-15 Što sve ARIS omogućava........................................................................................39
Slika 6-16 EPC model...............................................................................................................40
Slika 7-17 Proces prilikom pokretanja Internet stranice na MyCtrl CMS-u............................42
Slika 7-18 Proces ažuriranja osnovnih postavki stranice..........................................................43
Slika 7-19 Proces upravljanja izbornikom................................................................................44
Slika 7-20 Proces upravljanja sadržajem..................................................................................45
Slika 7-21 Proces upravljanja temama......................................................................................46
Slika 7-22 Proces upravljanja Google Analytics opcijom........................................................47
Slika 7-23 Proces upravljanja vijestima....................................................................................48
Slika 7-24 Proces upravljanja anketama...................................................................................50
Slika 7-25 Proces upravljanja galerijama.................................................................................52
Slika 8-26 Logički model baze podataka..................................................................................54
Slika 8-27 Fizički model baze podataka...................................................................................55
Slika 9-28 Modul novosti..........................................................................................................57
71
Slika 9-29 Modul kategorije.....................................................................................................59
Slika 9-30 Modul ankete...........................................................................................................60
Slika 9-31 Modul korisnici.......................................................................................................61
Slika 9-32 Modul teme..............................................................................................................62
Slika 9-33 Prikaz novosti..........................................................................................................63
Slika 9-34 Primjer statične stranice..........................................................................................64
Slika 9-35 Prikaz galerija..........................................................................................................65
Slika 9-36 Prikaz slike u „lightboxu“.......................................................................................66
Popis kratica
PHP – Hypertext Preprocessor
HTML – HyperText Markup Language
CSS – Cascading Style Sheets
CMS – Content Management System
ECMS – Enterprise CMS
DMS – Document managment system
MCMS – Mobile Content Managment System
CCMS – Component Content Management Systems
WCMS – Web content management system
WP – Wordpress
SW – Software
WEB – WWW – World Wide Web
GNU – General Public License
MVC – Model-Wiew-Control
72
PVC – Presentatito-Abstraction-Control
BPM – Business Process Management
ARIS – Architecture of Integrated Information Systems
EPC – Event-driven Process Chain
IDE – Integrated development environment
Popis projektne dokumentacije (MYCTRL CMS)
Baza podataka – fizički i logički model (MS Visio)
Slike snimljenih procesa (model ARIS)
Slike aplikacije
Plan verzija 1 – kolovoz-lipanj, 2010. (DIPL_2009-10_Peric_Mazar_A_783-
2008_CMS_plan)
Plan verzija 2 – kolovoz/rujan, 2010. (DIPL_2009-10_Peric_Mazar_A_783-
2008_CMS_plan_ver2)
Izvještaj – lipanj, 2010. (DIPL_2009-10_Peric_Mazar_A_783-2008_lipanj_izvjestaj_CMS)
Izvještaj – kolovoz, 2010. (DIPL_2009-10_Peric_Mazar_A_783-
2008_kolovoz_izvjestaj_CMS)
Izvještaj – rujan, 2010.( DIPL_2009-10_Peric_Mazar_A_783-2008_rujan_izvjesta2j_CMS)
Izvještaj 2 – rujan, 2010.( DIPL_2009-10_Peric_Mazar_A_783-2008_rujan_izvjesta2j_CMS)
Evidencija (DIPL_2009-10_Peric_Mazar_A_783-2008_CMS_Evid_dipl)
Radnja verzija 1 – lipanj, 2010. (DIPL_2009-10_Peric_Mazar_A_783-2008_ver3_CMS)
Radnja verzija 2 – srpanj, 2010. (DIPL_2009-10_Peric_Mazar_A_783-2008_ver4.1_CMS)
Radnja verzija 3 – kolovoz, 2010. (DIPL_2009-10_Peric_Mazar_A_783-2008_ver4_CMS)73