core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z...

39
Diplomsko delo visokošolskega strokovnega študija Organizacija in management informacijskih sistemov PROGRAMSKA REŠITEV ZA SPREMLJANJE OBISKA V SLOVENSKIH KINEMATOGRAFIH Mentor: pred. mag. Iztok Bitenc Kandidat: Robert Čretnik Kranj, september 2016

Transcript of core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z...

Page 1: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Diplomsko delo visokošolskega strokovnega študija Organizacija in management informacijskih sistemov

PROGRAMSKA REŠITEV ZA SPREMLJANJE OBISKA V SLOVENSKIH

KINEMATOGRAFIH

Mentor: pred. mag. Iztok Bitenc Kandidat: Robert Čretnik

Kranj, september 2016

Page 2: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

ZAHVALA

Zahvaljujem se mentorju, pred. mag. Iztoku Bitencu, za strokovno pomoč in nasvete pri izdelavi diplomske naloge.

Prav tako se zahvaljujem podjetju Cenex d.o.o. za odobritev izdelave diplomske naloge.

Posebna zahvala pa gre moji družini za vso podporo, razumevanje in pomoč pri izdelavi diplomske naloge in študiju.

Hvala vsem!

Page 3: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

POVZETEK

V diplomski nalogi je predstavljen razvoj spletne aplikacije za zbiranje podatkov v slovenskih kinematografih. Diplomska naloga opisuje dosedanji način zbiranja podatkov in njegove slabosti. Podrobno je prikazan izboljšan proces zbiranja podatkov s pomočjo spletnih tehnologij HTML, PHP in SQL. V nadaljevanju je opisano delo s programi JavaScript in s knjižnicami jQuery in Ajax. V zaključku je podana analiza in smernice z možnostmi nadgradnje spletne aplikacije.

KLJUČNE BESEDE

- HTML, PHP, CSS, jQuery, AJAX, MySQL, Apache - odprtokodne rešitve - rezultati in obisk v kinematografih v Sloveniji

ABSTRACT

The thesis describes the development of web application for data collection in Slovenian cinemas. The thesis describes the current method of data collection and its current faults. Improved process of data collection through web technologies HTML, PHP and SQL is shown in detail. It describes the work with programs JavaScript and jQuery and Ajax libraries. In conclusion, analysis and guidelines are given of upgrade options of the web application.

KEY WORDS

- HTML, PHP, CSS, jQuery, AJAX, MySQL, Apache - opensource solutions - cinema box office and admissions in Slovenia

Page 4: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

KAZALO

1. UVOD .................................................................................................................. 1

1.1. PREDSTAVITEV PROBLEMA .................................................................. 1

1.2. PREDSTAVITEV OKOLJA ........................................................................ 2

1.3. METODE DELA .......................................................................................... 2

1.4. PREDPOSTAVKE IN OMEJITVE .............................................................. 3

2. ANALIZA OBSTOJEČEGA STANJA ............................................................... 4

2.1. ZBIRANJE PODATKOV ............................................................................. 4

2.1.1. V SLOVENIJI ........................................................................................ 4

2.1.2. PO SVETU ............................................................................................ 6

2.2. TRENUTNI MODEL ZBIRANJA PODATKOV ........................................ 7

2.3. ANALIZA SLABOSTI TRENUTNEGA STANJA ..................................... 9

3. UPORABLJENE TEHNOLOGIJE ................................................................... 10

3.1. UPORABLJENI PROGRAMSKI JEZIKI .................................................. 10

3.1.1. HTML .................................................................................................. 10

3.1.2. CSS ...................................................................................................... 10

3.1.3. PHP ...................................................................................................... 11

3.1.4. JQUERY .............................................................................................. 11

3.1.5. AJAX ................................................................................................... 11

3.1.6. SQL ...................................................................................................... 12

3.2. UPORABLJENA PROGRAMSKA OPREMA .......................................... 12

3.2.1. XAMPP ................................................................................................ 12

3.2.2. ORACLE SQL DEVELOPER DATA MODELER ............................ 12

4. IZDELAVA PROGRAMSKE REŠITVE ......................................................... 13

4.1. FUNKCIONALNA ZASNOVA ................................................................. 13

4.2. PODATKOVNI MODEL ........................................................................... 13

4.2.1. ŠIFRANTI ........................................................................................... 14

4.2.2. TABELA UPORABNIK ..................................................................... 14

4.2.3. TABELA FILM ................................................................................... 15

4.2.4. TABELA OBISK_FILMA .................................................................. 15

4.2.5. TABELA FILM_DRZAVA ................................................................ 16

4.2.6. TABELA DRZAVA ............................................................................ 16

4.2.7. TABELA FILM_REZISER ................................................................. 17

4.2.8. TABELA REZISER ............................................................................ 17

Page 5: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

4.2.9. TABELA DISTRIBUTER_STUDIA .................................................. 18

4.2.10. TABELA STUDIO .......................................................................... 18

4.2.11. TABELA OBISK_PO_KRAJU ....................................................... 18

4.2.12. TABELA KRAJ ............................................................................... 19

4.2.13. TABELA ZANR .............................................................................. 19

4.2.14. TABELA ZANR_FILMA ................................................................ 20

4.2.15. TABELA IGRALEC ........................................................................ 20

4.2.16. TABELA IGRALEC_FILMA ......................................................... 20

4.3. UPORABNIŠKI VMESNIK ....................................................................... 21

4.4. PROGRAMSKA KODA ............................................................................ 27

4.4.1. FUNKCIJA NALOZI .......................................................................... 27

4.4.2. FUNKCIJA VNOS .............................................................................. 28

4.4.3. FUNKCIJA POSODOBI1 IN POSODOBI2 ....................................... 28

4.4.4. FUNKCIJA SPREMENI ..................................................................... 29

4.4.5. FUNKCIJA IZBRIS ............................................................................ 30

5. ZAKLJUČEK .................................................................................................... 31

5.1. UČINEK APLIKACIJE .............................................................................. 31

5.2. UVEDBA APLIKACIJE ............................................................................ 31

5.3. NADANLJNI RAZVOJ APLIKACIJE ...................................................... 31

LITERATURA ...................................................................................................... 32

KAZALO SLIK ..................................................................................................... 33

POJMOVNIK ........................................................................................................ 34

KRATICE IN AKRONIMI ................................................................................... 34

Page 6: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 1

1. UVOD

1.1. PREDSTAVITEV PROBLEMA

V diplomski nalogi smo razvili spletno aplikacijo za zbiranje podatkov o obisku v slovenskih kinematografih. Te podatke za Republiko Slovenijo zbira podjetje Fivia d.o.o.

Podjetje Fivia d.o.o., v katerem sem zaposlen, podatke o obisku v slovenskih kinematografih zbira že od leta 1994. Trenutno je to podjetje edino v Sloveniji, ki se namensko in strokovno ukvarja z zbiranjem podatkov. Vir vseh objavljenih podatkov v tiskanih publikacijah ali na spletu o obisku so prav naši zbrani podatki.

Podatke o obisku potrebujejo tudi različne državne inštitucije zato ima podjetje sklenjeno pogodbo s Slovenskim filmskim centrom za zbiranje tedenskih in letnih podatkov o obisku v slovenskih kinematografih.

