SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 3693 VIŠEPLATFORMSKA USLUGA ZA PERSONALIZIRANO UPRAVLJANJE DOGAĐAJIMA Laura Kokotović Zagreb, lipanj 2014. Sadržaj Uvod .................................................................................................................. 1 1. Personalizirano upravljanje događajima....................................................... 2 1.1. Pojam personalizacije i događaja .......................................................... 2 1.2. Događaj usluge Feel The Music ............................................................ 3 2. Arhitektura usluge Feel The Music .............................................................. 4 3. Programske tehnologije korištene u razvoju usluge Feel The Music ............ 6 3.1. Radni okvir Bootstrap ........................................................................... 6 3.2. Radni okvir AngularJS .......................................................................... 9 3.3. Skriptni jezik PHP .............................................................................. 13 3.4. Baza podataka MongoDB ................................................................... 13 4. Implementacija usluge Feel The Music ...................................................... 14 4.1. Višeplatformska usluga ....................................................................... 14 4.2. Višejezičnost usluge Feel The Music .................................................. 18 4.3. Funkcionalnosti usluge Feel The Music .............................................. 21 4.3.1. Pregled informacija o izvođaču ................................................ 22 4.3.2. Pretraživanje izvođača .............................................................. 23 4.3.3. Dodavanje liste ......................................................................... 26 Zaključak ......................................................................................................... 29 Literatura .......................................................................................................... 30 Sažetak ............................................................................................................. 31 Summary .......................................................................................................... 32 Uvod Razvojem Interneta i sve većom popularnošću pokretnih uređaja, korisnici danas očekuju dinamičnost prikaza web-stranica na svojim pokretnim uređajima. Potreba za dinamičnošću dovela je do razvoja programskih okvira (engl. framework) koji omogućavaju prikaz web-stranica na različitim platformama (Responsive Web Design, RWD). Također, posredstvom različitih komunikacijskih uređaja, korisnici danas imaju pristup velikom skupu raznovrsnih događaja. To dovodi do razvijanja usluga koje omogućavaju korisnicima personalizirano upravljanje događajima. Zadatak je osmisliti i implementirati uslugu koja će uključivati funkcionalnost pregleda informacija o glazbi te upravljanje glazbom putem personaliziranog označavanja i grupiranja glazbe u liste. Usluga će se temeljiti na radnom okviru koji omogućava korištenje usluge na više platformi. Nadalje usluga mora podržavati višejezičnost za glavne kategorije. U prvom poglavlju je objašnjen pojam personalizacije i pojam događaja općenito kao i pojam događaja definiranog implementacijom usluge Feel The Music. U drugom poglavlju opisana je arhitektura usluge Feel The Music. Definirani su njeni dionici, opisan je njihov međusobni odnos i sve je to prikazano odgovarajućom slikom. U trećem poglavlju navode se i pojedinačno opisuju sve programske tehnologije korištene u izradi usluge. U četvrtom poglavlju opisana je implementacija usluge Feel The Music. Na kraju rada je zaključak u kojemu se navodi sažeti prikaz cijelog rada te moguća proširenja programskog koda. 1 1. Personalizirano upravljanje događajima U sljedećim poglavljima bit će objašnjen pojam personalizacije i događaja općenito. Također će se definirati pojam događaja usluge Feel The Music. 1.1. Pojam personalizacije i događaja Personalizacija je općenito proces prilagođavanja i upravljanja određenog sadržaja korisnikovim preferencijama. Korisnik, ovisno o svojim željama, odabire one sadržaje koji mu se sviđaju i eliminira ostale. Personalizirati se može sadržaj na web-stranicama, grupiranjem i označavanjem korisniku zanimljivog sadržaja. Time se korisniku, prilikom ponovnog pristupa stranici, olakšava pretraga željenog sadržaja. Web-stranica ima mogućnost prilagođavanja potrebama svakog korisnika i time postaje privlačnija različitim tipovima korisnika. Bez personalizacije web-stranice su statička okruženja koja korisnicima prezentiraju isti sadržaj. U takvom slučaju korisnikov odabir željenog sadržaja temeljit će se na pretraživanju stranice, bez povezanosti između prijašnjeg posjeta stranici i trenutnog. Pristup bez personalizacije je loš jer nema velike povezanosti između korisnikovih interesa i same stranice. Personalizacija mijenja taj odnos u okruženje gdje web-stranica „asistira“ korisniku u njegovom otkrivanju svih njenih sadržaja na način postavljanja pregleda stranice po korisnikovim željama [9]. Postoje dva tipa personalizacije web-stranica: Implicitna, Eksplicitna. Kod implicitnog tipa personalizacija se provodi na način da se korisnikovo kretanje po stranici prati i pamti, te se sadržaj prikazuje ovisno o korisnikovom ponašanju na stranici[9]. Kod eksplicitne personalizacije korisnik izabire profil, ili mu je profil dan, koji određuje sadržaj kojeg će korisnik moći vidjeti bazirano na njegovim potrebama i izborima [9]. Događaj je široki pojam, koji označava neki trenutak u vremenu kada se nešto dogodilo ili se treba dogoditi. Pojam događaja koristi se u matematici, računarstvu, fizici i 2 ostalim znanostima. Događaj mogu biti ceremonije, sportska natjecanja, konvencije, zabave, koncerti i drugo. Implicitna personalizacija naziva se još i „event-based“ personalizacija. Događaj (engl. event) na web-stranicama predstavlja svaku akciju koju korisnik poduzima. Akcije mogu biti klik na poveznicu, popunjavanje raznih obrazaca, kupnja proizvoda i stavljanje proizvoda u košaricu, postavljanje ponude, posjet stranici, registracija i prijava korisnika, označavanje i grupiranje sadržaja i još puno drugih. Tako je personalizacija bazirana na događajima način prilagođavanja korisnikovim željama, s obzirom na događaje koji se mogu poduzeti na stranici [10]. 1.2. Događaj usluge Feel The Music Usluga Feel The Music definira pojam događaja kao pregled informacija o izvođačima i njihovim pjesmama. Korisnik klikom na željenog izvođača može vidjeti ime izvođača, neke osnovne informacije o njemu, sliku izvođača kao i pregled nekih njegovih pjesama. Personalizacija je ostvarena označavanjem pjesama željenog izvođača i njihovim grupiranjem u personalizirane liste. Korisnik ima mogućnost upisa imena liste i pregleda već unesenih lista. Prilikom pregleda unesenih lista korisnik može vidjeti pjesme koje je dodao u listu i poslušati ih. 3 2. Arhitektura usluge Feel The Music Dionici usluge su: krajnji korisnici (na slici označeni brojem 1), poslužitelj (na slici označen brojem 2), usluga Feel The Music (na slici označena brojem 3 ), baza podataka MongoDB (na slici označena brojem 4). Korisnik na svom računalu putem web-preglednika (Google Chrome, Mozilla Firefox), upisom URL (Uniform Resource Locator) adrese1, pristupa aplikaciji Feel The Music na poslužitelju social.tel.fer.hr. Baza podataka MongoDB se također nalazi na poslužitelju i u njoj se nalaze podaci o izvođačima koje korisnik može vidjeti i pretraživati kao i popisi lista koje je korisnik napravio. Arhitektura usluge je prikazana na slici 2.1., a odnosi među dionicima su opisani u nastavku. Slika 2.1. Arhitektura usluge Feel The Music 1 http://social.tel.fer.hr/2013-2014/lkokotovic/FeelTheMusic/ 4 Krajnji korisnici, putem kojih se može pristupiti usluzi Feel The Music, na slici su prikazani brojem 1. Usluga je razvijena korištenjem radnog okvira koji omogućava njeno pokretanje na različitim platformama. Zbog toga je višeplatformnost na slici ilustrativno prikazana kao krajnji korisnici koji joj pristupaju putem različitih uređaja: osobno računalo, prijenosno računalo (laptop), pametni telefon (engl. smartphone), tablet. Putem navedenih krajnjih uređaja korisnik šalje poslužitelju usluge social.tel.fer.hr, na slici označenom brojem 2, upit za stranicom te mu nakon primljenog upita poslužitelj kao odgovor vraća prikaz početne stranice usluge Feel The Music. Na početnoj stranici korisnik ima mogućnost pregleda osnovnih informacija o izvođačima kao i mogućnost odabira pretraživanja izvođača. Klikom na nekog izvođača šalje se preko poslužitelja zahtjev za komunikacijom s bazom podataka MongoDB. Ovisno o izvođaču, bazi podataka se prenose podaci koji su potrebni za provjeru postojanja izvođača i na temelju tih podataka vraćaju se traženi podaci usluzi koja ih prikazuje na ekranu. Ukoliko korisnik želi pretraživati izvođače upisuje ime izvođača u za to predviđeno polje. Uneseni podaci se preko poslužitelja šalju usluzi koja ih prosljeđuje bazi podataka MongoDB. Usluga preko baze podataka provjerava postojanje navedenog izvođača i ukoliko postoji, podaci se iz baze podataka vraćaju preko poslužitelja i prikazuju korisniku na ekranu. Prilikom označavanja pjesama i dodavanja istih u liste, uneseni podaci se šalju preko poslužitelja bazi podataka koja ih pohranjuje za daljnje korištenje usluge. 5 3. Programske tehnologije korištene u razvoju usluge Feel The Music Usluga je razvijena korištenjem radnog okvira AngularJS (JavaScript, JS) na klijentskoj strani i skriptnog jezika PHP (Hypertext Preprocessor) na poslužiteljskoj strani. Dizajn usluge razvijen je korištenjem radnog okvira (engl. front-end framework) Bootstrap koji omogućava korištenje usluge na različitim platformama (Responsive Web Design, RWD). Usluga podatke potrebne za rad pohranjuje u ne relacijsku (engl. NoSQL) bazu podataka MongoDB. U nastavku slijedi pojedinačni opis korištenih tehnologija. 3.1. Radni okvir Bootstrap Twitter Bootstrap je besplatan, radni okvir (engl. front-end framework), otvorenog koda, dizajniran za bržu i lakšu izradu web-stranica. Bootstrap koristi globalne CSS postavke i osnovne HTML elemente, stilizirane i poboljšane proširenim klasama te naprednim mrežastim sustavom (engl. grid system), koji se skalira s obzirom na platformu na kojoj se usluga pokreće [1]. Na tome se bazira načelo oblikovanja stranica prilagodljivih različitim platformama (RWD, Responsive Web Design). Tablica 3.1. prikazuje mrežni sustav Bootstrap i način na koji se on mijenja ovisno o širini ekrana uređaja na kojemu se usluga pokreće. 6
Description: