razvoj alata za izradu bloga
Transcription
razvoj alata za izradu bloga
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 569 RAZVOJ ALATA ZA IZRADU BLOGA Mario Mustapić Zagreb, lipanj 2009. Na drugu stranicu stavite izvornik zadatka završnog rada. ii iii Sadržaj Uvod ........................................................................................................................................... 1 1. Blog .................................................................................................................................... 2 1.1. 1.2. 1.3. 1.4. 2. Alati za izradu blogova ...................................................................................................... 8 2.1. Blog servisi ......................................................................................................... 9 2.1.2. Samostalna instalacija na unajmljenom web poslužitelju ................................ 10 2.1.3. Odabir naziva domene ...................................................................................... 10 Blogerski servisi ....................................................................................................... 11 2.2.1. Blogger ............................................................................................................. 11 2.2.2. LiveJournal ....................................................................................................... 12 2.3. Alati za samostalnu instalaciju ................................................................................. 13 2.3.1. WordPress ........................................................................................................ 13 2.3.2. ExpressionEngine ............................................................................................. 15 2.3.3. Movable Type .................................................................................................. 16 2.4. Usporedba alata za izradu blogova........................................................................... 17 Uređivanje i održavanje blogova...................................................................................... 19 3.1. 3.2. 4. Izrada blogova ............................................................................................................ 9 2.1.1. 2.2. 3. Razvoj blogova ........................................................................................................... 2 Osnovne karakteristike blogova ................................................................................. 3 Struktura blogova ....................................................................................................... 4 Vrste blogova ............................................................................................................. 7 Uređivanje blogova .................................................................................................. 19 Održavanje blogova.................................................................................................. 23 Studijski slučaj: objektno-orijentirani blog ...................................................................... 26 4.1. 4.2. 4.3. 4.4. Opis aplikacije .......................................................................................................... 26 Opis baze podataka................................................................................................... 28 Programsko rješenje ................................................................................................. 31 Rezultati ................................................................................................................... 38 Zaključak .................................................................................................................................. 41 Literatura .................................................................................................................................. 42 Sažetak ..................................................................................................................................... 44 Summary .................................................................................................................................. 45 Ključne riječi/Keywords .......................................................................................................... 46 iv Uvod Današnji web postao je plodno tlo za društvenu interakciju. Jednostavnost i lakoća pregledavanja weba omogućila su širokoj populaciji, koja možda i nema adekvatno znanje, da postane prisutna na Internetu i pokrene svoj vlastiti dnevnik, ili neku društvenu aplikaciju. Sadržaj na Internetu prikazan je s pomoću web stranica i sva interakcija između korisnika i usluga koje su prisutne na Internetu, uglavnom se odvija pregledavanjem web-sjedišta. U samom početku Interneta bilo je potrebno određeno znanje za uređivanje i stvaranje webstranica. Razvojem tehnologija za izradu i uređivanje web stranica, danas je omogućeno običnom korisniku da kreira i uređuje vlastite web stranice bez potrebe za dodatnim znanjem programskih jezika. Blog je web stranica koja sadrži kratke, izdvojene informacije koje se nazivaju unosima (engl. post). Unosi su organizirani u obrnutom kronološkom redoslijedu (najnoviji unos nalazi se na samom vrhu), i identificirani su jedinstvenom oznakom na koju se mogu pozvati i drugi blogeri. Blogeri (engl. blogger) osobe su koje uređuju i održavaju blogove. Blog predstavlja sredstvo komunikacije i trenutno postoji više tematika koje pojedini blogovi obrađuju. Neki blogovi sadrže samo poveznice na druge blogove, drugi predstavljaju osobne dnevnike, dok neki donose najnovije informacije iz različitih područja. Tema ovog rada je razvoj i implementacija aplikacije za samostalno uređivanje i održavanje bloga korištenjem objektno-orijentirane paradigme. Korištenjem programskog jezika PHP implementirat će se osnovni koncepti bloga i prikazati će se dobiveni rezultati. U prvom poglavlju prikazan je povijesni razvoj blogova, opisana su najvažnija svojstva blogova, prikazana je struktura bloga i navedene su vrste blogova. Drugo poglavlje sadrži pregled dostupnih alata za izradu blogova, opis njihovih najvažnijih karakteristika i arhitekture. Na kraju poglavlja prikazana je usporedba obrađenih alata za izradu blogova. U trećem poglavlju opisan je postupak izrade bloga i navedene su najvažnije značajke kod pisanja i održavanja blogova. U četvrtom poglavlju obrađen je studijski slučaj. Detaljno je opisana aplikacija, korištene tehnologije, način rada aplikacije i dobiveni rezultati. Rad završava zaključkom u kojem je dan osvrt na cjelokupan rad. 1 1. Blog 1.1. Razvoj blogova Suvremeni blog, kakvog danas poznajemo, potječe od online dnevnika, u kojem su korisnici putem Interneta objavljivali događaje i detalje iz svog osobnog života. Student Justin Hall prvi je pokrenuo blog 1994. godine. Skupini korisnika koji su među prvima pokrenuli blogove pripada i Steve Gibson, kojeg je unajmila tvrtka Ritual Entertainment 1997. godine za održavanje bloga. Ujedno, smatra se i prvim blogerom koji je zaposlen da radi kao bloger. Blogovi koji su nastajali u samom početku, tada pod imenom Weblogovi, predstavljali su jednostavne komponente web stranica koje su se ručno održavale. Međutim, evolucija i razvoj alata za olakšanu izradu i održavanje web članaka, objavljenih u obrnutom kronološkom redoslijedu, pojednostavili su sam proces objavljivanja i omogućili pisanje blogova mnogo većoj, ali tehnički manje obrazovanoj populaciji. Termin „weblog“ prvi je upotrijebio Jorn Barger krajem 1997. godine. Kraću verziju, „blog“, koja je danas prisutna na Internetu i mnogo poznatija od izvornog termina, prvi je upotrijebio Peter Merholz 1999. godine. Prema skraćenoj verziji izvornog termina osoba koja uređuje blog nazvana je „bloger“. Iako blog u samom početku bilježi spor razvoj i slab interes kod Internet korisnika, sve veću popularnost stječe tijekom 1999. godine, kada se gotovo istodobno pojavljuje nekoliko alata za smještanje blogova: • OpenDiary (listopad 1998.) – prvi puta omogućeno je čitateljima da ostave svoj komentar na pročitani članak ili tekst; • LiveJournal (ožujak 1999.) – web sjedište osnovao je poznati bloger Brad Fitzpatrick; • Pitas.com (srpanj 1999.) – jednostavna alternativa održavanja stranice s vijestima unutar web sjedišta, ujedno i prvi besplatan web alat za izradu bloga; • Blogger.com (kolovoz 1999.) – danas najpopularniji alat za izradu bloga koji se temelji na web sučelju; 2 U lipnju 2003. godine Google je objavio program AdSense koji povezuje oglase sa sadržajem bloga. Oglasi koji se prikazuju na pojedinim stranicama, sastavni su dio svake stranice. Izvorni blogovi predstavljali su web sjedišta koja su se sastojala pretežno od poveznica na druge sadržaje. Sastavni dio svakog bloga bili su također i komentari, osobna mišljenja i eseji u približno podjednakoj zastupljenosti. Najveći problem u samom početku razvoja blogova predstavljao je nedostatak tehnološke pismenosti. Blogove su kreirale jedino osobe koje su poznavale tehnologije za izradu web stranica. Urednici blogova, nakon cjelodnevnog kreiranja komercijalnih web stranica, svoje slobodno vrijeme iskorištavali su za pregledavanje Interneta i objavljivanje poveznica na najzanimljivije sadržaje. Pojedine poveznice su najčešće i komentirane od strane samog urednika. Mnogi današnji blogeri zadržali su ovaj stil uređivanja bloga. 1.2. Osnovne karakteristike blogova U samom početku razvoja blogova, opcije za uređivanje blogova bile su poprilično ograničene i blogeri su morali poštivati određene konvencije. S vremenom, alati za izradu blogova postali su prilagodljivi i omogućili su krajnjem korisniku da izgled bloga prilagodi svojim potrebama. Iako blogovi predstavljaju naizgled općenite web stranice, posjeduju nekoliko značajki koje ih razlikuju od običnih web stranica: • sadržaj – blogovi se u pravilu ažuriraju češće od tradicionalnih web stranica, mnogi od njih i više puta dnevno. Tako privlače posjetitelje da se češće vraćaju. Sadržaj je uređen i prikazan u obrnutom kronološkom redoslijedu sa posljednje objavljenim unosom (člankom) na vrhu glavne stranice. Stariji unosi su prikazani prema dnu stranice; • sažetak sadržaja – blog se može pregledati kao i obična web stranica s pomoću web preglednika, ali za razliku od obične web stranice, blog najčešće pruža mogućnost pretplate na sažetak sadržaja (engl. feed). Sažetak sadržaja predstavlja nedavno objavljene članke prikazane u obliku XML datoteke, koji omogućuje čitateljima da pročitaju objavljene unose s pomoću odgovarajuće aplikacije, bez potrebe za pregledavanjem samog bloga; 3 • komunikacija – stil pisanja blogova drugačiji je od ostalih web stranica, potiče se komunikacija između urednika i čitatelja. Za razliku od informativne web stranice ili tradicionalne web stranice koja prikazuje novosti, blogovi su pisani tako da blogeri komuniciraju sa svojim čitateljima, i očekuju se odgovori u obliku komentara. Komunikacija se ne mora odnositi samo na pojedinačni blog, nego se može odvijati i između blogova; Pisanje blogova ima mnogo prednosti naspram uređivanja obične web stranice. Iako većina blogera piše blogove iz osobnog zadovoljstva, uređivanje blogova možemo promatrati i kroz druge ciljeve koji nadilaze osobno zadovoljstvo: • popularnost – uspješan blog omogućuje blogeru da bude lakše primijećen. Također, pomaže i u izgradnji prepoznatljivog profila, koji može uvelike pomoći na poslovnom tržištu i promovirati određeni proizvod ili uslugu; • kontakti – blogovi su izvrstan način za upoznavanje novih ljudi. Dobro posjećen blog omogućuje blogeru kontakte s raznim ljudima; • tržište – privlačenje određenog tipa posjetitelja može predstavljati veliki problem, posebno ako postoje proizvodi i usluge koji se nastoje prodati. Blogovi privlače veliki broj posjetitelja, i tako otvaraju nova tržišta koja posjećuju isključivo posjetitelji zainteresirani za tematiku koju blog promovira; • prodaja – osim što blogovi privlače pozornost i stječu uglavnom stalne čitatelje, s vremenom se putem članaka koji se objavljuju može izgraditi povjerenje i vjerodostojnost koji su ključni za ostvarenje prodaje. 1.3. Struktura blogova Iako se blogovi prikazuju pomoću web stranica, većina blogova posjeduje skup značajki koji ih razlikuje od drugih vrsta web sjedišta. Općenita web stranica sastoji se od nekoliko neizostavnih elemenata i prikazana je na slici (Sl. 1.1). Unutar web stranice moguće je navigaciju smjestiti između zaglavlja i sadržaja stranice, i unutar sadržaja stranice (s lijeve ili desne strane sadržajnog dijela). 4 ZAGLAVLJE NAVIGACIJA NAVIGACIJA SADRŽAJ STRANICE PODNOŽJE Sl. 1.1 Struktura općenite web stranice Tipični elementi od kojih se blog sastoji su: • istaknuti unosi sadržaja – prikazani u kronološkom redoslijedu (najnoviji unosi su na vrhu), uz svaki unos prikazan je stalni URL 1 (engl. permanent link). Pohranjivanjem stalnih URL-ova pojedinih unosa potiče se ostale blogere da objavljuju poveznice na objavljene članke. Autor objavljenog članka, datum i kategorija kojoj članak pripada prikazuju se zajedno s pojedinim člankom; • komentari čitatelja – dio bloga koji omogućava interakciju između blogera i čitatelja. Pomoću komentara potiče se rasprava o temi koja je obrađena tekstom, ali može također poticati komunikaciju između blogera i čitatelja; • pretplata na sadržaj (engl. Really Simple Syndication – RSS) – omogućava čitateljima da se pretplate na blog i automatski budu obaviješteni čim se ažurira sadržaj bloga. Korištenjem pretplate na sadržaj može se znatno povećati broj čitatelja; 1 URL (engl. Uniform Resource Locator) – Web adresa određenog resursa na Internetu 5 • arhiva objavljenih unosa – unosi se arhiviraju ovisno o tematici koju obrađuju. Blogovi koji imaju tisuće unosa sadrže arhive koje su organizirane prema mjesecima, godinama i ključnim riječima. Sve navedene arhive automatski stvara blog aplikacija. Čitatelji mogu također koristiti i opciju pretraživanja radi lakšeg pronalaska unosa koji obrađuje traženu tematiku. Iako sve navedene značajke mogu biti ugrađene i u konvencionalne web stranice, blog sustavi se grade s određenom svrhom. Veliku dobit prilikom korištenja specijaliziranih blog aplikacija predstavlja činjenica da je aplikacija za izradu bloga jeftina i posebno dizajnirana na način da omogući običnim korisnicima, koji nemaju znanja programiranja, da iskoriste sve mogućnosti i značajke blogova. Na slici (Sl. 1.2) prikazan je primjer bloga s označenim karakterističnim elementima. Sl. 1.2 Blog sa označenim karakterističnim elementima 6 1.4. Vrste blogova U početku razvoja blogova, blogeri su kreirali isključivo osobne blogove koji su prikazivali njihove interese i sadržaje koje su prikupljali tijekom pregledavanja weba. Ovakvi blogovi obrađivali su razne teme, koje često nisu imale dodirnih točaka, a mnogi blogovi djelovali su kao online časopisi i obrađivali su osobnu tematiku. S druge strane postojali su blogovi koji su obrađivali teme od profesionalnog interesa za njihovog autora. Mnoge tvrtke i druge organizacije otkrili su da im blogovi mogu pomoći u ostvarenju njihovih internih ciljeva i potaknuti komunikaciju s potencijalnim klijentima. Iako su velike tvrtke u početku koristile sustave za samostalno uređivanje vlastitih web sjedišta (engl. Content Management System – CMS), koji su često predstavljali teško za učenje i skupo rješenje, pojavom blogova omogućeno je jednostavno uređivanje i održavanje web stranica, bez potrebe za znanjem HTML-a 2 . Blogovi se danas koriste u razne svrhe i obrađuju razne tematike, stoga je teško odrediti koje su sve vrste blogove prisutne na Internetu i koja područja objavljeni članci obrađuju. S obzirom na namjenu blogovi se mogu podijeliti na: • osobne – prikazuju osobne informacije i detalje iz života autora. Ujedno, obrađuju tematiku koja je usko povezana uz područje interesa blogera; • poslovne – mogu se dodatno podijeliti na: o blogove tvrtki (engl. Company Blogs) – sadrže općenite informacije o poslovnoj orijentaciji tvrtke, kao i osvježene novosti. Sadržaj je ograničen samo na informacije o tvrtki; o blogove proizvoda – promoviraju proizvod ili uslugu. Primarna uloga ove vrste blogova je promocija i prodaja proizvoda; • informativne – sadrže informacije o postojećim i novim tehnologijama, kao i drugim znanstvenim područjima. Mogu poslužiti kao sredstvo učenja; • tematske – blogovi koji prikazuju sadržaj o određenoj temi. Primjer ove vrste blogova su politički, glazbeni, obrazovni, modni ili pravni blogovi. Blogovi koji se koriste u svrhu spama, poznatiji su pod imenom Splog; 2 HTML (engl. HyperText Markup Language) – prezentacijski jezik za kreiranje web stranica 7 2. Alati za izradu blogova Internet pruža nebrojeno mogućnosti kada je riječ o izboru alata za izradu blogova. Neki od dostupnih alata su slični, ali mnogi od njih imaju svoje prednosti i nedostatke. Određeni alati omogućuju vrlo brz i jednostavan početak uređivanja bloga, dok drugi zahtijevaju konfiguraciju i dodatno postavljanje prije samog početka pisanja članaka. Odabir alata najčešće određuje mogućnosti koje su nam dostupne za izmjenu ili nadograđivanje blogova. Određeni problemi nastaju kada alat koji se koristi nije u mogućnosti ispuniti naša očekivanja i potrebe koje su najčešće posljedica Web 2.0 3 zahtjeva. Zbog nekompatibilnosti između različitih alata ovaj problem može predstavljati veliku prepreku prilikom promjene na drugi blog alat koji zadovoljava naše potrebe. Stoga, vrlo je važno na samom početku dobro istražiti mogućnosti pojedinih alata, i opredijeliti sa za odgovarajući alat za izradu bloga. Ideja koja stoji iza blogova vrlo je jednostavna. Aplikacija za uređivanje blogova omogućuje rad u poznatom i korisnički orijentiranom okruženju, dok se u isto vrijeme u pozadini, tekst, slike i poveznice koje se uređuju, formatiraju i spremaju prema pretpostavljenom predlošku u obliku web stranice. Ova značajka omogućava da se u isto vrijeme može pregledavati web i unositi novi sadržaj u blog. Većina blog aplikacija odvaja izgled od funkcionalnosti bloga, pružanjem određenih obrazaca za unos i pohranu predložaka. Nakon početnog pohranjivanja predloška, kojim je definiran izgled bloga, bloger se ne mora više brinuti o rasporedu elemenata. Nakon unosa novog članka, blog aplikacija povezuje pohranjeni predložak s unesenim tekstom i prikazuje ih u obliku web stranice. Trenutno na Internetu postoji mnogo alata za izradu bloga kao što su: WordPress, Textpattern, ExpressionEngine, Movable Type, TypePad, Blogger i LiveJournal. Neki od ovih alata predstavljaju blog servise, dok drugi predstavljaju alate za samostalnu instalaciju na web poslužitelj. 3 Web 2.0 – druga generacija Weba, bazirana na društvenoj interakciji koja omogućuje korisnicima sudjelovanje u kreiranju sadržaja web stranica. 8 2.1. Izrada blogova Kao i kod bilo koje druge važne odluke, potrebno je izdvojiti vrijeme za odabir platforme za izradu bloga. Trenutno postoji više konkurentskih blog alata, koji se razlikuju po svojim mogućnostima, složenosti, cijeni i popularnosti. Blogger predstavlja jednu od najpopularnijih platformi. Izgled početne stranice Blogger servisa prikazan je slikom (Sl. 2.1). Iako postoji mogućnost promjene blog platforme i naknadno, i mnogi alati pružaju podršku za premještanje sadržaja, najčešće se radi o tehnički složenim izazovima koji potencijalno uključuju i određene troškove. Stoga je važno prije odabira alata za izradu bloga uzeti u obzir proračun koji se ima na raspolaganju, ciljeve i vlastitu tehničku osposobljenost. Postoje servisi i blog alati koji omogućuju jednostavno postavljanje i pokretanje blogova. Sl. 2.1 Blogger je jedan od najpopularnijih alata za početnike Postoje dvije vrste blog platformi: aplikacije koje se samostalno instaliraju i smještaju na unajmljeni web poslužitelj i web servisi koji izvršavaju sve potrebne radnje. 2.1.1. Blog servisi Blog servisi predstavljaju vrstu alata koja je možda najbolja za početnike zbog svoje jednostavnosti, brzine i činjenice da je besplatan. Najpoznatiji servisi koji pružaju ovu vrste usluge su WordPress i Blogger, i potpuno su besplatni. Blog servisi se nazivaju domaćinima 9 blogova koje korisnici stvaraju zato što smještaju kreirane blogove unutar svoje domene. Nakon relativno jednostavnog postupka izrade bloga, kreira se web adresa, koja je sastavljena od kombinacije URL servisa i imena bloga. Prednosti blog servisa su: brzo i jednostavno postavljanje, automatsko ažuriranje, jednostavno korištenje, ne zahtijevaju plaćanje pristojbi, povezanost sa web sjedištima koji su posjećeni i prijavljeni na web tražilice. Nedostaci blog servisa su: ograničenost podrazumijevanim izgledom, ograničeno podešavanje, generički URL, zahtjevno nadograđivanje. 2.1.2. Samostalna instalacija na unajmljenom web poslužitelju Drugu vrstu platforme predstavljaju blog alati koji se samostalno preuzimaju s Interneta, instaliraju i smještaju na unajmljene web poslužitelje. Iako postoje određene prednosti i nedostaci i jedne i druge vrste platformi, preporuča se korištenje samostalne instalacije zbog veće kontrole nad blogom. Prednosti samostalne instalacije su: potpuna kontrola, prilagodljivost, korištenje besplatnih alata za izradu bloga, vlastita domena. Nedostaci samostalne instalacije su: trošak, složena instalacija i postavljanje, složena nadogradnja, potencijalni problemi sa unajmljenim web poslužiteljem. 2.1.3. Odabir naziva domene Posjedovanje vlastite domene značajka je profesionalnih blogera i poželjno je iz više razloga. Vlastita domena može značajno pridonijeti izgradnji vjerodostojnosti i stvaranju profesionalnog okružja oko bloga. Slično tome, pažljivo odabrane domene imaju sposobnost privlačenja posjetitelja i povećavaju pamtljivost imena proizvoda, usluga ili čak i osoba. Prilikom odabira imena domena potrebno je uzeti u obzir nekoliko najvažnijih kriterija: • Tema bloga – poželjno je da ime domene odražava tematiku koju blog obrađuje. Ovaj kriterij najčešće nije jednostavno ispuniti. • Duljina imena – iako se mogu koristiti duga imena koja se smatraju ispravnim, smatra se da je pametnije koristiti kratka imena koja su lako pamtljiva. • Završetak domene – smatra se da je prilikom odabira vrlo važan i završetak domene, dio koji slijedi iza „točke“. Slova koja označavaju kraj imena domene nazivaju se 10 vršnim domenama (engl. Top Level Domain – TLD) i podijeljena su u dvije kategorije – državne vršne domene (cTLD) i generičke vršne domene (gTLD). Postoje različiti pristupi odabira TLD-a. Ako se ne cilja na posjetitelje iz određene zemlju (npr. „.hr“ za posjetitelje iz Hrvatske), odabire se najčešće „.com“ domena. • Korištenje brojeva – zbog velikog broja registriranih domena, postoji mogućnost da se ne pronađe željena domena. Pritom se mogu koristiti i brojevi unutar naziva domena, ako su povezani sa tematikom koja se obrađuje. • Korištenje crtica – u nazivima domena crtice se najčešće koriste zbog nedostupnosti željene domene, s druge strance crtice mogu biti vrlo korisne kod optimizacije za web tražilice. Nakon odabira odgovarajućeg imena, koje ispunjava neke od navedenih kriterija, potrebno je registrirati domenu putem nekog od dostupnih web servisa na Internetu. 2.2. Blogerski servisi 2.2.1. Blogger Blogger je jedan od najpopularnijih blog servisa, posebno za korisnike koji tek započinju izrađivati blogove. Ovaj alat predstavlja jednostavan sučelje za pisanje blogova u obliku dnevnika. Iako nudi mnogo manje opcija za uređivanje i prilagođavanje potrebama korisnika, činjenica da je ovaj alat jako popularan omogućuje mu veliku podršku i dostupnost za razne predloške, dodatke i widgete pomoću kojih se može Blogger iskoristiti za pristup raznim servisima i uslugama. Blogger se razlikuje od drugih alata u načinu na koji sprema objavljene članke. Drugi blog alati prilikom posjete novog čitatelja, dohvaćaju podatke iz baze podataka i iznova kreiraju blog stranicu korištenjem odabranog predloška. S druge strane, Blogger prilikom dodavanja novog članka prepiše postojeću HTML stranicu s novim sadržajem. Iako ovaj postupak zahtijeva mnogo više vremena za ažuriranje, može značajno pridonijeti brzini učitavanja web stranice. Najvažnije prednosti servisa Blogger su: 11 • Integracija s mnogim alatima – zbog svoje velike popularnosti, postoje razne aplikacije za različite operacijske sustave koje omogućuju uređivanje blogova sa radne površine osobnog računala. • Uređivanje – korištenjem ikone „Quick Editinig“ omogućeno je brže i jednostavnije dodavanje novog sadržaja. • Različiti autori – Blogger omogućava uređivanje blogova od strane više korisnika, od kojih svaki mora imati korisničke podatke za pristup Google web stranicama. Također mora se omogućiti pristup svakom novom korisniku putem administrativnog sučelja. • Uređivanje predložaka – za razliku od početnih verzija Blogger, nove verzije omogućuju lakše uređivanje predložaka, bez potrebe za dodatnim znanjem programskih naredbi i HTML oznaka. • Integracija sa Google AdSense servisom – svaki blog omogućava dodavanje Google reklamnih tekstova, ali za razliku od drugih blog alata, Blogger sadrži sučelje za pristup statistici i drugim korisnim informacijama. Iako servis Blogger posjeduje korisne značajke, postoji i nekoliko nedostataka: • Napredne postavke – za razliku od ostalih blog alata koji posjeduju mnogo korisnih značajki za profesionalne korisnike, Blogger ne sadrži opcije za napredno upravljanje blogom. • Upravljanje widgetima – dodavanje novih dodataka i widgeta može ponekad biti zahtjevan posao. • Prikaz postova – na glavnoj stranici prikazuju se cijeli postovi, što može predstavljati nedostatak ukoliko se redi o dugim člancima. • Opterećenost poslužitelja – zbog prevelikog broja korisnika, web stranice blogova mogu se dugo učitavati. 2.2.2. LiveJournal LiveJournal je virtualna zajednica gdje korisnici Interneta mogu voditi svoje blogove, online časopise ili dnevnike. LiveJournal je ujedno i naziv alata koji je dizajniran za upravljanje i korištenje LiveJournal virtualne zajednice. Ovaj alat posjeduje značajke društvenih mreža koje su slične drugim web sjedištima za društvenu interakciju između korisnika. Brad 12 Fitzpatrick je započeo s izradom ovog alata 1999. godine. Prvotna namjena ovog alata bila je informiranje prijatelja o trenutnim aktivnostima. LiveJournal omogućuje dodavanje stranica koje sadrže informacije o nedavnim aktivnostima drugih LiveJournal korisnika. Korisnici koji posjeduju komercijalne verzije ovog blog alata mogu koristiti dodatne pogodnosti poput naprednog učitavanja slika, brzog pristupa i pisanja članaka putem elektroničke pošte ili mobilnog uređaja. Korisne značajke blog servisa LiveJournal su: • Stvaranje online zajednica – LiveJournal je alat koji omogućuje interakciju unutar određene zajednice i formiranje mreže „prijatelja“. • „Popis prijatelja“ – ovo je najvažnija prednost LiveJournal alata, koja postojećem blog servisu pruža društvenu značajku. Svaki korisnik ima „prijatelj“ stranicu, koja prikuplja najnovije blog zapise od korisnika koji se nalaze na popisu prijatelja. • „Glasovni postovi“ – korisnici koji koriste komercijalnu verziju ovog alata mogu putem telefonsko poziva unijeti novi članak u svoj blog. Uz vrlo korisne prednosti ovog servisa, važno je istaknuti i nekoliko nedostataka: • Sustav za upravljanje predlošcima – pojedini predlošci mogu biti zahtjevni za postavljanje ne samo običnom korisniku, nego i naprednijim korisnicima koji posjeduju znanja programiranja. • Upravljanje postavkama – relativno komplicirano sučelje za prilagođavanje bloga vlastitim potrebama. 2.3. Alati za samostalnu instalaciju 2.3.1. WordPress Zadnjih nekoliko godina WordPress postao je iznimno popularan alat za izradu i pisanje članaka. WordPress nudi alat koji se može samostalno instalirati, s naglaskom na osnovne značajke blogova – upravljanje temama, registraciju novih korisnika, komentare itd. Ovaj alat za izradu blogova izgrađen je pod GPL 4 licencom, i na taj način omogućeno je velikom broju 4 GPL (engl. General Public License) – dozvola za slobodno korištenje programskih aplikacija 13 korisnika da svojim radom te pisanjem tema i dodataka još više unaprijede WordPress. Prije instalacije i pokretanja ovog alata potrebno je osigurati unajmljeni web prostor koji podržava PHP programski jezik i MySQL bazu podataka. Ako su navedeni uvjeti osigurani, sa web adrese WordPress.org, može se preuzeti instalirati najnovija programska inačica. Prednosti WordPress alata za izradu bloga su: • Vlastita domena – za razliku od blog servisa, WordPress najčešće zahtijeva unajmljivanje web prostora i registraciju vlastite domene. Samim tim osigurava se jedinstvenost i vjerodostojnost što može značajno pridonijeti popularnosti bloga. • Jednostavna instalacija i sučelje – WordPress je jednostavno instalirati, ako poznajemo korisničke podatke za pristupanje unajmljenom web poslužitelju i MySQL bazi podataka. Nakon instalacije, pristupa se sučelje za uređivanje i održavanje bloga, koje je vrlo jednostavno i prilagođeno krajnjem korisniku. • Podrška registraciji novih korisnika – WordPress može predstavljati alat kojim upravlja više korisnika. Proces registracije i prijave vrlo je jednostavan i obični korisnici mogu se unaprijediti do statusa administratora. • Alat za dodavanje novih stranica – za razliku od ostalih alata, WordPress pruža podršku za uređivanje i dodavanje „statičnih“ web stranica. Unutar dostupnog sučelja moguće je uređivati dodatne stranice o proizvodima, uslugama ili neke druge stranice koje se žele uključiti u blog. Također je moguće dozvoliti komentare u tim stranicama. • Dodaci i widgeti – WordPress nudi podršku za dodatke koji su izgrađeni od treće strane. Dodacima se pristupa putem administrativnog sučelja. Widgeti su dostupni za pojedine WordPress predloške i mogu značajno olakšati dodavanje novih predmeta u izbornik sa strane. WordPress alat posjeduje i nekoliko nedostataka: • Višestruki blogovi – WordPress ne pruža podršku za više blogova u jednoj instalaciji, što može biti vrlo korisno većim zajednicama koje žele omogućiti svojim korisnicima da kreiraju i uređuju vlastite blogove. • Zahtjevnost dodataka – neki WordPress dodaci zahtijevaju mnogo resursa za svoje izvršavanje, čime se troše fizički resursi web poslužitelja što može uzrokovati sporo učitavanje blogova. 14 • Sigurnost – postoje određeni sigurnosni problemi zbog oslanjanja na programski jezik PHP, ali za razliku od drugih blog alata, WordPress predstavlja jedno od sigurnijih rješenja. Zapravo, sve PHP skripte predstavljaju potencijalni sigurnosni problem zato što se oslanjanju na bazu podataka koja je ranjiva. 2.3.2. ExpressionEngine ExpressionEngine je blog alat koji je namijenjen uglavnom za web dizajnere. Sa naglaskom na potpuno prilagodljive predloške, korisnici sa znanjem HTML-a mogu izraditi blog koji je potpuno drugačiji od ostalih, pritom ne ograničavajući se na klasičan dizajn koji se sastoji od dva ili tri dijela. Budući da je ExpressionEngine komercijalan alat, postoji mali razvojni tim koji unaprjeđuje funkcionalnost alata. ExpressionEngine sadrži mnogo korisnih značajki koje se mogu dodatno proširiti korištenjem dodataka i modula, koji su uglavnom komercijalni. Iako ExpressionEngine posjeduje arhitekturu koja mu omogućuje proširenje funkcionalnosti pomoću novih modula i dodataka, zajednica programera koji razvijaju nove dodatke relativno je ograničena na mali broj korisnika, za razliku od WordPress alata, koji ima na raspolaganju mnogo više dodataka. ExpressionEngine koristi programski jezik PHP i MySQL bazu podataka, kao i WordPress alat. Prednosti ExpressionEngine alata za izradu bloga su: • Modularan pristup – ExpressionEngine podržava dodavanje novih modula, kao što su forumi, foto galerije, moduli za online poslovanje itd. Moduli koji nude osnovnu funkcionalnost i jednostavna poboljšanja, također su podržani. • Višestruki blogovi – Za razliku od WordPress alata, moguće je izgraditi više različitih blogova unutar jedne instalacije. Moguće je imati blogove koji obrađuju različitu tematiku, kao i blogove koje uređuju jedan ili skupina korisnika. • Prilagodljiv sustav predložaka – moguće je stvaranje vlastitih predložaka za prikaz elemenata korištenjem posebnih ExpressionEngine oznaka ili HTML oznaka. Sustav predložaka može se koristiti za integraciju „statičnog“ i blog sadržaja, a samim tim i izgrađivanje cjelokupnog web sjedišta. 15 • Mailing liste – komercijalne verzije sadrže i upravitelj mailing listama koji omogućava korisnicima da se prijave ukoliko žele primati obavijesti i druge materijale na adresu elektroničke pošte. • Statistike – ExpressionEngine sadrži alat za prikaz statistika o blogu, poput broja posjetitelja, najposjećenijih stranica, najpopularnijih članaka itd. Kod održavanja veće blog zajednice, ove statistike mogu biti vrlo korisne. • Uređivanje slika – ExpressionEngine omogućuje mijenjanje veličine slike i stvaranje malih slika prilikom učitavanja. Komercijalna verzija sadrži podršku za izradu foto galerija s opisima i komentarima posjetitelja. Iako ExpressionEngine posjeduje korisne značajke, postoji i nekoliko nedostataka: • Komercijalni dodaci – svi dodaci i moduli koji se naknadno instaliraju su uglavnom komercijalni i potrebno je kupiti licencu za njihovu instalaciju. • Ograničen broj predložaka – broj predložaka koji dolaze instalirani s ovim alatom je vrlo ograničen. Iako postoje web stranice za preuzimanje predložaka, sam proces instalacije može ponekad biti vrlo zahtjevan. 2.3.3. Movable Type Movable Type se počinje razvijati 2001. godine kao osobni projekt Benjamina i Mene Trott. Jedan od glavnih razloga velike popularnosti ovog alata je njegova prilagodljivost. U vrijeme kada se Movable Type počeo razvijati većina popularnih blog alata bili su blog servisi, koji su bili jednostavni za postavljanje, ali nisu podržavali mogućnost naprednog postavljanja. Movable Type bio je kompliciraniji za korištenje, ali je pružao korisnicima veću kontrolu nad web stranicama. S osnovnim znanjem HTML-a podrazumijevani predlošci mogli su se vrlo lako prilagoditi, ili su se mogli kreirati vlastiti. Samim tim omogućeno je stvaranje jedinstvenih i prepoznatljivih stranica. Movable Type izgrađen je korištenjem programskog jezika Perl. Jedna od najvažnijih značajki ovog alata, njegova je arhitektura koja omogućava korisnicima da razvijaju vlastite dodatke koji nadograđuju osnovnu funkcionalnost. Trenutno postoji velika i aktivna zajednica korisnika ovog alata kao i brojne stranice koje mogu biti vrlo korisne početnicima. Iako je u početku Movable Type bio besplatan, od verzije 3.0 počinju se naplaćivati licence za korištenje ovog alata. I dalje postoji besplatna verzija, koja se može slobodno preuzeti, ali je 16 ograničena na jednog korisnika i tri bloga. Iako su ograničenja besplatne verzije prihvatljiva širem krugu korisnika, ukoliko postoje složeniji zahtjevi, cijena osnovne licence je relativno prihvatljiva i uključuje tehničku podršku. Najvažnije prednosti Movable Type alata za izradu bloga su: • Višestruki blogovi – za razliku od WordPress alata, Movable Type pruža podrška za upravljanje različitih blogova koji su kreirani unutar iste instalacije. Razmjena informacija između različitih blogova i unaprjeđivanje vrlo je jednostavno. • Održavanje – pronalaženje i uređivanje predložaka vrlo je jednostavno, kao i postavljanje modula bilo gdje na web stranicu. Movable Type pruža izvrsne mogućnosti za napredno postavljanje. • Jednostavnost korištenja – vrlo dobar dizajn i korisničko sučelje omogućuju korisnicima da vrlo jednostavno izvršavaju svoje svakodnevne radnje, poput pisanja novih članaka. • Dodaci – Movable Type omogućuje korisnicima da pomoću velikog izbora dodataka prilagode blogove svojim potrebama i prošire funkcionalnost samog alata. Nedostaci Movable Type alata za izradu bloga su: • Ograničenja besplatne verzije – iako je Movable type komercijalan alat, postoji i besplatna verzija, čije mogućnosti su poprilično ograničene. • Tehnička podrška – besplatne verzije ne uključuju tehničku podršku, koja je dostupna isključivo korisnicima koji posjeduju licencirane verzije ovog alata. 2.4. Usporedba alata za izradu blogova U prethodnim poglavljima opisani su neki od najpopularnijih alata za izradu blogova. Pritom su promatrane njihove najvažnije osobine i značajke koje ih razlikuju od drugih alata. U ovom poglavlju prikazana je tablica (Tablica 2.1) u kojoj su istaknute najvažnije osobine blogova. Za pojedini alat u tablici označene su značajke koje posjeduje i pomoću pozitivnih i negativnih ocjena označena je razina iskoristivosti samog alata. S obzirom da su neki alati besplatni, prilikom usporedbe nije uzet u obzir faktor cijene, već su svi alati promatrani ravnopravno, odnosno kao da su besplatni. 17 Blogger LiveJournal WordPress ExpressionEngine Movable Type Tablica 2.1 Usporedba opisanih blog alata Jednokratna naknada - - - $0‐$99+ $0‐$49+ Mjesečna naknada - $0‐$3 - $0‐$3 - Blog servis ili Instalacija BS BS I I I Jednostavnost korištenja + - +/- +/- - Podešavanje bez kodiranja + - +/- - - Napredno podešavanje + +/- + + + Dodavanje novih unosa +/- +/- +/- +/- - Upotrebljivost za čitatelja +/- +/- +/- + +/- Sigurnost i podrška +/- +/- +/- +/- + Kategorije Odlomci • JavaScript podrška • • • • • • • • • Ako se blog koristi za osobnu zabavu ili vođenje osobnog dnevnika preporuča se korištenje besplatnih servisa. S druga strane ako se želi razvijati ozbiljan blog i postoje ambicije za profesionalno korištenje bloga (u svrhu stvaranja prepoznatljivog imena, ili zarađivanja putem oglašavanja) preporuča se korištenje alata za samostalnu instalaciju na unajmljenom web poslužitelju. Na hrvatskom tržištu postoji nekoliko blog servisa koji su uglavnom besplatni i koji posjeduju približno jednaku funkcionalnost. Najpopularniji blog servisi su: • Bloger.hr, • Blog.hr, • MojBlog.hr. 18 3. Uređivanje i održavanje blogova Prije samog početka pisanja blogova potrebno je izvršiti određene radnje koje su neophodne za izradu, a potom i uređivanje te održavanje blogova. Odabir platforme i alata za izradu bloga te odabir imena domene, samo su neke od radnji za koje treba izdvojiti izvjesno vrijeme. Kvalitetno pisanje i uređivanje postova, te održavanje samog bloga, značajke su koje pridonose kvaliteti bloga i stvaranju prepoznatljivog imena. 3.1. Uređivanje blogova Sadržaj bloga predstavlja najvažniji element koji čini blog uspješnim i privlači veliki broj čitatelja. Teško je definirati dobar sadržaj i to je najčešće subjektivna stvar koja je različita za svaku osobu i ovisi o osobnim potrebama i tematici o kojoj se piše. Prilikom pisanja i uređivanja blogova potrebno je razmotriti nekoliko osnovnih značajki koje mogu pridonijeti kvaliteti objavljenog sadržaja, a samim tim i uspješnosti cjelokupnog bloga. U nastavku su navedene osnovne značajke koje čine blogove uspješnim i pridonose stvaranju kvalitetnog sadržaja. Korisnost i jedinstvenost Prilikom odabira tematike koja će se obrađivati objavljenim člancima potrebno je razmotriti koliko je sadržaj koristan čitateljima. Iako je „koristan sadržaj“ različit za svaku osobu, može se razmatrati kroz nekoliko područja: • zabava – blogovi se koriste za zabavu. Čitatelji se neprestano vraćaju radi šaljivih dosjetki, zanimljivih razgovora i ostalih zabavnih sadržaja. • Obrazovanje – pojedini čitatelji blogova prvenstveno su zainteresirani za učenje o određenoj tematici koju blog obrađuje. • Novosti – mnogi čitatelji blogova jednostavno žele biti u korak s najnovijim vijestima o nekoj tematici. • Zajednica – neki blogovi su izgrađeni na temelju ljudske potrebe da pripadaju nekoj zajednici. Glavni zadatak ovakvih blogova povezivanje je ljudi koji su zainteresirani 19 za temu koju blog obrađuje. Vrlo često tema je sekundarna naspram odnosa koji je izgrađen između posjetitelja bloga. Svaki blog ima potencijal da bude koristan na svoj način. Ono što čini blog korisnim zasigurno nisu različiti članci koji nastoje objediniti više područja u jedno, iako postoje neki blogovi koji obrađuju različite tematike. Većina blogova uglavnom prikazuje sadržaj na sličan način. Jedinstvenost bloga i tematike koju obrađuje nije jednostavno ostvariti. Potrebno je istraživati i pregledavati postojeće sadržaje na webu i pokušati se izdvojiti od ostalih i ponuditi sadržaj na način koji nije prisutan na ostalim blog stranicama. Uočljiv sadržaj Web korisnici se ne zadržavaju dugo na stranicama i često sadržaj brzo pregledavaju. Umjesto da čitaju cijele članke, korisnici radije brzo pregledavaju sadržaj u potrazi za ključni riječima i izrazima. Kao posljedica toga, javlja se potreba za primjenjivanjem određenih tehnika pisanja sadržaja kako bi se čitateljima omogućilo lakše pronalaženje traženih informacija: • liste – dugi eseji su teški za čitanje i zahtijevaju veliku koncentraciju kod čitatelja. Prikazivanjem članka u obliku liste, mnogo je učinkovitije od klasičnog esejskog oblika. • Formatiranje – koriste se sljedeće tehnike oblikovanja riječi: podebljane riječi, VELIKA slova, podcrtane riječi i kurziv. Također poželjno je promijeniti vrstu, veličinu i boju slova ako se žele istaknuti određene riječi. • Naslovi – korištenje naslova pridonosi definiranju strukture članka, ali naslovi također mogu biti vrlo korisni čitateljima za pronalazak informacije ili dijela članka koji ih više interesira. • Slike – pametnim korištenjem slika unutar objavljenih članaka može se privući pozornost čitatelja, odnosno mogu se istaknuti određene točke. Slike su posebno učinkovite na samom vrhu članka, jer potiču interes kod čitatelja. • Obrubi – definiranje obruba oko citata ili programskog koda može biti vrlo korisno za privlačenje pažnje kod čitatelja. • Praznine – korištenjem praznina moguće je privući pažnju čitatelja na određeni dio članka koji može sadržavati korisne informacije. 20 • Kratki odlomci – razdvajanjem velikih odlomaka teksta na više manjih dijelova, olakšavamo čitateljima pregledavanje članaka. Korištenjem navedenih tehnika i najduži članci mogu biti vrlo jednostavni za pregledavanje. Privlačni naslovi Naslovi su jako važni prilikom pisanja članaka. Ukoliko je naslov zanimljiv i privlačan, može privući čitatelja, u suprotnom, nezanimljivi naslovi često su glavni uzrok loše posjećenosti blogova. Postoji mnogo strategija o tome kako odabrati dobar naslov i privući čitatelja, neke od njih su navedene u nastavku: • Jednostavni naslovi – prema [1] većina istraživanja pokazala je da su najučinkovitiji naslovi jednostavni, kratki i laki za razumijevanje. Kratki naslovi su također dobri za tražilice – definiranjem naslova sa 40 ili manje slova, može se osigurati da se cijeli naslov pojavi u rezultatima pretraživanja Google tražilice. • Naslovi koji privlače pozornost – dobri naslovi izdvajaju se od ostalog sadržaja koji se prikazuje na stranici. Pozornost se može privući i korištenjem naslova u obliku važnih tvrdnji, kontroverzi ili čak zbunjenosti kod čitatelja. Iako su ove taktike učinkovite za privlačenje pozornosti, one mogu pokvariti dojam cjelokupnog članka, ukoliko ostatak članka ne zadovolji očekivanja koja je stekao čitatelj promatranjem naslova. • Opisni naslovi – naslovi trebaju opisivati sadržaj članka koji će čitatelji u nastavku pročitati, ali ne moraju sadržavati sve činjenice koje članak obrađuje. • Korištenje ključnih riječi u naslovima – naslovi su vrlo važan dio SEO 5 procesa. Korištenjem ključnih riječi povećava se mogućnost lakšeg pronalaska objavljenog članka kao rezultata pretraživanja. Riječi na početku naslova imaju veće značenje za SEO nego riječi na kraju. Naslov predstavlja oglas objavljenog rada. Stoga, potrebno je odvojiti izvjesno vrijeme za definiranje naslova. Većina blogera potroši mnogo vremena na pisanje zanimljivih i poticajnih članaka koji često imaju slabu posjećenost zbog nezanimljivog ili loše definiranog naslova. Vrlo je bitna i veličina naslova koja uvelike pridonosi uočljivosti samog članka i privlači pozornost kod čitatelja. 5 SEO (engl. Search Engine Optimization) – optimizacija web stranice za Internet tražilice 21 Organiziranje unosa Prilikom pisanja članaka potrebno ih je organizirati u kategorije koju su obuhvaćene tematikom koju blog obrađuje. Radi lakše čitljivosti i prilagođenosti čitatelju nastoji se da članak uvijek obrađuje isključivo jednu temu. Zbog organizacije bloga, članci imaju tendenciju da se dodatno usredotoče na usko ciljanu temu, i na taj način omogućuju pridjeljivanje određenog članka jednoj od kategorija. Na slici (Sl. 3.1) prikazana je podjela tematike bloga na kategorije kojima su pridijeljeni članci. Sl. 3.1 Organizacija unosa pomoću kategorija Objavljeni članak najčešće ne obuhvaća cijelu kategoriju kojoj pripada, ali zato predstavlja element koji pripada toj kategoriji. Usko fokusiranje objavljenih članaka na elemente kategorija u kojima se nalaze, pridonosi organizaciji bloga u smislenu cjelinu, koja je objedinjena jednom tematikom. Ova struktura jako je slična strukturi knjige, koja ima glavnu temu, poglavlja i na kraju dijelove teksta koji su obuhvaćeni poglavljima. Prednosti organiziranih članaka: • Jednostavnost korištenja – kratki i pregledni članci privlače čitatelje. • SEO – stranice koje obrađuju jednu temu, pomažu tražilicama da otkriju tematiku objavljenog članka. Na taj način omogućeno je tražilicama da povežu članak s pripadajućom temom o kojoj se piše. • Kontekstualni oglasi – obrađivanjem jedne tematike olakšava se kontekstualnim sustavima za oglašavanje, poput sustava Google AdSense, da lakše odrede koju teme 22 članak obrađuje i na osnovu toga prikažu relevantne oglase koji su povezani s obrađenom temom. • Jednostavnost pisanja – koncentracija oko jedne tematike pridonosi lakoći pisanja. • Povezivanje slijednih postova – zbog lakoće čitanja i prilagođavanja čitatelju, dugi članci najčešće su organizirani u obliku niza članaka koji zajedno obrađuju istu tematiku. Organizacijom članaka u kategorije, olakšava se pronalaženje članaka i povećava se preglednost obrađene teme. 3.2. Održavanje blogova Održavanje blogova može predstavljati vrlo zahtjevan posao. Postojeći blog servisi najčešće ne zahtijevaju održavanje blogova, osim brisanja spam komentara. S druge strane, alati koji se samostalnu instaliraju mogu zahtijevati određene radnje poput spremanja sigurnosnih kopija, analiziranja blog statistika, optimiziranja za tražilice itd. Optimizacija za tražilice Upotrebom nekoliko osnovnih SEO tehnika može se povećati vidljivost bloga u određenim Internet tražilicama, i osigurati da se blog nalazi što bliže vrhu rezultata pretraživanja koja su usko povezana sa tematikom bloga. SEO tehnike koje se najčešće primjenjuju su: • Korištenje ključnih riječi unutar sadržaja – prilikom pisanja novih sadržaja treba nastojati koristiti ključne riječi koje su bitne za tematiku koju blog obrađuje. Na primjer, ako blog obrađuje ronjenje u zadarskom arhipelagu, onda određene ključne riječi, kao što su „ronjenje u zadarskom arhipelagu“ i „zadarski arhipelag“, treba učestalo i dosljedno koristiti prilikom pisanja. • Korištenje opisnih naslova – prilikom optimizacije za tražilice, može biti vrlo korisno korištenje opisnih naslova (koji sadrža ključne riječi) za blog stranice, članke i naslove unutar članaka (korištenjem XHTML oznaka H1, H2 itd). Ako pišemo recenziju o digitalnom fotoaparatu, umjesto naslova „Osvrt na DSLR-A200“, upotrijebiti ćemo naslov „Recenzija digitalnog fotoaparata Sony DSLR-A200“. • Definiranje smislenih URL-a – korištenjem smislenih naziva URL-a, može se također pridonijeti optimizaciji za tražilice. 23 • Optimiziranje postova – osim korištenja ključnih riječi u objavljenim postovima, vrlo je važno pisati o jednoj određenoj temi, i nastojati da post bude odgovarajuće duljine, barem nekoliko stotina riječi. • Korištenje META oznaka – različiti pretraživači pridaju različitu važnost META oznakama, no korisno ih je imati. META oznake spremaju se u HEAD dijelu predložaka koji se koriste za prikaz elemenata na web stranici. U ovom kontekstu koriste se dvije vrste META oznaka: opisne oznake i oznake ključnih riječi. U nastavku se nalazi primjer oznaka: <META NAME="description" content="News, views and reviews by blog publisher Mario Mustapic."> <META NAME="keywords" content="Mario Mustapic, Web, programming, PHP, AJAX, jQuery, MySQL, Application design"> Osim primjene tehnika optimizacije za web tražilice, vrlo je važno prijaviti blog na postojeće web tražilice. Na taj način osigurava se da web roboti, aplikacije koje koriste tražilice u potrazi za novim sadržajima na webu, pregledaju blog i pronađu sadržaj koji može biti koristan kao rezultat pretraživanja. Korištenje servisa Google Analytics za praćenje statistika Google Analytics može se koristiti za praćenje statistika bloga, i saznavanje korisnih informacija o posjetiteljima bloga. Korištenjem Google AdWords servisa zajedno sa drugim Internet programima za oglašavanje, i upotrebom Google Analytics servisa može se povećati promet na web stranici. Google Analytics djeluje na isti način kao i slični servisi koji postoje na Internetu. Potrebno je unutar bloga dodati poseban JavaScript kod, koji se izvršava svaki put kada se učita stranica bloga. Ukoliko se koriste blog alati, potrebno je unutar glavnog predloška koji se koristi za prikaz elemenata na web stranici, dodati Analytics kod. Pritom, potrebno je uzeti u obzir da se dio web stranice u koji smo dodali Analytics kod izvršava svaki put kada se pristupa blogu. Analytics kod koji se dodaje u web stranicu prikazan je u nastavku: script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-00000000-1"; urchinTracker(); </script> 24 Na slici (Sl. 3.2) prikazan je izgled nadzorne stranice Google Analytics servisa na kojoj se nalazi kratak sažetak osnovnih statistika koje su dostupne za web stranicu. Na samom vrhu prikazan je broj posjeta u obliku u grafikona. U nastavku prikazane su informacije o korištenosti web stranice, zastupljenosti pojedinih preglednika, načinu na koji su posjetitelji došli na web stranicu itd. Sl. 3.2 Izgled nadzorne stranice servisa Google Analytics 25 4. Studijski slučaj: objektno-orijentirani blog U prvom dijelu ovog završnog rada definirani su osnovni termini vezani za izradu, upravljanje i održavanje blog alata. Također su spomenuti i neki od postojećih blog alata koji su dostupni putem Interneta. U sklopu ovog rada obrađen je studijski slučaj razvoja blog alata korištenjem objektnoorijentirane paradigme. Aplikacija je razvijena u programskom jeziku PHP, uz korištenje baze podataka MySQL u kojoj su pohranjeni svi podaci koje aplikacije koristi prilikom izvršavanja. 4.1. Opis aplikacije Sustav koji se izvršava u pozadini blogova, kojeg korisnici prilikom pristupanja blogu ne vide, temelji se na sustavu za samostalno upravljanje sadržajem (CMS). CMS sustav preuzima sadržaj od korisnika (osobe koja unosi novi članak), pohranjuje ga u bazu podataka i pomoću dostupnih predložaka prikazuje rezultat čitatelju bloga. Na slici (Sl. 4.1) prikazan je dijagram koji opisuje spomenuti proces. Sl. 4.1 Dijagram sustava za samostalno upravljanje sadržajem Aplikacija koja je razvijena za potrebe ovog rada sastoji se od dva dijela. Prvi dio obuhvaća sustav za administraciju bloga, a drugi dio obuhvaća sustav za prikaz bloga i pripadnih članaka. Sustav za administraciju omogućuje korisniku unošenje novih članaka, uređivanje postojećih, dodavanje novih kategorija u koje se mogu svrstati članci po tematici koju obrađuju, dodavanje novih korisnika, linkova itd. Sustav koji prikazuje sadržaj bloga sastoji se od nekoliko komponenti i prikazan je slikom (Sl. 4.2). Prvu i osnovnu komponentu predstavlja naslovna stranica koja prikazuje pet najnovijih članaka (broj članaka koji se prikazuje može se promijeniti u konfiguracijskoj datoteci). Na naslovnoj stranici prikazuju se naslovi i kratki sažeci članaka. Odabirom pojedinog članka pristupa se stranici koja prikazuje 26 cijeli članak zajedno sa komentarima čitatelja. Arhiva članaka predstavlja sljedeću komponentu sustava, koja prikazuje članke sortirane prema mjesecu i godini u kojoj su objavljeni. Stranica koja prikazuje postove prema kategoriji kojoj pripadaju također predstavlja komponentu ovog sustava. Kategorija se najčešće odnosi na tematiku koja je obrađena objavljenim člankom, i pridjeljuje se članku neposredno prije objavljivanja. Putem naslovne stranice moguće je pretraživati članke koji su pohranjeni u bazi podataka. Pretraživanje također čini sastavni dio sustava za prikaz sadržaja. Naslovna stranica Blog arhiva Blog postovi i komentari Rezultati pretraživanja Sl. 4.2 Dijagram sustava za prikazivanje sadržaja bloga Na slici (Sl. 4.3) prikazan je slijed koraka prilikom pristupa posjetitelja blog stranici. Na samom početku klijent šalje zahtjev web poslužitelj za blog stranicom koju želi posjetiti. Nakon toga aplikacija na web poslužitelju dohvaća potrebne podatke iz baze podataka, koja se nalazi na odvojenom poslužitelju. Nakon primljenog odgovora od baze podataka, unutar aplikacije izgrađuje se pomoću predložaka naslovna blog stranica koja prikazuje nekoliko članaka koji su posljednji objavljeni. Web poslužitelj vraća klijentu formatiranu blog stranicu. Prikazani postupak ponavlja se kod pristupa pojedinim postovima, i drugim stranicama koje se dinamički generiraju. Ako se pristupa statičnoj stanici (npr. „kontakt“ stranica) koja je pohranjena na tvrdom disku, web poslužitelj ne pristupa bazi podataka, nego zahtijevanu stranicu odmah prosljeđuje natrag klijentu. 27 Sl. 4.3 Dohvaćanje podataka i prikaz blog stranice na klijentskom računalu 4.2. Opis baze podataka Sustav koji upravlja sadržajem i pohranom podataka koristi MySQL bazu podataka za spremanje svih podataka. Unutar sustava za upravljanje bazom podataka nalazi se baza podataka blog_db, u kojoj su pohranjene sve tablice. U navedenoj bazi podataka nalazi se sedam tablica: • blog_posts – u ovoj tablici pohranjeni su podaci o postovima. • blog_comments – tablica sadrži komentare koji su povezani sa pojedinim postovima. • blog_users – tablica sadrži informacije o korisnicima. • blog_categories – tablica sadrži kategorije kojima se pojedini članci mogu pridijeliti. • blog_links – linkovi koji se prikazuju u izborniku sa strane pohranjeni su u ovoj tablici. • link_categories – ova tablica sadrži kategorije u koje možemo smjestiti linkove. Svaka kategorija prikazana je odvojeno u izborniku sa strane. • blog_pages – u ovoj tablici pohranjuje se sadržaj stranica koje se mogu naknadno dodati. Povezanost pojedinih tablica i imena atributa koji se nalaze u tablicama prikazani su slikom (Sl. 4.4). Na navedenoj slici podebljano su označeni primarni ključevi pomoću kojih je svaki podatak jedinstveno označen. Strani ključevi označeni su s oznakom „FK“ pokraj atributa. 28 blog_posts PK post_id FK2 FK1 title date_created date_modified summary content user_id category_id blog_comments PK comment_id FK1 author author_mail author_url date_created content post_id blog_categories PK category_id blog_links PK link_id FK1 url name description link_cat_id name description blog_users PK user_id username password email nicename about register_date last_login status activation_key link_categories PK link_cat_id name description blog_pages PK page_id FK1 title content date_created user_id Sl. 4.4 Konceptualni model baze podataka Najvažnija tablica u ovoj bazi podataka je tablica blog_posts koja sadrži podatke bitne za ispravan rad bloga. Sadržaj ove tablice kao i opis pohranjenih podataka prikazani su tablicom (Tablica 4.1). Svaki post jedinstveno je identificiran pomoću atributa post_id, koji se koristi kod pristupa pojedinačnim postovima. Unutar polja title pohranjen je naslov članka. Kratak sadržaj pohranjuje se u polje pod nazivom summary, a sadržaj cjelokupnog članka pohranjen je u polje content. Pomoću atributa user_id i category_id referencirane su tablice blog_users, odnosno blog_categories, i na taj način omogućen je dohvat podataka o korisniku koji je objavio članak, kao i o kategoriji u kojoj se članak nalazi. Tablica koja sadrži komentare i tablica koja sadrži podatke o korisnicima također čine vrlo važan dio sustava. Bez tablice s podacima o korisnicima ne bi bilo moguće prijaviti se u sustav i uređivati blog. Interakcija između korisnika postala je sastavni dio Interneta i zbog toga tablica s komentarima posjetitelja predstavlja važnu komponentu blog aplikacije. 29 Tablica 4.1 Sadržaj tablice blog_posts s odgovarajućim tipovima podataka Polje Tip podatka Opis post_id int Cjelobrojna vrijednost title varchar(255) Tekst duljine do 255 znakova date_created datetime Datum i vrijeme date_modified timestamp Vremenska oznaka koja se automatski ažurira summary text Tekst promjenjive veličine content text Tekst promjenjive veličine user_id int Cjelobrojna vrijednost category_id int Cjelobrojna vrijednost U nastavku prikazan je primjer SQL upita pomoću kojeg se dohvaćaju podaci o članku koji je identificiran brojem tri. Dohvaćaju se podaci o jedinstvenom broju posta, naslovu, kratkom sadržaju, jedinstvenom broju korisniku, jedinstvenom broju kategorije, datumu i na kraju korištenjem podupita dohvaća se broj komentara koje članak sadrži. SELECT post_id, title, summary, content, user_id, category_id, DATE_FORMAT(date_created, '%e %b %Y') AS date, (SELECT COUNT(*) FROM blog_comments WHERE blog_posts.post_id = blog_comments.post_id) AS comments, FROM blog_posts WHERE post_id = 3 Na slici (Sl. 4.5) prikazan je izgled tablice blog_comments u kojoj su pohranjeni komentari. U stupcu s imenom post_id pohranjeni su podaci o članku na koji se komentar odnosi. Ostali podaci sadrže ima autora, njegovu adresu elektroničke pošte, datum kada je komentar nastao i sam komentar. Sl. 4.5 Podaci pohranjeni u tablici blog_comments 30 4.3. Programsko rješenje Kao i sve ostale web stranice koje dinamički učitavaju podatke iz baze podataka, tako i ova blog aplikacija sastoji se od dijela koji je vidljiv svim posjetiteljima i dijela koji služi za administraciju. Posjetitelji koji imaju potrebne korisničke podatke mogu pristupiti ovom sustavu i izvršavati određene radnje. Slika (Sl. 4.6) prikazuje UML dijagram koji ilustrira osnovne slučajeve korištenja bloga. Blog Pregledavanje članaka Unos komentara Pretraživanje bloga Pregledavanje arhive Posjetitelj bloga «uses» Dodavanje novih linkova «uses» Administriranje bloga Ovlašteni korisnik «uses» «uses» Dodavanje novih stranica Dodavanje novih kategorija Dodavanje novih članaka «uses» Uređivanje članaka Sl. 4.6 Dijagram slučajeva korištenja 31 Slika (Sl. 4.6) prikazuje što se događa kad korisnik putem administrativnog sučelja unose novi članak. Sadržaj forme koju je korisnik ispunio šalje se PHP ili CGI skripti, koja zatim otvara konekciju prema bazi podataka i putem upita spremaju se vrijednosti u bazu podataka. Sl. 4.7 Slijed izvršavanja operacija kod dodavanja novog članka Prilikom pristupanja običnog korisnika blogu, situacija je malo složenija. Kod zahtjeva za prikazivanjem naslovne stranice izvršava se sljedeći slijed operacija: 1. Web poslužitelj prima klijentov zahtjev za dohvaćanje naslovne stranice. 2. Web poslužitelj izvršava PHP skriptu, u kojoj se nalazi programski kod za spajanje na bazu podataka. 3. Prilikom spajanja na bazu podataka prosljeđuju se podaci o korisničkom imenu i lozinki zajedno sa informacijama o potrebnim podacima. 4. MySQL baza podataka vraća rezultat skripti, koja generira pripadajući XHTML kod radi prikaza formatiranog izgleda naslovne stranice bloga. 5. Skripta šalje gotovu stranicu web poslužitelju, koji isporučuje klijentu naslovnu stranicu bloga zajedno sa svim slikama, CSS datotekama itd. 32 Navedeni postupak prikazan je na slici (Sl. 4.7). Sl. 4.8 Slijed izvršavanja operacija kod zahtjeva za prikazom naslovne stranice Blog aplikacija sastoji se od više datoteka u kojima su pohranjeni razredi i HTML oznake. Datoteke koje su važne za ispravan rad sustava navedene su u nastavku: • index.php – naslovna stranica koja prikazuje najnovije postove. • admin.php – nakon uspješnog prijavljivanja korisnik se preusmjerava na ovu stranicu, odakle može izvršavati sve radnje koje su bitne za uređivanje bloga. • login.php – putem ove stranice korisnik se prijavljuje u administrativni sustav. • blogpost.php – u ovoj datoteci pohranjen je programski kod blog objekta. • archive.php – ova stranica prikazuje članke koji su objavljeni prema godinama i mjesecima u kojima se objavljeni. Odabirom pojedinog mjeseca, ispisuju se svi članci koji su napisani u tom mjesecu. • functions.php – funkcije za rad sa objektima nalaze su u ovoj datoteci. • db_connect.php – datoteka sadrži definiranu konekciju prema bazi podataka. Osim navedenih datoteka postoji i nekoliko dodatnih datoteka koje su uglavnom povezane sa administracijskim sučeljem i služe za dodavanje i uređivanje postova, linkova i kategorija. 33 Nakon dolaznog zahtjeva na web poslužitelj, počinje se izvršavati skripta koja se nalazi u index.php dokumentu. Nakon prikazivanja zaglavlja, poziva se funkcija GetBlogPosts() koja za svaki objavljeni post kreira objekt klase BlogPost: $blogPosts = GetBlogPosts(null, 5); foreach ($blogPosts as $post) { Unutar klase BlogPost definirane su varijable koje se koriste za prikaz informacija o članku: public public public public public public public public public public $postId; $title; $dateCreated; $post; $summary; $author; $category; $comments; $authorAbout; $authorMail; Varijable se koriste za prikaz naslova, sažetka, broja komentara, datuma kada je članak kreiran, imena autora itd. Kao rezultat, funkcija GetBlogPosts() vraća samo pet najnovijih članaka (ova vrijednost može se promijeniti). Potom se za svaki objekt kreira HTML kod: <div id="post_<?php echo $post->postId ?>" class="entry"> <h1 class="a_heading"> <a href="post.php?post_id=<?php echo $post->postId ?>"> <?php echo $post->title ?></a></h1> <p> <?php echo $post->summary ?> </p> <br class="clear" /> <p class="button" style="text-align: right;"> <a href="#">Vise...</a> </p> <div class="post_meta"> <span class="post_info"> <span class="post_time"><?php echo $post->dateCreated ?></span> <span class="post_cat"> <a rel="category" href="#"><?php echo $post->category ?></a> </span> </span> <span class="post_comment"><?php echo $post->comments ?> </span> <br class="clear" /> </div> </div> 34 Pomoću stilskog jezika za opis web stranice (CSS), moguće je formatirati zadani HTML kod. Korištenjem stilova koji su prikazani u nastavku elementi su razmješteni na odgovarajuća mjesta unutar web stranice (prikazan je samo dio stilova): #content .entry { padding-bottom: 10px; margin-bottom: 20px; } #content .post_meta { margin-top: 15px; background: rgb(245, 245, 245) none repeat scroll 0 0; display: block; font-size: 11px; line-height: 30px; padding: 0 10px 0 0; letter-spacing: -1px; text-transform: uppercase; -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; } #content .post_meta .post_info { display: block; float: left; height: 30px; line-height: 30px; } Elemente je moguće razmjestiti na više načina, i moguće je definirati svoj vlastiti stilski predložak. Kao rezultat, spajanjem rezultata dobivenih iz baze podataka, generiranjem HTML oznaka i formatiranjem elemenata pomoću CSS-a dobije se ispis članka koji je prikazan na slici (Sl. 4.8). Sl. 4.9 Izgled pojedinog članka koji se nalazi na naslovnoj stranici 35 Gravatar Gravatar (engl. Globally Recognized Avatar) usluga je na Internetu koja omogućava korištenje iste slike na svim forumima i blogovima na kojima je korisnik aktivan. Aplikacija podržava ovu vrstu usluge i korisnicima koji ostavljaju komentare na blogu omogućena je prepoznatljivost i jedinstvena identifikacija. Funkcija koja dohvaća sliku korisnika koji je ostavio komentar na blogu sastoji se od izvršavanja MD5 algoritma nad korisnikovom adresom elektroničke pošte. Rezultat koji se dobije ovim postupkom je kombinacija slova i brojeva duljine 32 znaka. Moguće je još definirati i veličinu slike, kao i web adresu, ako postoji. Funkcija koja generira URL slike korisnika koji je ostavio komentar nalazi se u nastavku: function GetGravatar($inMail, $inURL, $inSize) { $mailMD5 = md5( strtolower($inMail) ); $URL = "http://www.gravatar.com/avatar/" $gravatarURL = $URL . $mailMD5 . "&s=" . $inSize . "&d=" . $inURL; return $gravatarURL; } Dobiveni rezultat prosljeđuje se atributu src HTML oznake <img>. RSS Kratak sadržaj je zapravo XML datoteka koja sadrži informacije o najnovijim objavljenim člancima. Datoteka koja sadrži kratak sadržaj bloga naziva se index.xml. Pozivom funkcije makeFeed() ažurira se datoteka najsvježijim podacima. Funkcija se poziva kod dodavanja novih članaka, i kod brisanja i uređivanja postojećih. Na samom početku funkcije otvara se index.xml datoteka i zapisuju se nepromjenjive vrijednosti: $filename = $_SERVER["DOCUMENT_ROOT"] . "/index.xml"; $fh = @fopen($filename, "w"); $rssfile = "<rss version=\"2.0\"> <channel> <title>Mario - Blog</title> <link>http://localhost /</link> <description>Tehnologije Interneta</description> <language>hr</language>"; Nakon upisa nepromjenjivih vrijednosti, postavlja se upit na bazu podataka i dohvaćaju se podaci za posljednjih deset članaka: 36 $sql = "SELECT post_id, title, summary, DATE_FORMAT(date_created, '%a, %d %b %Y %T GMT') as pubdate FROM blog_posts ORDER BY date_created DESC LIMIT 10"; $result = mysql_query($sql); Za svaki dohvaćeni članak, podaci iz baze podataka se spremaju u privremene varijable koje se zatim zapisuju u XML datoteku. Neke varijable potrebno je prilagoditi za zapis u XML datoteku: if ($post = mysql_fetch_array($result)) { do { $post_id = $post["post_id"]; $pubdate = $post["pubdate"]; $summary = format($post["summary"]); $title = $post["title"]; $title = strip_tags($title); $title = htmlentities($title); $rssfile .= " <item>\n"; $rssfile .= " <pubDate>$pubdate</pubDate>\n"; $rssfile .= " <title>$title</title>\n"; $rssfile .= "<link>"; $rssfile .= "http://localhost/post.php?post_id=$post_id"; $rssfile .= "</link>\n"; $rssfile .= "<description> $rssfile .= "<![CDATA[$summary]]> "; $rssfile .= "</description>\n"; $rssfile .= " </item>\n"; } while ($post = mysql_fetch_array($result)); } $rssfile .=" </channel></rss>"; Na samom kraju funkcije, zatvaraju se potrebne oznake i pripremljeni zapis se pohranjuje u index.xml datoteku. U glavnoj datoteci potrebno je dodati, nakon oznake <title>, sljedeću linija koda koja sadrži informaciju gdje se nalazi datoteka u kojoj je pohranjen sažetak sadržaja: <link rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="http://localhost /index.xml" /> Pretraživanje Tražilica jedan je od važnijih dijelova svake web stranice. Pomoću tražilice koja se nalazi unutar izbornika, i koja se prikazuje na svakoj stranici, moguće je pretraživati objavljene članke. U bazi podataka kreirani su indeksi za pretraživanje nad tablicom blog_posts. Kada se baza podataka pretražuje, provjeravaju se tri zadana polja: naslov, sažetak i sadržaj cijelog članka. Ako pretražujemo neku riječ koja se nalazi u naslovu jednog sažetka, i pojavljuje se u 37 sažetku drugog članka, prvo će se prikazati rezultat koji sadrži traženi pojam u naslovu, zato jer su tako definirani prioriteti. Pretraživanje baze podataka MySQL izvedeno je pomoću funkcija MATCH i AGAINST. Argument koji se predaj MATCH funkciji mora biti odvojen zarezima i mora sadržavati elemente nad kojima smo kreirali indeks za pretraživanje. Argument AGAINST funkcije predstavlja pojam kojeg tražimo. MySQL automatski vraća rezultate poredane po važnosti. SQL upit koji pretražuje bazu podataka prikazan je u nastavku: SELECT post_id, title, summary, DATE_FORMAT(date_created, '%e %b %Y') AS date FROM blog_posts WHERE MATCH (title,summary,content) AGAINST ('$q') LIMIT 50 4.4. Rezultati Blog se jednostavno pokreće upisivanjem adrese web poslužitelja na kojem se nalazi (npr. www.neka-domena.com). Početna stranica označena je imenom index.php i automatski se prepoznaje od strane web poslužitelja i nije ju potrebno posebno navoditi. Nakon unosa adrese u web preglednik, programski jezik PHP izvršava skripte koje se nalaze unutar web stranice i kao rezultat vraća klijentu naslovnu stranicu bloga. Za prikaz naslovne stranice bloga koristi se osnovno sučelje kojem mogu pristupiti svi korisnici. Administrativni sustav bloga, koji nije dostupan svim korisnicima (samo onima koji su registrirani i posjeduju ispravne korisničke podatke), nalazi se u pozadini i izvršava se samo prilikom prijavljivanja autoriziranog korisnika. Administracijskom dijelu sustava pristupa se pozivom stranice login.php. Nakon unošenja točnih korisničkih podataka pojavljuje se administrativno sučelje. Unutar ovog sučelja moguće je pisati nove članke i uređivati postojeće, dodavati nove kategorije, kreirati nove stranice i uređivati korisničke podatke. Izgled stranice koja omogućuje administraciju bloga prikazan je na slici (Sl. 4.9). Stranica se sastoji od dva dijela. S lijeve strane nalazi se izbornik unutar kojeg su definirane sve radnje koje korisnik smije izvršavati. S desne strane nalazi se prostor unutar kojeg se pojavljuju obrasci koje korisnik ispunjava i šalje na obradu web poslužitelju. Rezultati se spremaju u bazu podataka iz koje se naknadno dohvaćaju i prikazuju na naslovnoj stranici. 38 Osnovnom sučelju bloga pristupa se pozivom naslovne stranice. Na naslovnoj stranici prikazuju se najnoviji objavljeni članci u obrnuto kronološkom redoslijedu. Prikazani su samo sažeci članaka, a stranici koja sadrži potpune članke pristupa se klikom na naslov članka sa naslovne stranice. Na stranici koja sadrži cjelokupne članke moguće je ostaviti svoj komentar na objavljeni članak. Izgled stranice koja sadrži cijeli članak i pripadne komentare prikazan je na slici (Sl. 4.10). Sl. 4.10 Izgled stranice za administraciju bloga Osnovno sučelje bloga sastoji se također od dva dijela. Lijevi dio predstavlja sadržaj bloga, a s desne strane nalazi se izbornik koji sadrži korisne linkove i opciju za pretraživanje bloga. Moguće je pristupati kategorijama u koje su smješteni članci. Svi članci se pohranjuju u virtualne arhive, koje posjetitelju mogu olakšati pronalazak određene informacije. 39 Sl. 4.11 Izgled stranice koja sadrži potpuni članak 40 Zaključak Tijekom proteklih nekoliko godina blogovi su značajno promijenili izgled Weba i utjecali su na razvoj interakcije između korisnika. Iako je u početku uređivanje blogova bilo dostupno samo nekolicini korisnika koji su posjedovali napredna znanja o izrađivanju web stranica, s vremenom su blogovi postali dostupni svima, posebice široj populaciji koja posjeduje osnovna znanja o računalu. U ovom radu obrađeno je nekoliko alata za izradu bloga. Među nekim alatima postoje značajne razlike koje mogu biti presudne prilikom odabira alata za pokretanje bloga. Stoga je važno prije početka izrade bloga dobro definirati ciljeve i usporediti značajke koje posjeduju pojedini alati, jer naknadna promjena alata može uzrokovati određene probleme. Prilikom razvoja aplikacije za izradu bloga najveći problem predstavljala je implementacija administracijskog sučelja i prikaz članaka, koji su uspješno riješeni korištenjem objektnoorijentirane paradigme. U budućem radu bilo bi korisno ugraditi mogućnost naprednog uređivanja postova, kao i podršku instalaciji dodatnih modula kojima bi se proširila funkcionalnost same aplikacije. U daljnjem razvoju aplikacije svakako bi trebalo uzeti u obzir mogućnost naprednog podešavanja sustava kao i mogućnost instaliranja vlastitih predložaka. 41 Literatura [1] ROWSE, D; GARRETT, C: ”ProBlogger: Secrets for Blogging Your Way to a Six-Figure Income”, Indianapolis: Wiley Publishing, Inc., 2008. [2] STONE, B: “Blogging: Genius Strategies for Instant Web Content”, New Riders Publishing, 2002. [3] STAUFFER, T: “How to Do Everything with Your Web 2.0 Blog”, McGraw-Hill, 2008. [4] BUDD, A ET AL: “Blog Design Solutions”, New York: Springer-Verlag, 2006. [5] MCNULTY, S: “Building a WordPress Blog People Want to Read”, Berkeley: Peachpit Press, 2009. [6] DOCTOROW, C ET AL: “Essential Blogging”, O’Reilly, 2002. [7] BYRON, DL; BROBACK, S: “Publish and Prosper: Blogging for Your Business”, New Riders, 2006. [8] HAMMERSLEY, B: “Developing Feeds with RSS and Atom”, O’Reilly, 2005. [9] Seven Blogging Tools Reviewed, s Interneta, http://www.techsoup.org/learningcenter/webbuilding/page5516.cfm, 25. svibnja 2009. [10] J. RUBENKING, N: Blog Tools, s Interneta, http://www.pcmag.com/article2/0,2817,1400336,00.asp, 25. svibnja 2009. [11] BLOOD, R: Weblogs: a history and perspective, s Interneta, http://www.rebeccablood.net/essays/weblog_history.html, 2. lipnja 2009. [12] CHAMOLI, C: Birth of The Blogosphere, s Interneta, http://chiragchamoli.wordpress.com/2008/10/08/birth-of-the-blogosphere/, 2. lipnja 2009. [13] THOMPSON, C: A Timeline of the History of Blogging, s Interneta, http://nymag.com/news/media/15971/, 2. lipnja 2009. [14] LENSSEN, P: Good Blog Writing Style, s Interneta, http://blogoscoped.com/archive/2006-10-11-n47.html, 4. lipnja 2009. [15] WordPress Features, s Interneta, http://codex.wordpress.org/WordPress_Features, 4. lipnja 2009. [16] LiveJournal, s Interneta, http://www.appappeal.com/app/livejournal/, 4. lipnja 2009. [17] PEREZ, S: The Next Social Networks Will Be Powered By WordPress and Movable Type, s Interneta, http://www.readwriteweb.com/archives/the_next_social_networks_powered_by_wordpr ess_movable_type.php, 6. lipnja 2009. [18] J. DEITEL, P; M. DEITEL, H: “AJAX, Rich Internet Applications, and Web Development For Programmers”, Boston: Pearson Education, Inc., 2008. [19] GRANNELL, C: “The Essential Guide to CSS and HTML Web Design”, New York: Springer-Verlag, 2007. 42 [20] FLANAGAN, D: “JavaScript: The Definitive Guide”, O’Reilly, 2006. [21] ZERVAAS, Q: “Practical Web 2.0 Applications with PHP”, New York: Springer-Verlag, 2008. [22] SCHULTZ, D; COOK, C: “Beginning HTML with CSS and XHTML”, New York: Springer-Verlag, 2007. [23] BABIN, L: “Beginning Ajax with PHP”, New York: Springer-Verlag, 2007. [24] D. HENDRICKS, K: WordPress versus Movable Type: The Smackdown Comparison, s Interneta, http://ithemes.com/wordpress-versus-movable-type-the-smackdowncomparison/, 10. lipnja 2009. 43 Sažetak Razvoj alata za izradu bloga U ovom radu objašnjeni su osnovni koncepti blogova, definirane su osnovne vrste i prikazana je struktura bloga. Opisan je postupak izrade bloga i objašnjeni su najvažniji koraci prilikom izrade bloga. Predstavljeni su najpoznatiji blog alati i njihov način rada. Uspoređena su njihova svojstva i prikazane su najvažnije prednosti i nedostaci. Opisane su najvažnije tehnike uređivanja i održavanja blogova. U studijskom slučaju opisana je aplikacija za administraciju i upravljanje sadržajem bloga, baza podataka koja je korištena za pohranu podataka, programska implementacija te način rada aplikacije. Na samom kraju rada, prikazani su dobiveni rezultati. 44 Summary Blog tool development This paper explains the basic concepts of blogs and defines the basic types of blogs. The process of blog creation is described, and the most important steps of the same procedure are explained. The most popular blog tools and their modes of work are presented. The properties are compared and major advantages and disadvantages of blog tools are specified. The most important techniques of blog editing and blog maintenance are presented. Study case describes application for blog administration and content management, database used for data store and manipulation and program implementation. The last part of his paper contains results of practical work. 45 Ključne riječi/Keywords Popis blogova Blogroll Potvrda o postavljanju linka na web stranicu Trackback Kratak sažetak sadržaja Really Simple Syndication (RSS) Stalni link Permanent link (permalink) Online dnevnik Blog (Weblog) Bloger Blogger Sustav za samostalno upravljanje sadržajem Content Management System (CMS) Prezentacijski jezik za kreiranje web stranica HyperText Markup Language (HTML) Stilski jezik za opis izgleda web stranice Cascading Style Sheets (CSS) 46