Da bi lahko zbrali podatke o posameznih filmih morajo distributerji le-te zbrati od prikazovalcev. Zbrane podatke potem pošljejo nam, mi jih tabelarno uredimo in pošljemo vsem, ki jih potrebujejo in želijo in so upravičeni za to.

Pri zbiranju podatkov pa se večkrat pojavijo različne težave:

- napake v podatkih distributerjev (nelogični podatki o prihodku, številu gledalcev ali številu kopij),

- zamuda distributerjev pri pošiljanju podatkov (zaradi različnih vzrokov distributerji ne pošljejo podatkov do dogovorjene ure, ampak šele več ur po dogovorjenem roku. Podatke pošiljamo naprej šele potem, ko dobimo podatke od vseh distributerjev, zato občasno pride do večurnih zamud),

- nepravilen format podatkov, ki nam ga pošljejo distributerji, - težave z elektronsko pošto (težave s pošiljanjem priponk, nedostavljena

pošta,…), - dodatno ročno delo za prenos in pripravo poročil (kopiranje iz več Excelovih

tabel in združevanje v eno)

Z uvedbo spletne aplikacije bi bil dostop do podatkov veliko bolj ažuren. Takoj po vnosu posameznih podatkov bi bili podatki dostopni tudi ostalim. Distributerji bodo lahko takoj videli, kakšne rezultate imajo njihovi filmi glede na ostale rezultate in primerljive filme. Prvenstveno jim to pomaga pri reklami kampanji, da se odločijo, kako jo bodo nadaljevali, po potrebi okrepili ali ciljno usmerili.

Prikazovalcem pa tedenski rezultati pomagajo predvsem pri uvrstitvi določenih filmov na program, njihovi dnevni razporeditvi (npr.: čez cel dan, samo v dopoldanskih ali popoldanskih urah, samo v poznih večernih urah,..) in tedenski razporeditvi (igranje v celem tednu, igranje samo ob vikendih, igranje samo v času šolskih počitnic,…).

Zaradi navedenih problemov in težav smo se odločili za razvoj spletne aplikacije, ki bo preprečevala napake, povečala ažurnost in olajšala dostop do podatkov.

Page 7: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 2

1.2. PREDSTAVITEV OKOLJA

Podjetje Cenex d.o.o. je bilo ustanovljeno leta 1989. Sprva se je ukvarjalo s trgovino in posredovanjem, leta 1992 pa se je preusmerilo v distribucijo filmov. V tistem času je bilo področje avtorskih pravic zelo neurejeno in na trgu je bilo močno prisotno piratstvo, zlasti na področju video založništva. Video kasete, ki so bile legalno na trgu, pa so bile v glavnem podnaslovljene v srbohrvaškem jeziku. Naše podjetje je bilo med prvimi, ki je leta 1992 izdalo video kasete s slovenskimi podnaslovi. V začetku smo distribuirali filme neodvisnih filmskih producentov, od 1. januarja 1994 pa smo začeli tudi z distribucijo filmov družbe Walt Disney.

V tistem letu se je tudi pojavila potreba po zbiranju podatkov po obisku v slovenskih kinematografih. Kot pobudniki tega smo takrat prvi zbrali podatke o obisku za leto 1993. V tistih časih komunikacijska tehnologija še ni bila na visoki tehnološki ravni, zato smo podatke zbirali telefonsko in po faksu. Za obdelavo podatkov pa smo uporabljali preglednice programa Quattro Pro. Z razvojem tehnologije in razvojem novih programskih orodij smo v kasnejših letih prešli na komunikacijo preko elektronske pošte in uporabo programskega paketa Microsoft Office, zlasti pa na progam Excel.

Pri zbiranju podatkov sodelujemo z naslednjimi distributerji: Blitz Film, Continental Film, Karantanija Cinemas, Reit, Kolosej, Cineplexx, Cinemania Group, 2iFilm, Demiurg, Cankarjev dom in Slovenska kinoteka.

Razvojno okoloje novega načina zbiranja podatkov o obisku bomo uporabljali naslednje aplikacije:

- Windows operacijski sistem z Apache spletnim strežnikom - MySql kot podatkovna baza - PHP programski jezik na strani strežnika - JavaScript, jQuery, AJAX na strani uporabnika.

Glavni uporabniki aplikacije bodo slovenski distributerji in prikazovalci, ki bodo podatke oddajali in sprejemali preko svetovnega spleta.

1.3. METODE DELA

Osnovna zasnova aplikacije temelji na podlagi pregleda dosedanjega načina zbiranja podatkov in intervjujev z osebami, ki se neposredno ukvarjajo z zbiranjem podatkov o obisku v slovenskih kinematografih. Na osnovi teh informacij bomo izdelali prvotni vzorec oz. prototip aplikacije. Ta prototip bomo glede na želje in potrebe uporabnikov postopoma nadgradili do končne sprejemljive rešitve.

Za razvoj spletne aplikacije bo potrebno preučiti spletne tehnologije HTML, CSS, PHP in SQL, hkrati pa tudi JavaScript knjižnice jQuery in Ajax.

Page 8: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 3

V začetku je potrebno razumevanje trenutnega stanja zbiranja tedenskih podatkov, da lahko definiramo razvojno in aplikativno okolje, potem pa sledi razvoj prototipa aplikacije.

1.4. PREDPOSTAVKE IN OMEJITVE

Aplikacijo za zbiranje podatkov o obisku lahko razvijemo z že obstoječimi spletnimi tehnologijami za programiranje in upravljanje z bazami podatkov. Uporabljena programska orodja tudi ne zahtevajo drage strojne opreme. Največjo težavo lahko predstavlja slaba ali onemogočena internetna povezava med uporabnikom in strežnikom.

Mi že imamo ustrezno strojno in programsko opremo in lahko na našem obstoječem strežniku lahko takoj začnemo z zbiranjem podatkov s to aplikacijo.

Zunanji uporabniki za njeno uporabo ne bodo potrebovali dodatnih spletnih tehnologij, samo novejši spletni brskalnik, in jim ne bo potrebno zamenjati strojne opreme. Usposabljanje za delo z aplikacijo je enostavno in kratkotrajno, tako da so že v nekaj minutah usposobljeni za delo.

Iz navedenega je razvidno, da niso potrebna dodatna finančna sredstva na naši strani, prav tako tudi ne na strani uporabnikov.

Page 9: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 4

2. ANALIZA OBSTOJEČEGA STANJA

2.1. ZBIRANJE PODATKOV

Industrija zabave je ena največjih svetovnih industrij. Ena ključnih panog te industrije je filmska industrija, katere je v imela letu 2015 38 milijard dolarjev dohodka (Vir: MPAA, 2016). Mogoče ta podatek niti ni tako osupljiv, vendar je treba vedeti, da številne druge panoge temeljijo prav na filmski industriji in filmu kot njenem glavnem proizvodu. Tu mislimo predvsem na:

