Transcript

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-3 Struktura WordPressa

19

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-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)

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

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

Slika 7-24 Proces upravljanja anketama

50

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

Slika 7-25 Proces upravljanja galerijama

52

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

Slika 9-28 Modul novosti

57

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

Slika 9-29 Modul kategorije

59

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-35 Prikaz galerija

65

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

Radnja finalna verzija – rujan, 2010. (DIPL_2009-10_Peric_Mazar_A_783-

2008_FINAL_CMS)

CD sa aplikacijom

74


Top Related