- zabaviščni parki (Disneyland, Universal,… - industrija igrač, drugih proizvodov za zabavo in proizvodov za vsakdanjo rabo

(izdelki z logotipi filmov,…) - glasbena industrija - industrija video igric - založništvo: izdajanje knjig, revij in drugih tiskanih publikacij - Televizija v vseh njenih oblikah: neplačljiva TV (Free TV) in različne oblike

plačljivih TV (Pay Tv, Pay per View, Video on Demand,…) - založništvo različnih oblik videogramov (video kasete, DVD-ji, Blu-ray-ji,…)

za komercialno in domačo uporabo - IP TV (digital right management, electronical sell through, internet

streaming…) - mobilne aplikacije v povezavi s filmi - uporaba filmskih pravic na letalih, ladjah, v hotelih,…

Razen navedenega se filmska industrija zelo močno povezuje tudi z marketinškimi agencijami. Marketinške agencije za svoje kliente pripravijo reklamne kampanje, ki se navezujejo na filme. Te kampanje potekajo v dveh smereh. Prva je oglaševanje določenega proizvoda ali storitve z oglasi pred filmom ali izdelava posebnega video oglasa z odlomki iz filma. Druga možnost je t.i. pritajeno oglaševanje. V tem primeru se v filmu pojavlja določen proizvod ali storitev kot del filma oziroma so le-ti jasno prikazani v filmu.

Vse navedeno pa pomeni, da vsi vpleteni želijo tudi podatke o tem, kako, predvsem pa koliko jim bo to doprineslo k trženju njihovega lastnega proizvoda ali storitve. Da bi te informacije pridobili, je bilo nujno potrebno začeti zbirati podatke o obisku filmov v kinematografih.

2.1.1. V SLOVENIJI

V Sloveniji pošiljamo podatke o obisku več agencijam in podjetjem, kot so:

- Slovenski filmski center - Statistični urad RS - Kolosej

Page 10: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 5

- Cineplexx - Medias - Številnim novinarjem različnih medijskih hiš

''Slovenski filmski center, javna agencija Republike Slovenije, je pričel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega sklada. Ustanoviteljica agencije je Republika Slovenija.'' (Slovenski filmski center, 2016)

Slovenski filmski center objavlja tedenske podatke obiska na svoji spletni strani.

Slika 1: Top 10 tedna na strani slovenskega filmskega centra

Podatke objavljajo tudi prikazovalci kot so: Kolosej, Cineplexx in drugi kino prikazovalci na svojih internetnih straneh.

Slika 2: Kolosej letni podatki 2010 (Vir: Kolosej, 2016)

Tudi medijske agencije – npr. agencija Mediana (Vir: Mediana, 2016) imajo na svoji strani podatke o obisku v kinematografih.

Page 11: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 6

2.1.2. PO SVETU

Naše podatke spremljajo, zbirajo in objavljajo tudi družbe in agencije na globalnem (svetovnem) nivoju, kot so:

- Evropski avdiovizualni observatorij - Rentrak - Box Office Mojo

Evropski avdiovizualni observatorij (European Audiovisual Observartory) spada pod Svet Evrope in skrbi za transparentnost podatkov o različnih avdiovizualnih trgih po Evropi in njihovo financiranje. Podatke analizira in poroča o pravnih in drugih problemih različnih sektorjev v avdiovizualni industriji. Podporo dobi s strani prispevkov članic in Evropske unije, ki jo predstavlja Evropska komisija. Prav tako pa imajo svojo podatkovno bazo vseh filmov, ki so bili narejeni oz. prikazani v Evropi, tako evropskega kot neevropskega porekla (ZDA, Azija, itd.). Njihove podatke najdemo strani Lumiere (Slika 2)(Vir: European Audiovisual Observatory, 2016).

Slika 3: Lumiere podatkovna baza (Vir: Lumiere, 2016)

Rentrak je verjetno največja mednarodna agencija na svetu saj zbira podatke v več kot 64 različni državah. Njihovi podatki so zbrani od več kot 125.000 filmskih platen in več kot 25.000 kinematografov po vsem svetu. Zbiranje podatkov o obisku pri njih poteka skoraj v realnem času, kar jim omogoča internetna tehnologija. (Vir: Rentrak,

2016)

Page 12: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 7

Slika 4: Podatki na strani Rentrak

Box Office Mojo je ena največjih strani, ki zbira podatke in jih prosto objavlja na spletu. Razen podatkov si lahko na njihovi spletni strani ogledamo primerjave in analize med posameznimi filmi bodisi po žanru, letu, državi nastanka, itd..

Slika 5: Slovenia Box Office Mojo (Vir: Box Office Mojo, 2016)

2.2. TRENUTNI MODEL ZBIRANJA PODATKOV

Trenutni model zbiranja podatkov v Sloveniji temelji na Excelovih preglednicah in elektronski pošti. Prikazovalci podatke o obisku filma dnevno ali tedensko pošiljajo distributerju, ki ima film v distribuciji. Dogovorjeno je, da nam vsak ponedeljek in četrtek vsi distributerji v Sloveniji pošljejo njihove podatke o njihovih filmih v Excelovih tabelah. Mi tako pridobljene podatke tabelarno obdelamo in jih po elektronski pošti do 14:00 ure pošljemo vsem, ki podatke potrebujejo in želijo in so upravičeni do njihovega prejemanja. Trenutni model zbiranja podatkov je prikazan na naslednji sliki (Slika 6)

Page 13: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 8

Slika 6: Diagram trenutnega modela zbiranja podatkov

Page 14: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 9

2.3. ANALIZA SLABOSTI TRENUTNEGA STANJA

Pri modelu trenutnega zbiranja podatkov se večkrat pojavijo težave, največkrat je to zamuda distributerjev ali napake v podatkih, nedostponost zaradi tehničnih podatkov in nepredvidena odsotnost oseb, ki zbirajo podatke.

Pri trenutnem modelu se pošlje podatke šele potem, ko so zbrani od vseh distributerjev, to pomeni, da če en distributer zamuja z podatki dlje časa, podatke ne pošljemo naprej in ostali nimajo pregleda nad le temi.

Poročevalci podatkov velikokrat pošljejo podatke v nepravilnem formatu, ki ga je potrebno ročno popraviti. Prav tako je treba dobljene podatke ročno vnesti v skupno Excelovo tabelo.

Občasno pa se pojavijo tudi težave z elektronsko pošto (težave s pošiljanjem priponk, nedostavljena pošta,…).

Page 15: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 10

3. UPORABLJENE TEHNOLOGIJE

Za izdelavo spletne aplikacije bomo uporabili klasične tehnologijoe kot so XAMPP, Oracle SQL Developer Data Modeler, ter spletne tehnologije kot so HTML, PHP, jQuery, AJAX in druge.

3.1. UPORABLJENI PROGRAMSKI JEZIKI

3.1.1. HTML

HTML (HyperText Markup Language) je opisni jezik, ki s pomočjo oznak (ang. tag) pove, kako naj se stran prikaže. Oznake se vedno nahajajo med znakoma <in>, npr <tag>. Spletni brskalniki HTML oznake preberejo in jih tako tudi prikažejo. Vsako ročno oblikovanje strani, bodisi s presledki ali vrsticami, se ne upošteva.

Obstajata dve vrsti oznak:

• samostojna oznaka (npr. <br>) • začetne in končne oznake (npr. <div> in </div>)

Samostojne oznake ne potrebujejo zaključka, ker so same po sebi že zaključene, npr. nova vrstica. (<br>) Nekatere oznake, kot so npr. tabele, seznami, povezave, pa potrebujejo začetno in končno točko, da točno določimo, kje se oznaka začne in kje se konča.

Vsaki oznaki lahko dodamo vrsto lastnosti, kot so oblika in velikost črk, barva in stil pisave, barva ozadja, okvir v tabeli, itd.. Z uporabo lastnosti pri oznakah lahko grafično izoblikujemo spletno stran tako, da je bolj pregledna in ima lepši izgled. Z večkratno uporabo pa naraste tudi kompleksnost strani. To težavo odpravimo z uporabo slogovnih predlog (CSS), ki omogočajo oblikovanje večih oznak hkrati (HTML, 2016).

3.1.2. CSS

CSS (Cascading Style Sheets) ali slogovna predloga je mehanizem, s katerim definiramo stil HTML oznak in kako se naj prikažejo na spletni strani. Določamo lahko barvo, stil in velikost pisave, barvo ozadja, robove, razmike, odmike, poravnavo, itd.. Določimo lahko tudi, kako se element odzove, npr. ko gremo preko elementa z miško. Priporočeno je, da slogovno predlogo naložimo v glavo HTML dokumenta.

Slogovno predlogo v HTML dokumentu naložimo z ukazom:

<link rel=''stylesheet href=''lokacija css dokumenta''>

Page 16: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 11

Slog v dokumentu pa preoblikujemo na naslednji način:

div#zacetek{

border:''solid'';

}

V tem primeru oznaki div z identifikatorjem zacetek nastavimo rob ''solid'' (CSS, 2016).

3.1.3. PHP

PHP (Hyptertext Preprocessor) odprtokodni programski jezik, ki se uporablja za razvoj dinamičnih spletni vsebin. PHP skrbi za povezavo med podatkovno bazo in spletno stranjo. S pomočjo PHP lahko ''brskamo'' po podatkovni bazi in jo v HTML obliki prikažemo v brskalniku. PHP se izvaja s strani strežnika in ne uporabnika in zato uporabnikov brskalnik ne ve, kdaj je uporabljen PHP. Glavni del kode PHP načeloma napišemo pred začetkom dokumenta HTML, vendar lahko po želji PHP vstavimo tudi v ostale dele dokumenta, npr.:

<div><?php echo ''pobljuben text''; ?></div>

PHP povezavo lahko uporabimo tudi kot sklic, kjer se izvede določen del kode, običajno poizvedba in upravljanje s podatkovno bazo in izpis v določenem delu dokumenta (PHP, 2016).

3.1.4. JQUERY

jQuery je bogata knjižnica za skriptni jezik JavaScript, ki omogoča izbiro in manipulacijo s HTML elementi, manipulacijo z dogodki na spletni strani in z elementi jezika CSS, uporabo efektov in animacij in drugo.

Sintaksa jQuery je preprosta in lahka za uporabo:

$(document).ready(function(){

alert( $(''#text'').val() ); });

V tem primeru bomo po uspešno naloženi spletni strani dobili vrnjeno vrednost oznake z identifikatorjem text v opozorilnem pogovornem oknu (jQuery, 2016).

3.1.5. AJAX

Ajax (Asynchronous JavaScript and XML) je skupina tehnik za ustvarjanje interaktivnih spletnih strani ali aplikacij. Z Ajaxom se podatki prenašajo vzporedno. Tako dosežemo osveževanje posameznega dela strani brez osvežitve cele strani.

Page 17: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 12

Omogoča hitrejše spremljanje in spreminjanje vsebine spletnih strani. Ker je Ajax del jQuery, nam prav tako omogoča spreminjanje elementov HTML (Ajax, 2016).

3.1.6. SQL

SQL (Structured Query Language) je strukturirani povpraševalni jezik za delo s podatkovnimi bazami. Je najbolj razširjen in standardiziran povpraševalni jezik za delo s podatkovnimi bazami. Najpogostejša funkcija SQL je stavek SELECT, ki vrne eno ali več tabel iz baze. Stavek SELECT podatkov ne spreminja.

S pomočjo SQL stavkov lahko v bazo tudi dodajamo (INSERT INTO), spreminjamo (UPDATE) ali brišemo (DELETE) podatke. Pri tem moramo biti pazljivi, ker s temi funkcijami spreminjamo bazo podatkov in lahko pomotoma zamenjamo ali nehote izbrišemo podatke. Prav tako pa lahko s jezikom SQL kontroliramo dostop do podatkovne baze ter zagotavljamo integriteto podatkovne baze (Sql, 2016).

Primer stavka SELECT:

SELECT ime, priimek

FROM stranka

WHERE kraj = 'Ljubljana';

Ta primer vrne tabelo vseh vnosov z vrstico 'ime' in vrstico 'priimek' iz tabele 'stranka', ki imajo v tabeli 'stranka' pod vrstico kraj vnos 'Ljubljana'.

3.2. UPORABLJENA PROGRAMSKA OPREMA

3.2.1. XAMPP

XAMPP je odprtokodna strežniška platforma. Vse kar razvijalec potrebuje za vzpostavitev spletne strežnika – aplikacijski strežnik Apache, podatkovne baze, skriptni jezik PHP. Ker vsi ostali spletni strežniki uporabljajo podoben sistem kot XAMPP, je prehod med testnim strežnikom in končnim živim strežnikom zelo preprost in enostaven (XAMPP, 2016).

3.2.2. ORACLE SQL DEVELOPER DATA MODELER

Oracle SQL Developer Data Modeler je brezplačno grafično orodje, ki omogoča enostavno modeliranje podatkov. Z njim lahko ustvarimo in sperminjamo logične, relacijske, fizične modele. Prav tako podpira izvoz modela podatkovne baze s pomočjo SQL DDL ukazov (Oracle SQL DDM, 2016).

Page 18: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 13

4. IZDELAVA PROGRAMSKE REŠITVE

4.1. FUNKCIONALNA ZASNOVA

Spletna aplikacija temelji na tehnologiji dinamičnih, odzivnih spletnih strani z osnovo HTML, ki omogoča dostop uporabnikov do strežnika preko HTTP protokola z uporabo spletnih brskalnikov CSS, ki omogoča oblikovanje spletne strani. Ker je potreben dostop do podatkovne baze, bo potrebna uporaba SQL podatkovnih baz in PHP za povezavo med strežnikom, podatkovno bazo in uporabnikom. Sama aplikacija bo predvidoma delovala Windows operacijskem sistemu, na Apache spletnem strežniku in MySql podatkovno bazo, ter phpMyAdmin nadzorno orodje za administratorje. Dostop do spletne aplikacije bo mogoč preko mrežne povezave.

Namen aplikacije je hitro in enostavno zbiranje podatkov o obisku in oblikovanje poročil o tedenskem obisku.

Spletna aplikacija mora zagotoviti naslednje:

- dostop do podatkov kjerkoli in kadarkoli, brez potrebe po namestitvi dodatne opreme

- vnos novih filmov ter vnos obiska o posameznih filmih mora biti preprost in enostaven, tako da ni potrebe po usposabljanju uporabnikov

- ustvarjanje varnostnih kopij podatkovne baze

Spletna aplikacija bi morala omogočati tudi pregled poročil o obisku po posameznem filmu. Uporabniki pa večkrat želijo in potrebujejo tudi druge podatke ali analize. Zlasti so zanimivi podatki o najuspešnejših žanrih, najuspešnejših režiserjih in najuspešnejši producentih (studiih) v določenem času. Dostop do nekaterih delov spletne aplikacije pa bi bil odvisen od dodeljenega nivoja dostopa uporabniku.

4.2. PODATKOVNI MODEL

Podatkovni model je oblikovan z orodjem Oracle SQL Developer Data Modeler, ki ima možnost izvoza modelov podatkovnih baz, kjer z pomočjo SQL DDL ukazov zgradimo podatkovno bazo posameznih tabel, njihove relacije, primarne in sekundarne ključe, ter objekte ki vplivajo na podatkovno bazo. Podatkovna baza je v 3NF ali tretja normalna forma, kar pomeni, da se podatki v tabelah ne podvajajo v večih različnih tabelah in ni funkcionalnih odvistnosti. Tako tudi zmanjšamo možnost napak pri vnosu informacij.

V podatkovnem modelu je definiranih enajst entitet. Na sliki 7 so prikazane podatkovne tabele in povezave med njimi.

Page 19: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 14

Slika 7: Podatkovni model v Oracle SQL Developer Data Modeler

4.2.1. ŠIFRANTI

V šifrantih so shranjeni parametrični podatki s katerimi upravljamo aplikativno programsko logiko.

V tem sklopu so naslednje: studio, kraj, drzava, zanr, igralec in reziser filma.

Tabele vsebujejo parametrične podatke, ki so ključni za zapisovanje podatkov o filmu in njegovem obisku.

4.2.2. TABELA UPORABNIK

V tabeli uporabnik so shranjeni vsi uporabniki, ki imajo dostop do strani. Ob prijavi (Slika 6) se pošlje zahteva do strežnika, ki preveri uporabniško ime in geslo. Če se ne ujemata z vnosom v tabeli, je dostop zavrnjen. Prav tako je dostop onemogočen, če se uporabnik večkrat zapored neuspešno prijavi. Zaenkrat zaščite proti resnim vdorom ni, vendar je načrtovana v prihodnosti. Ob uspešni prijavi se vse spremenjljivke v tabeli uporabnik shranijo za nadaljnjo uporabo v seji. Id služi kot identifikator do katerih filmov lahko dostopamo in jim dodajamo ali spreminjamo vnose. Hkrati služi tudi kot omejitev pri dodajanju novih filmov v bazo podatkov. Nivo dostopa pa nam pove do katerih virov na strani ima uporabnik dostop.

Page 20: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 15

Slika 8: Tabela uporabnik

4.2.3. TABELA FILM

V tabeli film so shranjeni vsi osnovni podatki o filmu kot so primarni ključ id_film tipa integer in se avtomatsko generira pri vnosu novega filma, slovenski in originalni naslov, ki sta tipa spremenljive dolžine, dolzina filma v minutah, datum kdaj je bil film prvič prikazan v Sloveniji in s koliko kopijami je film začel predvajanje. Prav tako je v tabeli podatek ali je film evropski ali ne. V tabeli sta dva tuja ključa; prvi tuj ključ je Uporabnik_id_user, ki je povezan s ključem id_user v tabeli uporabniki v razmerju 1:M in nam pove kdo je slovenski distributer filma. Drugi tuj ključ pa je studio_id_studio, ki je povezan s ključem id_studio v tabeli studio in nam pove kateri studio je film naredil. Ta povezava je tudi v razmerju 1:M, en studio, več ustvarjenih filmov.

Slika 9: Tabela film

4.2.4. TABELA OBISK_FILMA

V tabeli obisk_filma imamo podatke o obiskih, datum kdaj je obisk zabeležen, na voljo imamo vse ponedeljke in četrtke, odvisno od tega kateri tip izberemo, WE - Weekend ali WK - Week, kar pomeni vikend podatke in tedenske podatke. Shranjeni so podatki o prihodku filma (box office), število gledalcev in na koliko kopijah. V tabeli je tuj ključ film_id_film, ki je povezan z ključem id_film v tabeli film v razmerju 1:M, to pomeni en film, več vnosov v tabeli obisk_filma

Page 21: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 16

Slika 10: Tabela obisk_filma

4.2.5. TABELA FILM_DRZAVA

Tabela film_drzava je stična tabela med tabelo film in tabelo drzava. Tabela vsebuje en glavni atribut in primarni ključ id_drzava_filma, ter dva tuja ključa. Prvi tuj ključ film_id_film je povezan z primarnim ključem v tabeli film. Drug tuj ključ drzava_id_drzava pa je povezan z primarnim klujučem tabele drzava.

Slika 11: Tabela film_drzava

4.2.6. TABELA DRZAVA

Tabela država je šifrant in vsebuje atribute primarni ključ id_drzava tipa integer, ime_drzava spremenljive dolžine in kratico ki ima lahko do tri znake.

Page 22: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 17

Slika 12: Tabela država

4.2.7. TABELA FILM_REZISER

Film ima lahko več režiserjev, več režiserjev lahko režira več filmov. Tabela film_reziser je stična tabela med tabelo film in tabelo reziser. Tabela vsebuje primarni ključ id_reziser_filma, ter dva tuja ključa film_id_film, ki je povezan z primarnim ključem tabele film, ter reziser_id_reziser, ki je povezan z primarnim ključem tabele reziser.

Slika 13: Tabela film_reziser

4.2.8. TABELA REZISER

Tabela reziser je šifrant in vsebuje tri atribute, to so id_reziser tipa integer, ter ime_reziser in priimek_reziser spremenljve dolžine.

Slika 14: Tabela reziser

Page 23: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 18

4.2.9. TABELA DISTRIBUTER_STUDIA

Tabela distributer_studia je stična tabela med tabelo uporabnik in tabelo studio. Vsebuje atribut primarni ključ id_reziser tipa integer, ter dva tuja ključa. Tuj ključ uporabnik_id_user je povezan z primarnim ključem id_user tabele uporabnik, tuj ključ Studio_id_studio pa je povezan z primarnim ključem id_studio tabele studio.

Slika 15: Tabela distributer_studia

4.2.10. TABELA STUDIO

Tabela studio je šifrant in vsebuje dva atributa, primarni ključ id_studio tipa integer in atribut ime_studio spremenljive dolžine.

Slika 16: Tabela studio

4.2.11. TABELA OBISK_PO_KRAJU

Tabela obisk_po_kraju je stična tabela med tabelo uporabnik in tabelo Kraj. Vsebuje šest atributov, id_obisk_po_kraju, ki je primarni ključ tipa integer, box_office, gledalci, leto numeričnega tipa, ter dva tuja ključa uporabnik_id_user ki je povezan z ključem id_user v tabeli uporabnik in ključ kraj_id_kraj, povezan z ključem id_kraj v tabeli Kraj.

Page 24: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 19

Slika 17: Tabela obisk_po_kraju

4.2.12. TABELA KRAJ

Tabela kraj je šifrant in vsebuje dva atributa, primarni ključ id_kraj tipa integer, ter atribut ime_kraj.

Slika 18: Tabela kraj

4.2.13. TABELA ZANR

Tabela zanr je šifrant in vsebuje atribut id_zanr, ki je primarni ključ, in atribut zanr spremenljive dolžine.

Slika 19: Tabela zanr

Page 25: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 20

4.2.14. TABELA ZANR_FILMA

Film ima lahko več žanrov. Tabela zanr filma je stična tabela, in povezuje tabeli zanr in film. Vsebuje primarni ključ zanr tipa serial in tuja ključa film_id_film ki je vezan na primarni ključ id_film tabele film, ter tuj ključ zanr_id_zanr ki je vezan na primarni ključ id_zanr tabele zanr.

Slika 20: Tabela zanr_filma

4.2.15. TABELA IGRALEC

Tabela igralec je šifrant in vsebuje tri atribute, primarni ključ id_igralec in atributa ime_igralec in priimek_igralec spremenljive dolžine.

Slika 21: Tabela igralec

4.2.16. TABELA IGRALEC_FILMA

Film ima več igralcev in več igralcev igra v več filmih. Tabela igralec_filma je stična tabela in vsebuje tri atribute, primarni ključ id_igralec_filma, ter dva tuja ključa film_id_film, ki je povezan s primarnim ključem id_film tabele film, in tuj ključ igralec_id_igralec, ki je povezan s primarnim ključem id_igralec tabele igralec.

Page 26: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 21

Slika 22: Tabela igralec_filma

4.3. UPORABNIŠKI VMESNIK

Za spletno stran nismo uporabili nobene že obstoječe grafične predloge oz. skeleta, vsa programska koda je bila napisana ročno od začetka do konca.

Uporabniški vmesnik je preprost za uporabo in je razdeljen v tri sklope, prvi sklop je pregled in analiza tedenskih podatkov za izbrani teden, drugi sklop pa dodajanje vikend ali tedenskih podatkov za želen film, tretji sklop pa je vnos novega filma in dodajanje le tega v bazo podatkov.

Pri dostopu nas spletna stran najprej opozori na prijavo (Slika 23). Brez prijave dostop ni mogoč. Registracija je onemogočena, dodajanje novih uporabnikov je možno le direktno v podatkovno bazo preko vmesnika phpMyAdmin.

Slika 23: Prijavni obrazec

Page 27: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 22

Slika 24: Izbiranje tedna

Na sliki 24 vidimo, kako se izbira teden v letu, ob kliku gumba ''Naloži teden'' program pošlje izbran teden strežniku, ta s pomočjo PHP in SQL opravi poizvedbo in vrne želene rezultate, kot so videti na Sliki 27. Slika 25 predstavlja SQL del kode. Glavni del izdelave poročila je SQL poizvedba $sql_we, ki po opravljeni poizvedbi izpiše vse filme, ki imajo vnos v izbranem tednu (Slika 24), ter nam vrne največ 20 vrst. S pomočjo $sql_sum pa seštejemo vse dosedanje rezultate določenega filma in nam jih vrne v eni sami vrsti. Tej vrsti potem dodamo še rezultate trenutnega tedna in dobimo kumulativo prihodka in kumulativo gledalcev filma. Pri sliki 26 pa vidimo PHP del, ki v spremenljivko $izpis vseskozi zapisuje tabelo, ki jo dobimo s pomočjo Sql poizvedb, in jo na koncu izpiše.

$sql_sum = "SELECT SUM(box_office) AS boxoffice, SUM(gledalci) AS gledalci

FROM film_obisk

WHERE tip = 'WK' AND obisk_datum < '".$teden_datum['zacetek']."'

AND film_id_film = '".$row['id_film']."'";

$sql_we = "SELECT film.*, obisk_filma.*, uporabnik.ime_distributerja

FROM obisk_filma

INNER JOIN film ON obisk_filma.film_id_film = film.id_film

INNER JOIN uporabnik ON uporabnik.id = film.uporabnik_id_user

WHERE obisk_filma.tip_obisk = '".$teden_a[0]."'

AND obisk_filma.datum_obisk

BETWEEN '".$teden_datum['zacetek']."' AND '".$teden_datum['konec']."'

ORDER BY obisk_filma.box_office DESC, obisk_filma.gledalci DESC

LIMIT 20";

Slika 25: SQL del kode

Page 28: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 23

$result_we = mysqli_query($conn, $sql_we);

if(mysqli_num_rows($result_we) > 0){

$izpis .='<table class="tedenski_podatki">

<tr><th>This<br>WK</th>

<th>Slovenski naslov</th>

<th>Orginalni naslov</th>

<th>Distributer</th>

<th>Št. <br>kopij</th>';

if($teden_a[0] == 'we'){

$izpis .='<th>Weekend<br>box office</th> <th>Weekend<br>adm</th>';}

if($teden_a[0] == 'wk'){

$izpis .='<th>Week<br>box office</th> <th>Week<br>adm</th>';}

$izpis .=' <th>povp/<br>kopijo</th>

<th>Kumulativa<br>box office</th>

<th>Kumulativa<br>adm</th></tr>';

while($row = mysqli_fetch_array($result_we)){

$boxoffice_we_kum = 0;

$izpis .='<tr class="izbira_osvetli">

<td class="week">'.$i.'</td>

<td title="'.$row['slo_naslov'].'" class="naslov">'.$row['slo_naslov'].'</td>

<td title="'.$row['org_naslov'].'" class="naslov">'.$row['org_naslov'].'</td>

<td class="distributer">'.$row['username'].'</td>

<td class="stevilo">'.$row['st_kopij'].'</td>

<td class="boxoffice">'.$row['box_office'].'</td>

<td class="gledalci">'.$row['gledalci'].'</td>

<td class="povprecje">';

$izpis .= round($row['box_office']/$row['st_kopij']);

$izpis .=' </td>';

$result_we_kum = mysqli_query($conn, $sql_sum_we);

if(mysqli_num_rows($result_we_kum)){

while($row1 = mysqli_fetch_array($result_we_kum)){

$boxoffice_we_kum = $row1['boxoffice'];

$gledalci_we_kum = $row1['gledalci'];}}

$boxoffice_we_kum = $boxoffice_we_kum + $row['box_office'];

$gledalci_we_kum = $gledalci_we_kum + $row['gledalci'];

$izpis .='<td class="boxoffice">'.$boxoffice_we_kum.'</td>

<td class="gledalci">'.$gledalci_we_kum.'</td></tr>'; }}

$izpis .='</table>';}

Slika 26: PHP del kode

Page 29: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 24

Slika 27: Izpis izbranega tedna

To je trenutno glavno poročilo spletne aplikacije, tedenski podatki o obisku. Izpisane imamo ključne podatke, kot so mesto na lestvici v danem tednu, število kopij na katerih se je film predvajal v tekočem tednu, rezultat filma in število gledalcev, ter povprečje in dosedanji skupni prihodek in število gledalcev.

Na naslednji sliki (Slika 28) vidimo izbiranje filmov na desni strani in nalaganje le teh v levih stolpcih.

Slika 28: Izbiranje filma

Za spreminjanje podatkov mora biti uporabnik prijavljen, spreminja pa lahko samo filme do katerih ima dostop. To je razvidno na naslednji sliki (Slika 29).

Page 30: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 25

Slika 29: Pregled nad filmom

Kot vidimo se izpišejo vsi trenutni podatki o filmu kot so začetek predvajanja filma, začetno število kopij, trenutni skupni rezultat in število gledalcev.

Vnesene podatke lahko po potrebi spremenimo, ali pa celoten vnos izbrišemo. Nove vnose dodamo v zadnji vrstici tabele z izpolnitvijo vseh potrebnih podatkov in klikom na gumb 'Dodaj vnos' (Slika 30).

Slika 30: Dodajanje podatkov filmu

Dodajanje vnosov dosežemo z pomočjo jQuery, PHP in SQL, pri tem jQuery zazna klik na gumb 'Dodaj vnos' in preveri vnose podatkov (Slika 32). Če so ti pravilni, podatke 'pošlje' naprej v PHP datoteko ki s pomočjo SQL v tabelo vstavi želene podatke (Slika 31). Ko je SQL poizvedba uspešno opravljena, se vnos v tabelo s pomočjo AJAX-a avtomatično doda, prav tako pa se osvežijo podatki o skupnem prihodku in podatki skupnem številu gledalcev filma.

Slika 31: PHP in SQL dodajanja podatkov filmu

<?php include(''config.php'');

session_start();

$id = "";

$id = $_SESSION["id"];

$sql = "INSERT INTO film_obisk(tip_obisk, datum_obisk, box_office, gledalci, stevilo_kopij, film_id_film)

VALUES('".$_POST['tip']."', '".$_POST['datum']."', '".$_POST['box_office']."', '".$_POST['gledalci']."', '".$_POST['st_kopij']."', '$id')";

if(mysqli_query($conn, $sql)){echo "Podatki uspešno vneseni!";}?>

Page 31: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 26

Slika 32: Dodajanje vnosov s pomočjo jQuery

Preden lahko začnemo dodajati filmu podatke o obisku moramo izpolniti obrazec za dodajanje filmov v bazo podatkov. Izbira slovenskega distributerja je za uporabnike onemogočena. Uporabnik lahko doda samo film, ki ga ima v distribuciji (Slika 33).

$(document).on("click", "#dodaj", function(){

var tip = $('#tip').val();

var datum = $('#datum').val();

var box_office = $('#box_office').val();

var gledalci = $('#gledalci').val();

var st_kopij = $('#st_kopij').val();

var datum_preverba = $("#datum_zacetek").text();

if(tip == ""){

alert("Dodaj tip!");

return false;}

if(datum == ""){

if(datum < datum_preverba){

alert("Nepravilen datum!");

return false;}

alert("Dodaj datum!");

return false;}

if(box_office == ""){

alert("Dodaj box office!");

return false;}

if(gledalci == ""){

alert("Dodaj gledalce!");

return false;}

if(st_kopij == ""){

alert("Dodaj število kopij!");

return false;}

$.ajax({

url: "dodaj.php",

method: "POST",

data:{tip:tip, datum:datum, box_office:box_office, gledalci:gledalci, st_kopij:st_kopij},

success:function(data){

alert(data);

vnos();

posodobi1();

posodobi2();}});});

Page 32: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 27

Slika 33: Dodaj film

Poleg obrazca za dodajanje novih filmov imamo tudi obrazec za vnos dodatnih informacij o filmu, kot so države filma, žanrov filma, dodajanje režiserjev in igralcev, dodajanje dolžine filma in izbira ali je film evropski ali ne (Slika 34).

Slika 34: Podrobnosti filma

4.4. PROGRAMSKA KODA

4.4.1. FUNKCIJA NALOZI

Funkcija nalozi nam omogoča, da s klikom na izbrani film v desni strani tabele (Slika

28) dodamo ime filma v obrazec. Na voljo so samo tisti filmi, za katere je uporabnik pooblaščen.

Page 33: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 28

Slika 35: Funkcija naloži

4.4.2. FUNKCIJA VNOS

Funkcija vnos s pomočjo Ajaxa 'pokliče' spletno mesto za izbiranje filma 'izbira_filma.php' in tako osveži del spletne strani, na kateri se prikazujejo vneseni podatki o izbranem filmu v realnem času (Slika 29). Vsak vnos se obravnava v realnem času in ne potrebuje osveževanja strani.

Slika 36: Funkcija vnos

4.4.3. FUNKCIJA POSODOBI1 IN POSODOBI2

Funkciji posodobi1 in posodobi2 skrbita, da se osveži skupni box office in skupno število gledalcev ob vsakem novem vnosu v bazo.

Page 34: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 29

Slika 37: Funkcija posodobi

4.4.4. FUNKCIJA SPREMENI

Funkcija spremeni nam omogoča spreminjanje vnosov v realnem času brez potrebe po osveževanju, kar pomeni manjšo obremenitev strežnika in hitrejše delo. Pri klicu funkcije spremeni se najprej preveri, če so spremenjeni podatki sprejemljivi, npr. datum obiska ne more biti pred datumom začetka predvajanja filma.

Slika 38: Funkcija spremeni

Page 35: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 30

Slika 39: Klic funkcije spremeni

4.4.5. FUNKCIJA IZBRIS

Funkcija izbris nam omogoča popolni izbris vnosa iz baze podatkov in potrebuje potrditve v pogovornem oknu s strani uporabnika.

Slika 40: Funkcija izbris

Page 36: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 31

5. ZAKLJUČEK

5.1. UČINEK APLIKACIJE

Aplikacija trenutno omogoča tedensko zbiranje in analizo podatkov. Njena prednost v primerjavi z dosedanjim načinom zbiranja podatkov je v tem, da omogoča njihovo hitrejše zbiranje in lažji in hitrejši dostop do podatkov. Zaradi preverjanja podatkov že ob vnosu tudi preprečuje vnos napačnih podatkov.

5.2. UVEDBA APLIKACIJE

Uvedba spletne strani s tehničnega vidika je dokaj preprosta saj že imamo potrebno opremo za strežnik. Potrebna je samo namestitev na strežnik in aplikacija je pripravljena za uporabo.

Za uvedbo s strani uporabnika je potreben osebni ali prenosni računalnik, z novejšim spletnim brskalnikom, in dostop do interneta. Uporaba je preprosta, uporabniški vmesnik pa je zelo enostaven, tako da ne potrebuje dodatnega znanja. Potrebno je le osnovna znanje uporabe osebnega računalnika in znanje o zbiranju podatkov o obisku filmov v kinematografih.

Ker imamo s Slovenskim filmskim centrom že obstoječo pogodbo, model trženja ni mogoč, ampak bo uporaba omogočena vsem pristojnim osebam in organizacijam. Vsi podatki so shranjneni na strežniku, na katerem se redno izvaja varnostno kopiranje, tako da je za varovanje podatkov poskrbljeno. Onemogočena bo registracija novih uporabnikov in s tem dostop nepooblaščenim osebam.

5.3. NADANLJNI RAZVOJ APLIKACIJE

Trenutni prototip ima možnost velike razširitve za izdelavo poročil in opravljanja več analiz z želenimi podatki, prav tako pa razširitev na izdelavo poročil letnih podatkov. Pri tem bi bilo potrebno izboljšati podatkovni model, saj še niso vpeljane vse tabele za zbiranje podatkov po krajih in povezav med temi. Prav tako bi bilo potrebno dodati nove parametre v že obstoječ podatkovni model.

Možna je tudi izboljšava samega videza in uporabniškega vmesnika za lažje spremljanje podatkov, hkrati pa tudi njihovo testiranje podatkov. Tako bi bil onemogočen vnos podatkov z napakami.

Page 37: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 32

LITERATURA

Uvod v HTML. Pridobljeno 25.8.2016 na http://www.s-sers.mb.edus.si/gradiva/w3/html/index.html

Uvod v Jquery. Pridobljeno 28.8.2016 na http://ussi.feri.uni-mb.si/index.php/vaje/vaja08/123-uvod-v-jquery

PHP. Pridobljeno 25.8.2016 na https://sl.wikipedia.org/wiki/PHP

CSS. Pridobljeno 25.8.2016 na https://sl.wikipedia.org/wiki/CSS

HTML. Pridobljeno 25.8.2016 na https://sl.wikipedia.org/wiki/HTML

SQL. Pridobljeno 29.8.2016 na https://en.wikipedia.org/wiki/SQL

JavaScript. Pridobljeno 25.8.2016 na http://www.nsa.zpanel.sckr.si/javascript/zgledi/js-38-jquery.php

jQuery. Pridobljeno 25.8.2016 na http://jquery.com/

AJAX. Pridobljeno 25.8.2016 na https://en.wikipedia.org/wiki/Ajax_(programming)

XAMPP. Pridobljeno 29.8.2016 na https://en.wikipedia.org/wiki/XAMPP

Oracle Sql DDM. Pridobljeno 31.8.2016 na http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html

Slovenski filmski center. Pridobljeno 29.8.2016 na http://www.film-center.si/sl/

Rentrak. Pridobljeno 29.8.2016 na http://www.rentrak.com/

European Audiovisual Observatory. Pridobljeno 29.8.2016 na http://www.obs.coe.int/en/home

Box Office Mojo. Pridobljeno 29.8.2016 na http://www.boxofficemojo.com/

Kolosej. Pridobljeno 29.8.2016 na http://www.kolosej.si/

Mediana. Pridobljeno 29.8.2016 na http://en.mediana.si/market-research/media/

MPAA. Pridobljeno 29.8.2016 na http://www.mpaa.org/

Lumiere. Pridobljeno 29.8.2016 na http://lumiere.obs.coe.int/web/search/index.php

Page 38: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 33

KAZALO SLIK

Slika 1: Top 10 tedna na strani slovenskega filmskega centra .................................... 5

Slika 2: Kolosej letni podatki 2010 (Vir: Kolosej, 2016) ............................................ 5

Slika 3: Lumiere podatkovna baza (Vir: Lumiere, 2016) ............................................ 6

Slika 4: Podatki na strani Rentrak................................................................................ 7

Slika 5: Slovenia Box Office Mojo (Vir: Box Office Mojo, 2016) ............................. 7

Slika 6: Diagram trenutnega modela zbiranja podatkov .............................................. 8

Slika 7: Podatkovni model v Oracle SQL Developer Data Modeler ......................... 14

Slika 8: Tabela uporabnik .......................................................................................... 15

Slika 9: Tabela film .................................................................................................... 15

Slika 10: Tabela obisk_filma ..................................................................................... 16

Slika 11: Tabela film_drzava ..................................................................................... 16

Slika 12: Tabela država .............................................................................................. 17

Slika 13: Tabela film_reziser ..................................................................................... 17

Slika 14: Tabela reziser .............................................................................................. 17

Slika 15: Tabela distributer_studia ............................................................................ 18

Slika 16: Tabela studio .............................................................................................. 18

Slika 17: Tabela obisk_po_kraju ............................................................................... 19

Slika 18: Tabela kraj .................................................................................................. 19

Slika 19: Tabela zanr ................................................................................................. 19

Slika 20: Tabela zanr_filma ....................................................................................... 20

Slika 21: Tabela igralec ............................................................................................. 20

Slika 22: Tabela igralec_filma ................................................................................... 21

Slika 23: Prijavni obrazec .......................................................................................... 21

Slika 24: Izbiranje tedna ............................................................................................ 22

Slika 25: SQL del kode .............................................................................................. 22

Slika 26: PHP del kode .............................................................................................. 23

Slika 27: Izpis izbranega tedna .................................................................................. 24

Slika 28: Izbiranje filma ............................................................................................ 24

Slika 29: Pregled nad filmom .................................................................................... 25

Slika 30: Dodajanje podatkov filmu .......................................................................... 25

Slika 31: PHP in SQL dodajanja podatkov filmu ...................................................... 25

Slika 32: Dodajanje vnosov s pomočjo jQuery ......................................................... 26

Slika 33: Dodaj film ................................................................................................... 27

Slika 34: Podrobnosti filma ....................................................................................... 27

Slika 35: Funkcija naloži ........................................................................................... 28

Slika 36: Funkcija vnos .............................................................................................. 28

Slika 37: Funkcija posodobi ...................................................................................... 29

Slika 38: Funkcija spremeni ...................................................................................... 29

Slika 39: Klic funkcije spremeni ............................................................................... 30

Slika 40: Funkcija izbris ............................................................................................ 30

Page 39: core.ac.uk · ''Slovenski filmski center, javna agencija Republike Slovenije, je pri čel z delovanjem 19. januarja 2011 kot naslednik Filmskega sklada Republike Slovenije, javnega

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Robert Čretnik: Programska rešitev za spremljanje obiska v slovenskih kinematografih stran 34

POJMOVNIK

Pay Tv: je televizija z mesečno naročnino in omogoča dostop do več kanalov, odvisno od tipa mesečne naročnine.

Pay per View: je tip plačljive televizije kjer uporabnik plača za enkraten ogled želenega programa.

Video on demand (slov.:video na zahtevo): omogoča uporabnikom ogled programa kadar si oni to želijo preko televizijskega boxa, osebnega računalnika ali kakšne druge naprave, npr. tablični računalnik ali mobilni telefon.

KRATICE IN AKRONIMI

MPAA : Motion Picture Association of America

SFC: Slovenski filmski center

IP TV: Internet protokol TV

PHP: PHP: Hyptertext Preprocessor

HTML: Hyper Text Markup Language

CSS: Cascading Style Sheet

AJAX: Asynchronous JavaScript and XML

SQL: Structured Query Language

HTTP: Hyper Text Transfer Protocol

DDL: Data Description Language