Upload
lamanh
View
217
Download
0
Embed Size (px)
Citation preview
Fakulteta za elektrotehniko, računalništvo in informatiko
Smetanova ulica 17 2000 Maribor, Slovenija
Aleš Benčina
SISTEMI ZA UPRAVLJANJE
MULTIMEDIJSKIH VSEBIN
Diplomsko delo
Maribor, avgust 2015
SISTEMI ZA UPRAVLJANJE
MULTIMEDIJSKIH VSEBIN
Diplomsko delo
Študent: Aleš Benčina
Študijski program: VS ŠP Informatika in tehnologije komuniciranja
Smer: Sistemska podpora informatiki in tehnologijam komuniciranja
Mentor: doc. dr. Domen Verber
Lektorica: Ksenija Pečnik, prof. slov. jezika
i
ZAHVALA
Zahvaljujem se mentorju doc.
dr. Domnu Verberju za pomoč
in vodenje pri pisanju
diplomskega dela.
ii
Sistemi za upravljanje multimedijskih vsebin
Ključne besede: sistemi za upravljanje z vsebinami, PHP, ExtJS, LAMP, multimedija
UDK: 004.45.032.6+004.4'27(043.2)
Povzetek
Diplomsko delo predstavlja delovanje in principe delovanja sistemov za upravljanje z
vsebinami. Teoretični del naloge predstavlja vsebino, formate vsebine in namen sistema za
upravljanje z vsebinami ter opisuje najbolj uporabljene module, ki sestavljajo celosten
sistem. V okviru praktičnega dela naloge je pripravljena rešitev za osnovni model sistema
v okolju ExtJS v programskem jeziku PHP. Predstavljeno je, kako naj bi osnovni moduli
dopolnjevali sistem za upravljanje vsebine.
iii
Multimedia content management systems
Keywords: multimedia content management system, PHP, LAMP, ExtJS
UDK: 004.45.032.6+004.4'27(043.2)
Abstract
This thesis represents various functioning of content management systems. The theoretical
part of this thesis, explains the content, its types and purpose of content management
system and it also describes the most used modules that consist the whole system. Within
the practical part of this thesis, we prepared the solution for basic system model in ExtJS
framework, with PHP programming language. It shows how the basic module should
supplement the content management system.
iv
KAZALO
1 UVOD ............................................................................................................................ 1
2 SISTEM ZA UPRAVLJANJE MULTIMEDIJSKIH VSEBIN ............................... 3
2.1 Namen ................................................................................................................... 3
2.2 Struktura vsebine ................................................................................................ 4
2.3 Jedro ..................................................................................................................... 4
2.3.1 Formati jedra ................................................................................................... 5
2.3.2 Osnovni elementi jedra .................................................................................... 6
2.3.4 Strukturirani formati jedra ............................................................................... 6
2.4 Osnove kodiranja in kompresije ........................................................................ 7
2.4.1 Kodiranje analogne v digitalno domeno .......................................................... 7
2.4.2 Stiskanje (kompresija) ..................................................................................... 8
2.5 Video ..................................................................................................................... 9
2.6 Zvok ...................................................................................................................... 9
2.7 Slike, splet, besedilo ........................................................................................... 10
2.7.1 Slika ............................................................................................................... 11
2.7.2 Spletne strani in HTML ................................................................................ 11
3 OSNOVNI MODEL ................................................................................................... 12
3.1 Arhitektura programske opreme ..................................................................... 12
3.1.1 Upravljanje jedra ........................................................................................... 13
3.1.2 Upravljanje podatkov .................................................................................... 14
4 ZASNOVA PROGRAMSKE REŠITVE .................................................................. 15
4.1 Uporabljene tehnologije .................................................................................... 15
4.1.1 ExtJS .............................................................................................................. 15
4.1.2 PHP ................................................................................................................ 16
4.1.3 PHPmyadmin ................................................................................................. 16
4.1.4 JavaScript ...................................................................................................... 16
4.1.5 AJAX ............................................................................................................. 17
4.1.6 JSON .............................................................................................................. 17
5 REALIZACIJA REŠITVE ........................................................................................ 18
5.1 Opis modulov ..................................................................................................... 18
v
5.1.1 Predvajalnik ................................................................................................... 18
5.1.2 Seznam datotek .............................................................................................. 18
5.1.3 Časovnica ...................................................................................................... 19
5.1.4 Plošča za upravljanje naprav ......................................................................... 19
5.1.5 Urejevalnik metapodatkov ............................................................................. 19
5.1.6 Vmesnik za iskanje ........................................................................................ 20
5.1.7 Seznam zadetkov ........................................................................................... 20
5.1.8 Kontrola vhodnih podatkov ........................................................................... 20
5.1.9 Dokumentiranje podatkov ............................................................................. 21
5.1.10 Pridobivanje podatkov .................................................................................. 22
5.1.11 Kontrola izhodnih podatkov ......................................................................... 22
5.2 Implementacija .................................................................................................. 23
5.2.1 Prijava v sistem .............................................................................................. 26
5.2.2 Upravljanje uporabnikov ............................................................................... 27
5.2.3 Upravljanje pravic in uporabnikov ................................................................ 28
5.2.4 Arhiviranje dogodkov .................................................................................... 29
5.2.5 Kontrola strežnika.......................................................................................... 30
5.2.6 Globalne nastavitve sistema .......................................................................... 31
5.2.7 Upravljanje zunanjih naprav .......................................................................... 32
5.2.8 Uvoz slikovnih virov v sistem ....................................................................... 33
5.2.9 Izvoz slikovnih virov ..................................................................................... 33
5.2.10 Urejanje slikovnih virov ................................................................................ 34
5.2.11 Administracija datotek ................................................................................... 37
6 SKLEP ........................................................................................................................ 39
VIRI IN LITERATURA ................................................................................................... 40
vi
KAZALO SLIK
Slika 1: Pretvorba analognega signala v digitalnega ............................................................. 7
Slika 2: Primer stiskanja ........................................................................................................ 8
Slika 3: Osnovna arhitektura sistema .................................................................................. 13
Slika 4: Ext JS logotip ......................................................................................................... 15
Slika 5: Logotipi uporabljenih tehnologij ............................................................................ 16
Slika 6: Gradniki Ext JS ...................................................................................................... 24
Slika 7: Glavni meni aplikacije ........................................................................................... 24
Slika 8: Primer zahtevka POST ........................................................................................... 25
Slika 9: Primer metode AJAX ............................................................................................. 25
Slika 10: Objektni zapis JSON, ki ga pretvori brskalnik ..................................................... 26
Slika 11: Zapis JSON, ki ga pridobimo s strežnika prek metode AJAX ............................. 26
Slika 12: Prijava v sistem .................................................................................................... 27
Slika 13: Opozorilo o neuspešni prijavi .............................................................................. 27
Slika 14: Seznam uporabnikov ............................................................................................ 28
Slika 15: Okno za dodajanje uporabnika ............................................................................. 28
Slika 16: Seznami za upravljanje uporabniških pravic ........................................................ 29
Slika 17: Dodajanje pravic uporabniku ............................................................................... 29
Slika 18: Arhiviranje dogodkov .......................................................................................... 30
Slika 19: Upravljanje opravil na strežnikih ......................................................................... 31
Slika 20: Upravljanje globalnih nastavitev modulov .......................................................... 32
Slika 21: Upravljanje zunanjih naprav ................................................................................ 32
Slika 22: Uvoz slikovnih virov ............................................................................................ 33
Slika 23: Okno za potrditev izvoza datotek ......................................................................... 34
Slika 24: Urejanje metapodatkov slike ................................................................................ 35
Slika 25: Dodajanje albuma ................................................................................................. 36
Slika 26: Definiranje tabele albumov .................................................................................. 36
Slika 27: Definiranje pogleda posameznega elementa v tabeli ........................................... 36
Slika 28: Definiranje skladišča za tabelo z albumi .............................................................. 37
Slika 29: Metoda AJAX, ki vrne seznam albumov ............................................................. 37
vii
UPORABLJENE KRATICE
AJAX skupek tehnologij za asinhrone spletne aplikacije (angl. Asynchronous
JavaScript and XML)
CMS sistem za upravljanje vsebin (angl. Content Management System)
CSS predloge, ki določajo videz spletne strani (angl. Cascading Style Sheets)
ExtJS okolje JavaScript
HTML oznaževalni jezik (angl. Hyper Text Markup Language)
JSON format JavaScript objektov (angl. JavaScript Object Notation)
LAMP razvojno okolje, ki omogoča ustvarjanje spletnih aplikacij s strežnikom
Apache, programskim jezikom PHP in podatkovno bazo MYSQL
MYSQL relacijska podatkovna baza
PHP programski jezik (angl. PHP hypertext Preprocessor)
XML format podatkov za izmenjavo strukturiranih dokumentov na spletu (angl.
Extensible Markup Language)
Sistemi za upravljanje multimedijskih vsebin
1
1 UVOD
Podjetja se pri upravljanju vsebine na spletnih portalih iz leta v leto srečujejo z vse večjimi
problemi pomanjkanja doslednosti podatkov, ki jih potrebujejo za optimalno delovanje, s
tem pa posledično lahko pride do napačnega delovanja aplikacij, neustreznih poslovnih
odločitev in podatkovnih analiz. Problemi, ki se lahko pojavijo, so pomanjkanje prostora
za dodajanje nove vsebine (podatkov), nekontroliran dostop oziroma nepooblaščen dostop
do občutljivih podatkov, zastarelost informacijskega sistema, varnostne luknje,
nekontroliran nadzor nad toki podatkov v obstoječem sistemu, neomejeno dodajanje
vsebine in kontrole formatov vsebine (različne velikosti vsebine). Problemi s
pomanjkanjem nadzora lahko tako nastanejo pri vsakem delovnem toku.
Rešitev za navedene probleme znotraj podjetja predstavlja sistem za upravljanje vsebin. Ta
nam ponuja širok spekter kontrole podatkov in njihovih tokov ter s tem povečanje nadzora
in izboljšanega vodenja informacijskega sistema v podjetju. Poleg tega pa podpira še
upravljanje uporabnikov, strežnikov, vsebine in pravic uporabnikov ter nadzor nad
sistemom.
V diplomski nalogi smo se osredotočili predvsem na upravljanje vsebine in povečanega
nadzora nad uporabniki in strežniki, ki so prav tako pomembni za delovanje sistema. V
prvem poglavju smo predstavili sistem za upravljanje multimedijskih vsebin, njegov
namen in osnovno strukturo ter opisali osnovne sestavine, ki predstavljajo sistem za
upravljanje vsebin.
V praktičnem delu smo načrtovali in implementirali prototip sistema za upravljanje
multimedijskih vsebin. Pri implementaciji smo določili organizacijsko strukturo
implementacije in se odločili, v kakšnem okolju bomo izvedli realizacijo rešitve problema
(uporaba ogrodja ExtJS). Pri tem smo spoznali mnogo tehnologij, ki smo jih predstavili in
Sistemi za upravljanje multimedijskih vsebin
2
prikazali primere, kako lahko na enostaven način povežemo različne tehnike prikazov in
prenosa podatkov s strežnika ali na strežnik.
Sistemi za upravljanje multimedijskih vsebin
3
2 SISTEM ZA UPRAVLJANJE MULTIMEDIJSKIH VSEBIN
Kot smo zapisali v uvodu, je sistem za upravljanje vsebin rešitev za izboljšano ali celo
optimalno delovanje podjetja. Sistem sestavlja vsebina, ki predstavlja avdiovizualno,
vizualno, zvočno ali besedilno informacijo. Sistem za upravljanje vsebin od uporabnika ne
zahteva, da uporabnik potrebuje znanje jezika HTML ali katerega drugega označevalnega
jezika, saj vse deluje prek enostavnega uporabniškega vmesnika.
Sistem za upravljanje vsebin ponuja objavo, urejanje, organiziranje, brisanje in
vzdrževanje vsebine prek centraliziranega uporabniškega vmesnika ter upravljanje poteka
akcij v kolaborantovem okolju, ki pomaga ljudem doseči svoje cilje.
2.1 Namen
Sistem za upravljanje multimedijskih vsebin ima specifičen namen, in sicer da zagotovi
platformo za upravljanje multimedijskih objektov (jedra). Ti objekti so digitalni video,
avdio, slike, grafike, spletne strani. Sistem ponuja shrambo, upravljanje in administracijo
različnih tipov medijev na podlagi njihovih kodirnih shem ali po specifičnih lastnostih.
Sistem mora tudi ponujati napredno podporo za procesiranje in prenos medijev. Z
naprednimi metodami za procesiranje medijev se lahko bistveno zmanjša poraba kapacitete
na strežniku in s tem izboljša prenos podatkov med odjemalci in strežnikom. Sistem za
upravljanje mora biti formatu agnostičen, da lahko zagotavlja optimalno podporo za
različne formate vhodnih datotek, s tem pa tudi povečano kontrolo nad vhodno/izhodnimi
podatki in internimi procesi.
Sistemi za upravljanje multimedijskih vsebin
4
2.2 Struktura vsebine
Vsebina je sestavljena iz dveh glavnih delov, in sicer iz metapodatkov in jedra. Jedro
predstavlja surovo gradivo, predstavljeno s slikami, z zvokom in besedilom. Jedro nosi
aktualno sporočilo oziroma informacijo ter je po navadi izraženo s pojmom medij. Medij je
povezava med fizičnimi nosilci, to so video trak in optični diski. Metapodatki kot drugi
glavni del vsebine opisujejo aktualno jedro in njegove različne dogodke.
Metapodatki se delijo na vsebinsko povezane metapodatke, ki predstavljajo aktualno
vsebino oziroma predmet, materialno povezane metapodatke, ki predstavljajo formate in
nosijo kodirne parametre in specifične podatke za snemanje, ter lokacijsko povezane
metapodatke, ki predstavljajo lokacijo, število kopij medija in njegovo stanje.
Vsebinsko povezani metapodatki obsegajo formalne podatke (naslov, podnaslov, dolžina),
podatke o indeksiranju (ključne besede, opisi slik) in o pravicah (lastnik, pravice). Vsebina
mora obvezno vsebovati metapodatke, ker igrajo ključno vlogo v vseh aplikacijah, saj brez
njih ne bi bilo mogoče, da se vsebina poišče in predstavi.
Sistem, ki upravlja jedro in metapodatke, se imenuje sistem za upravljanje vsebin. Sistem
za upravljanje vsebin vsebuje množico orodij za upravljanje jedra vsebine. Primeri teh so:
shramba, administracija in prenos datotek.
2.3 Jedro
Jedro je fizična predstavitev vsebine v različnih oblikah in formatih. Lahko je producirano,
ima možnost shranjevanja, spreminjanja, prenašanja in oddajanja. Uporablja se lahko na
različne načine, odvisno od zahtev. Lahko obstaja tudi univerzalno jedro, ki pokrije
zahteve vseh tipov medijev – zvoka, besedila, videa, grafike, slike. Univerzalno jedro
omogoča, da je sistem za upravljanje vsebine medijsko in formatno neodvisen, to pomeni,
da lahko upravlja vse tipe medijev in formate jedra.
Sistemi za upravljanje multimedijskih vsebin
5
Za odločanje med različnimi tipi medijev in formatov jedra je treba poznati zahteve in
omejitve določene aplikacije. Vedeti je treba tudi, da sistem za upravljanje vsebin ni samo
datotečno skladišče, ampak vsebuje še datotečne strukture, sintakse medijev in semantike v
določenem obsegu.
Jedro ima lahko dve vlogi, prva je, da prikazuje objekte, ki morajo biti upravljani in
vodeni, druga vloga pa je, da jedro predstavlja vsebino znotraj sistema. Podjetja, ki
ponujajo medijsko bogate vsebine, morajo torej izbrati najbolj primerne formate, ki
ustrezajo njihovim nalogam in ciljem. To je pomembno zato, ker so za implementacijo
sistema potrebni predhodni podatki, ki jih posreduje podjetje. Primer predhodnega podatka
je, da se bo podjejte ukvarjalo s slikovnimi viri, z videom, zvokom in s tabelami z
določenimi podatki (XLS, DOC, TXT, PDF).
Vsi trenutni oziroma aktualni formati jedra so uporabljeni za produkcijske in
predstavitvene namene in popolno ujemanje vsebine v sistemu.
2.3.1 Formati jedra
Jedro je predstavljeno kot surov material in lahko ima različne vrste formatov.
Predstavljeno je kot del objekta vsebine, ki zastopa aktualno informacijo oziroma
dekodirano sporočilo v različnih formatih. Formati so odvisni od medijev. Mediji so lahko
avdiovizualni, vizualni in besedilni elementi sporočila. Poleg video- in avdioformatov
poznamo še več tipov medijev oziroma diskretnih medijev, ki morajo imeti podporo za
upravljanje v sistemu. Primer diskretnega medija so različni formati za sliko, grafiko in
elemente. Različni formati so primerni za različne namene. Dokumenti so lahko kodirani v
različne formate oziroma preprosto besedilo (ASCII, RTF, PDF, DOCX).
Sistem za upravljanje vsebine upravlja vse vrste jeder, ki so povezana z objektom vsebine.
Največ sistemov uporablja nizkoresolucijske formate, ki izpolnjujejo zahteve izbire ter
iskanja, manjšina sistemov pa lahko uporablja tudi visoko resolucijske formate, ki
zahtevajo večjo širokopasovno širino in več prostora za skladiščenje.
Sistemi za upravljanje multimedijskih vsebin
6
2.3.2 Osnovni elementi jedra
Osnovni elementi jedra so temeljne komponente sistema za upravljanje multimedijskih
vsebin. Predmeti vsebine so prikazani s specifičnim jedrom oziroma medijem, kot so zvok,
video, slike, grafike in besedilo. Različni tipi medijev se lahko kombinirajo (zvok in
zaporedje slik). Ti elementi so klasificirani glede časa in karakteristike predstavitve.
Poznamo dve vrsti medijev, to so diskretni in ponavljajoči oziroma časovno odvisni in
časovno neodvisni mediji.
Časovno neodvisni mediji so sestavljeni iz večjih časovno odvisnih informacijskih enot. V
tem primeru imamo PAL kodiranje videa in če želimo uporabniku posredovati pravilno
informacijo, je potrebno, da so okvirji (angl. Frames) predstavljeni v točno določenem
časovnem razmerju. PAL ima 25 okvirjev na sekundo, torej mora biti vsak okvir
predstavljen v 1/25 sekunde od prejšnjega okvirja. Če se ta sistem poruši, uporabnik ne
dobi pravilne informacije.
Elementi neprekinjenih medijev so video, zvok in animirana grafika. Diskretni mediji
nimajo časovnih zahtev in so veljavni glede na to, v kolikšnem času so predstavljeni. Med
diskretne medije spadajo besedilo, slike in grafike.
2.3.4 Strukturirani formati jedra
Poleg osnovnih elementov jedra mora sistem za upravljanje vsebin podpirati tudi
strukturirane formate jedra, to so spletne strani, dokumenti XML in multimedijske
datoteke.
V strukturiranih formatih se kombinirajo različni osnovni elementi jedra, in sicer s
povezavami in z referencami. Primer kombinacije formatov je spletna stran, ki vsebuje
povezave. Te povezave kažejo na ostala jedra oziroma medije, ki so relevantni za stran.
Povezave predstavljajo tudi relacije med osnovnimi komponentami jedra.
Sistemi za upravljanje multimedijskih vsebin
7
Sistem mora tudi zagotavljati integriteto objektov vsebine, za to pa je rešitev upravljanje
zunanjih povezav strukturiranih objektov in preprečevati, da objekti ne postanejo
nekonsistentni.
2.4 Osnove kodiranja in kompresije
2.4.1 Kodiranje analogne v digitalno domeno
Upravljanje jedra v računalniškem sistemu za upravljanje vsebine zraven vključuje
transformacijo iz analogne domene v digitalno. Ta proces se imenuje kodiranje. Analogni
signal je predstavljen z zaporednimi signali, ki so v digitalni domeni predstavljeni kot
diskretne numerične vrednosti v binarnem zapisu.
V transformacijskem procesu je informacija bolj kot ne izgubna, saj te numerične
vrednostni niso natančne do potankosti.
Slika 1: Pretvorba analognega signala v digitalnega
Zgornja slika prikazuje, kako je analogna vrednost prikazana z numeričnimi vrednostmi.
Izguba podatkov je pri tem neizbežna, saj vrednost ni točno določena in jo je treba sprejeti.
Kakovost digitalnega formata je odvisna od granularnosti (število zrn) ali dolžine intervala,
ki ga diskretna numerična vrednost predstavlja, in od tega, koliko bitov je uporabljenih za
predstavitev posamezne vrednosti. Tukaj se srečamo s pojmom vzorčenje oziroma
vantizacije signala. Frekvenca vzorčenja nam pove, katera analogna vrednost je vzorčena.
Višja kot je ta frekvenca in večje kot je število bitov v kvantizaciji, boljša je točnost izvirne
vrednosti in posledično se zmanjša izguba podatkov [1].
Sistemi za upravljanje multimedijskih vsebin
8
2.4.2 Stiskanje (kompresija)
Pri nalaganju datotek v sistem se srečamo s procesom kompresije, ki nam pomaga pri
ohranjevanju kapacitete na strežniku in odstranjevanju redundantnih podatkov iz datotek.
Kompresija je proces, ki zmanjša število bitov tako, da razbije redundanco v bitni tok.
Pomaga nam, da se zmanjša uporaba kapacitete skladišča, poveča se hitrost prenosa,
podatkov in posledično zmanjšajo stroški strojne opreme in internetne pasovne širine.
Kompresija je izvedena s pomočjo določene programske opreme, ki uporablja določen
algoritem. Ta ugotovi, kako zmanjšati velikost podatkov. Proces stiskanja podatkov ima
dva načina, in sicer brezizgubno in izgubno procesiranje.
Brezizgubno stiskanje ponuja možnost obnovitve datoteke v izvorno stanje brez izgube
kakšnega bita podatka. Izgubno stiskanje trajno odstrani bite podatka, ki so redundantni in
nepomembni. Uporabno je predvsem pri grafikah, zvoku, videu in slikah.
Stiskanje grafike je lahko izgubno in brezizgubno. Za ta namen imamo različne formate za
grafiko, kot so JPEG, GIF in PNG. Format JPEG podpira izgubno kompresijo, GIF in PNG
pa brezizgubno kompresijo.
Slika 2: Primer stiskanja
Slika 2 prikazuje metodo stiskanja, ki se imenuje RLE (angl. run-length encoding). Metoda
zamenja sekvenco s simbolom, ki mu sledi število pojavitev te vrednosti. Primer pove, da
imamo sekvenco znakov D in da obstaja možnost kompresije na ta način. Sledijo simbol
(“!”), vrednost in število pojavitev vrednosti.
Sistemi za upravljanje multimedijskih vsebin
9
2.5 Video
Video je bistvena komponenta sistema za upravljanje vsebin. Različni digitalni formati
morajo biti upravljani, skladiščeni in administrirani v sistemu. Glavni formati v video
produkciji temeljijo na MPEG- in DV-kodiranju.
Video je predstavljen s številom točk (angl. Pixel), ki so najmanjša enota v sliki. Razmerje
v videu nam pove višino in širino slike, ki je po standardu 4:3. Vertikalna resolucija velja
kot število točk, razporejenih po višini slike, in širina slike je enaka horizontalni resoluciji.
Primer je format NTSC, ki ima 525 horizontalnih vrstic in 700 vertikalnih vrstic.
Barva v videu je pridobljena s kombinacijo treh signalov, in sicer relativne intenzivnosti
rdeče, zelene in modre svetlobe (RGB).
Proces video kodiranja ima namen, da kodira vsako različno barvno komponento v sliki. S
tem poznamo dva tipa kodiranja. Prvi je kodiranje kompozicije, drugi pa kodiranje
komponente.
2.6 Zvok
Podobno kot video, zvok spada med neprekinjene medije in v sistemu je nujno potrebno,
da se ga da upravljati. Zbok je lahko analogno ali digitalno zapisan. Analogni posnetek
shrani izvorni zvok tako, da spremeni fizični medij, kot je magnetni trak. Digitalni pa
spremeni posnetek v zaporedje številk, ki se lahko elektronsko shranijo in nato pri
predvajanju pretvorijo nazaj v zvok.
Pri digitalnem zvoku so pomembni še pojmi, kot so bitna globina, kodek, stiskanje in
frekvenca vzorčenja.
Bitna globina digitalnega posnetka opisuje, koliko bitov je uporabljenih za shranjevanje
posameznega vzorca analognega signala. Standardna globina za zvočno zgoščenko je 16,
pri čemer je frekvenca vzorčenja 44,1 kHz, to pomeni, da je bilo zajetih 44.100 vzorcev na
Sistemi za upravljanje multimedijskih vsebin
10
sekundo in da vsak vzorec shrani 16 bitov informacij. Večja kot je bitna globina,
kakovostnejši je zvok, posledično pa se spremeni velikost datoteke.
Frekvenca vzorčenja je časovni interval med vzorci. Višja kot je frekvenca vzorčenja, manj
je izpuščenega in posledično je tudi boljša kakovost zvoka.
Digitalni zvok prehaja skozi kodirnik/dekodirnik, ki je del programske ali strojne opreme,
ki vzame analogni zvočni signal in ga zakodira v digitalno obliko zapisa, ki jo je mogoče
elektronsko shraniti. Med predvajanjem kodek dekodira digitalno datoteko in tako ustvari
zvok.
Pri snemanju digitalnega zvoka lahko nastanejo velike datoteke, kar pomeni, da ne
moremo uporabiti navadne tehnologije. Zato je treba v večini oblik zapisov zvočnih
datotek uporabiti določeno obliko stiskanja, ki odstrani nekatere zvočne informacije, da se
zmanjša velikost datoteke. Stiskanje pa pusti za sabo tudi nekaj posledic, in sicer predvsem
za kakovost zvoka. Stiskanje je lahko izgubno in brez izgubno. Stiskanje z izgubo odstrani
informacije iz zvoka, medtem kot stiskanje brez izgube ohrani vse zvočne informacije in
omogoča obnovitev zvočnih informacij. Najpogosteje uporabljeni kodiranji sta MPEG-1 in
MPEG-4 [1].
2.7 Slike, splet, besedilo
Poleg zvoka in videa obstajajo še drugi formati jedra. To so slike, splet in besedilo. Vsak
od teh ima več različnih formatov zapisa. Na primer besedilo je lahko zapisana v formatu
PDF, RTS in ASCII.
Sistem za upravljanje mora poskrbeti, da so vsi dokumenti indeksirani, da se jih kasneje
lahko z enostavnimi zahtevki poišče, in da so prikazani v izvirnem zapisu.
Sistemi za upravljanje multimedijskih vsebin
11
2.7.1 Slika
Slike so lahko vizualne, fotografske ali grafične predstavitve objektov ali scen. Prikazujejo
določen dogodek znotraj dvodimenzionalnega okolja brez kakšnih omejitev. Spadajo med
diskretne medije. V sistemu za upravljanje vsebin je slika prikazana v digitalnem
slikovnem formatu ali kot povezava na zunanji vir slike.
Tehnično gledano, je slika predstavitev z vrednostmi svetlobne intenzivnosti v vsaki točki
ravnine. Digitalna slika je predstavljena z diskretnimi intervali in kvantitizatorji vrednosti
vzorčenja. Vzorčene vrednosti so točke v sliki oziroma piksli. Najbolj uporabljeni formati
slike so JPEG, GIF, TIFF in BMP.
2.7.2 Spletne strani in HTML
Spletne strani so kombinacije besedila, slik, grafik, zvokov, video elementov in celo
določenih izvršilnih programov. Dokumenti so shranjeni na strežniku in jih lahko
uporabniki pridobivajo.
Za različne elemente spletne strani ni potrebno, da so kodirani, ampak je dovolj, da obstaja
samo referenca oziroma povezava. Če v sistemu upravljamo spletne strani, je treba določiti
obseg dokumenta, saj so lahko na primer videi in slike zunaj podjetja oziroma organizacije,
vse, kar je potrebno, je povezava nanje.
Spletna stran je napisana v označevalnem jeziku HTML. HTML je enostaven označevalni
jezik, ki vsebuje elemente, sestavljene iz značk. Pišemo ga lahko v vsakem urejevalniku
besedil. Sintaksa HTML jezika je takšna, da je element sestavljen iz določenih oklepajev
(“<p>”) znotraj vsebine strani, zapisanih v parih. Znotraj para značk upravljalec vpiše
poljubno besedilo in ga lahko tudi gnezdi.
Oblikovalec lahko določi poljuben slog določenega elementa, in sicer to naredi z jezikom
CSS. CSS (angl. Cascading Style Sheets) je jezik za formatiranje in določanje videza
elementov, zgrajenih v jeziku HTML [2].
Sistemi za upravljanje multimedijskih vsebin
12
3 OSNOVNI MODEL
Sistem za upravljanje vsebin je sestavljen iz dveh glavnih delov, to sta strojna in
programska oprema. Preden želi podjetje imeti ta sistem, mora obvezno posredovati
ustrezna sredstva za skladiščenje, procesiranje in toke prenosa vsebine. Arhitektura sistema
mora podpirati vse zahteve in poteke dela organizacije in mora imeti možnost integracije
znotraj sistema organizacije ali ga celo zamenjati.
Podjetje ima vsako leto drugačne delovne procese in toke, zato postaja vse večja potreba
po novih načinih procesiranja, prenosa, arhiviranja vsebine ter podpori produkciji, zato
mora biti sistem prilagodljiv. Sistem mora torej biti pripravljen na spremembe, ki se bodo
zgodile v prihodnosti, s tem pa se posledično lahko nadgradi strojna oprema (večje
kapacitete, menjava kablov, strežnikov).
3.1 Arhitektura programske opreme
Preden se predlaga bolj kompleksna arhitektura za upravljanje vsebine, je treba poznati
osnovni model in osnovne komponente sistema (upravljanje podatkov).
Sistemi za upravljanje multimedijskih vsebin
13
Slika 3: Osnovna arhitektura sistema
Slika 3 prikazuje osnovni model sistema. Komponente, ki sestavljajo osnovni model, so
modul za ustvarjanje vsebine, modul za dokumentiranje, modul za upravljanje podatkov,
modul za upravljanje jedra ter modul za avtomatsko pridobivanje podatkov vsebine
direktno iz jedra.
Modul za ustvarjanje vsebine obsega načrtovanje programov, urejanje produkcije,
načrtovanje in predvajanje. Modul za dokumentiranje obsega indeksiranje in različne vrste
kategorizacije. Modul za avtomatsko pridobivanje vsebine pa vsebuje nove tehnologije, ki
avtomatsko pridobi indeksirano informacijo iz jedra (zvočna analiza, zaznavanje zvoka).
3.1.1 Upravljanje jedra
Upravljanje jedra je zadolženo za vse operacije, ki so povezane s skladiščenjem in z
uporabo jedra. Skrbi tudi za zahtevke odjemalcev, ki so upravljani po določenem
zaporedju.
Upravlja se dostop do sistema za upravljanje skladiščnih sistemov (strežniki za upravljanje
arhivov), migriranje datotek med »online« in »offline« skladiščenjem (kontrola strežnika
za prenos arhivov), ustvarjanje množičnih kopij datotek v arhiv, vsebino in integriteto
»online« skladiščnega sistema (strežnik za začasno shrambo – Cache), prenos vsebine
Sistemi za upravljanje multimedijskih vsebin
14
klientom s povezavo do oddajnih strežnikov (angl. streaming servers) ter dostavljanje jedra
na oddaljene skladiščne sisteme (strežniki za prenos).
Glavne komponente upravljanja jedra so storitve za upravljanje skladiščenja, ki skrbijo za
prenos podatkov znotraj hierarhije skladišča v različno nastavljene skladiščne politike.
Nato so še storitve za pretvorbo formatov, storitve za prenos podatkov in podatkovna baza,
ki nosi metapodatke (formati, bitna globina, barvna globina itd.), ter za upravljanje
podatkov (lokacija, velikost datoteke itd.).
3.1.2 Upravljanje podatkov
V informacijski tehnologiji je upravljanje podatkov sestavljeno iz podatkovnih baz in
iskalnih strojčkov. Upravljanje podatkov je zadolženo za organizacijo in upravljanje
opisnih metapodatkov, ki predstavljajo jedro. Opisni metapodatki so ključni za izkoriščanje
programov ali elementov vsebine.
Sistem za upravljanje vsebine poleg upravljanja in shranjevanja podatkov ponuja
specializirane aplikacije za podporo določenim indeksiranimi tokom. Primeri aplikacij so
notacija v realnem času (novice, športni dogodki), kategorizacija v globino ter avtomatsko
pridobivanje podatkov iz jedra.
Sistemi za upravljanje multimedijskih vsebin
15
4 ZASNOVA PROGRAMSKE REŠITVE
V diplomski nalogi smo se odločili za implementacijo osnovnega modela oziroma
prototipa sistema za upravljanje multimedijskih vsebin. Realizacijo implementacije smo
izvedli v okolju ExtJS in programskem jeziku PHP. Za načrtovanje podatkovne baze in
upravljanje z metapodatki pa je bila uporabljena aplikacija PHPmyAdmin, ki ponuja
popolni nadzor nad podatkovno bazo. Skupek tehnologij se imenuje LAMP (Linux,
Apache, MySQL, PHP) in označuje odprtokodno programsko opremo. Ta programska
oprema tvori delujoč spletni strežnik, ki je sposoben gostovanja dinamične spletne stvari.
4.1 Uporabljene tehnologije
4.1.1 ExtJS
Ext JS je odprtokodna JavaScript knjižnica za gradnjo interaktivnih spletnih aplikacij z
uporabo tehnik, kot so AJAX, DHTML in DOM skript. Je enostaven za uporabo, ima
bogat uporabniški vmesnik in je videti kot namizna aplikacija. Za uporabo moramo s spleta
prenesti knjižico in jo vključiti v naše programsko okolje [7].
Slika 4: Ext JS logotip
Sistemi za upravljanje multimedijskih vsebin
16
4.1.2 PHP
PHP (angl. PHP Hypertext Preprocessor) je razširjen odprtokodni programski jezik, ki se
uporablja za strežniške uporabe oziroma za razvoj dinamičnih spletnih vsebin. Lahko ga
primerjamo z Microsoftovim sistemom ASP, VBScript in JScript in Java.[9]
Slika 5: Logotipi uporabljenih tehnologij
4.1.3 PHPmyadmin
PHPmyadmin je brezplačno in odprtokodno orodje, napisano v programskem jeziku PHP
za upravljanje MySQL podatkovnih baz prek spletnega brskalnika. Orodje nam omogoča
popolno upravljanje operacij CRUD nad podatkovnimi bazami kot tudi izvajanje poizvedb
SQL in nastavljanje uporabnikovih pravic.
4.1.4 JavaScript
JavaScript je skriptni programski jezik. To pomeni, da se programska koda ne prevaja v
strojni jezik, ampak se interpretira v trenutku izvajanja. Ker je odprtokodni jezik, ga lahko
Sistemi za upravljanje multimedijskih vsebin
17
uporablja vsak, ne da bi pri tem potreboval licenco, in je podprt s strani velikih
programskih podjetij. Izvaja se na strani odjemalca [8].
4.1.5 AJAX
AJAX (asinhroni JavaScript in XML) je skupina med seboj povezanih spletnih razvojnih
tehnik, uporabljenih za gradnjo dinamičnih spletnih aplikacij. Z AJAX se kreira zahteva in
se pošlje na določeno stran, nato se pridobijo povratne informacije, ki jih vrne strežnik.
AJAX deluje asinhrono, torej se zahteva kreira, ko je stran že naložena. S tem je mogoče
hitrejše spreminjanje vsebine strani.
4.1.6 JSON
JSON je preprost format za izmenjavo podatkov. Temelji na jeziku JavaScript. Je
enostaven za branje in pisanje tako ljudi kot računalnikov. Zaradi teh lastnosti je format
JSON idealen za izmenjavo podatkov. Temelji na dveh strukturah, ki jo prepoznajo
praktično vsi moderni programski jeziki:
zbirka parov ime/vrednost. V večini jezikov realiziran kot objekt,
urejen seznam vrednosti. V večini jezikov je realiziran kot polje.
Sistemi za upravljanje multimedijskih vsebin
18
5 REALIZACIJA REŠITVE
5.1 Opis modulov
5.1.1 Predvajalnik
Za ponovno predvajanje videa na avdio objektih na namiznih aplikacijah je zahtevano, da
se uporabi medijski predvajalnik. Modul predvajalnik vsebuje funkcionalnosti, kot so
začni, ustavi, počakaj in ponovno predvajaj vsebino. Funkcionalnost je tudi navigacija za
hitro premikanje naprej/nazaj (idealno z izbrano hitrostjo po vsebini). Kontroler
predvajalnika vsebuje tudi kontrolo zvoka in razmerje zvoka. Zraven je potrebna še izbira
velikosti predvajalnika oziroma prilagajanje okna videu.
5.1.2 Seznam datotek
Seznami datotek so zelo pomembni moduli, ki nam omogočajo pregled datotek, ki so bile
naložene v sistem, in ponuja veliko funkcionalnosti. Funkcionalnosti, ki jih zagotavlja
modul, so dodajanje in brisanje datoteke, spreminjanje atributov datoteke, spreminjanje
zaporedja predvajanja in sekvence, aktivacija/izklop datotek in sekvence, aktivacija/izklop
video- in avdio skladb, in ponuja konfiguracije za urejanje atributov datotek (komentarji,
dolžina, naziv datoteke …) ter konfiguracije za urejanje sekvenčnih atributov (komentar,
naziv sekvence, dolžina …).
Seznam datotek ima torej dva pod modula, in sicer prvega, ki shrani in upravlja seznam
datotek, in drugega, ki zagotavlja grafični prikaz za seznam datotek.
Sistemi za upravljanje multimedijskih vsebin
19
5.1.3 Časovnica
Modul časovnica je uporaben za urejanje aplikacije. Najbolj zanimive funkcionalnosti so
na primer prikaz časovnice s točkami za začetek in konec okvirja za vsak klip. Zraven
spada še prikazovalnik avdio- in video skladb z možnostjo deaktivacije/aktivacije ter
vstavljanja datoteke v datoteko.
5.1.4 Plošča za upravljanje naprav
Aplikacije naj bi omogočale kontrolo za oddaljene naprave, na primer video snemalnike.
Odvisno od naprave, lahko modul ponudi različne funkcionalnosti. V glavnem lahko
ponuja oddaljen nadzor nad napravo, in sicer tako, da prek uporabniškega vmesnika
zaženemo napravo, začnemo snemati, prenehamo snemati, predvajamo vsebino in tako
dalje.
5.1.5 Urejevalnik metapodatkov
V vsaki aplikaciji naj bi bil modul za urejanje metapodatkov, ki uporabniku ponuja
dodajanje ali spreminjanje metapodatkov.
Funkcionalnosti, ki so vključene v ta modul, so naslednje:
ponuja predlogo, ki omogoča urejanje podatkov vseh podatkovnih tipov,
pridružuje privzete vrednosti polj,
ponuja seznam mogočih vrednosti polj,
ponuja sredstva za pregled doslednosti, ki vključujejo poljubna polja,
ponuja polja za avtomatsko izpolnjevanje vrednosti polj, ki temeljijo na pravilih
ostalih vrednosti polj,
ponuja črkovalnik,
ponuja definiranje zahtevanih in opcijskih polj.
Sistemi za upravljanje multimedijskih vsebin
20
5.1.6 Vmesnik za iskanje
Vmesnik za iskanje je modul, ki ponuja enostaven iskalni vmesnik, kot je na primer spletni
iskalnik. Odvisen je od uporabnika, bodisi da je uporabnik začetnik bodisi napredni
uporabnik. Vsebuje lahko spustne sezname in prikaz približnih rezultatov iskanj. Še bolj
uporabniško prijazno je, da lahko modul shrani in povrne iskalne pogoje, ki jih je
uporabnik pred tem vnesel.
5.1.7 Seznam zadetkov
Ta modul ponuja prikaz rezultatov iskanja. Konfiguracije, ki spadajo pod upravljanje
modula, so:
aktivacija/izklop zaslona z ikonami,
prikaz metapodatkov za vsak rezultat,
sekundarne informacije, ki so pridobljene iz drugih informacijskih sistemov
(število kopij, razpoložljivost),
celoten vmesnik seznama zadetkov.
5.1.8 Kontrola vhodnih podatkov
Naloga kontrole vhodnih podatkov je, da se iz datoteke oziroma vsebine razbere, kakšen
format ima ter katere metapodatke vsebuje vsebina. Vsebina je lahko sprejeta, zavrnjena ali
celo označena kot nezaželena oziroma ustrezno avtorizirana.
Uvoz
Uvoz spada med kontrole vhodnih podatkov. Funkcija uvoza je, da se datoteka prek
ustreznega uporabniškega vmesnika naloži v sistem.
Uvoz tako poveže datotečni format in pridobi metapodatke datoteke kot tudi jedro.
Funkcije, ki naj bi jih imel uporabniški vmesnik, so:
izbira sistema vira,
Sistemi za upravljanje multimedijskih vsebin
21
izbira datotek za uvoz,
izbira dodatnih formatov,
izbira dodatnih povezav,
minimalne spremembe metapodatkov,
ustvarjanje novega objekta,
ročna zaustavitev/začetek uvoza,
razpored serij uvoza,
informacija o stanju uvoza.
5.1.9 Dokumentiranje podatkov
Dokumentiranje podatkov vsebuje skupek funkcij, ki nudijo podporo notaciji vsebine.
Tesno so povezani z metapodatki, saj je z njimi mogoče posodobiti aktualne metapodatke
vsebine. Poznamo dve vrsti dokumentiranja podatkov, to sta katalogizacija v globino in
beleženje dogodkov (angl. logging).
Kontrola dogodkov
Za kontrolo dogodkov je potrebna storitev, ki skladno s časom zabeleži dogodek. Klient
ustvari datoteko, v katero se zapisujejo podatki o vhodnih datotekah (čas uvoza, ime
datoteke, pot do datoteke, velikost, dolžina, lokacija). Potrebna je za sledenje datotekam,
saj lahko pride do okužbe zaradi virusa ali kakšnih napak, ki so bile zabeležene.
Katalogizacija
Podobno kot pri kontroli dogodkov se proces katalogizacije izvaja na klientu za
katalogizacijo. Klient prikaže rezultate analize ter omogoča uporabniku, da lahko spremeni
metapodatke ali pa celo doda nove informacije.
Sistemi za upravljanje multimedijskih vsebin
22
5.1.10 Pridobivanje podatkov
Pridobivanje podatkov je eden izmed najbolj pomembnih procesov v sistemu. Podatki se
pridobivajo tako, da uporabnik prek ustreznega uporabniškega vmesnika sestavi
poizvedbe, jih potrdi in v seznamu zadetkov se prikažejo pridobljeni podatki. Poleg tega
procesa zraven spadajo še procesi razvrščanja, zbiranja, iskanja in predstavitve.
Iskanje, predstavitev, razvrščanje
Glavna naloga orodja za iskanje je iskanje in prikaz zadetkov poizvedbe. To uporabniku
omogoča izbiro zadetka za pregled. Za operacije s procesi pridobivanja podatkov skrbi
klient za pridobivanje podatkov. Ta vsebuje procese poizvedbe, prikazovanje rezultatov
kot seznama zadetkov in ocenjevanje kakovosti zadetkov v bolj podrobnih pogledih.
Sortiranje je proces, pri katerem lahko sortiramo seznam zadetkov, odvisno od atributov, ki
so v podatkovni bazi (naziv, datum, številka itd.).
5.1.11 Kontrola izhodnih podatkov
Vsebina, ki se uporablja v sistemu, se lahko prenese v druge sisteme s pomočjo storitve za
izvoz podatkov (angl. export). Proces izvoza podatkov sestavljata uporabniški vmesnik,
kjer uporabnik izbere datoteke, ki jih želi izvoziti, ter izbira formata za izvoz (XLS, JPG,
PNG itd.).
Poleg izbire datotek naj bi uporabniški vmesnik omogočal urejanje opisnih metapodatkov,
izbiro, kam naj se prenesejo izbrani podatki, ročno ustavitev/začetek procesa izvažanja
podatkov, razpored izvoza individualnega izvoza in razpored večjega števila individualnih
procesov (vrsta).
Sistemi za upravljanje multimedijskih vsebin
23
Sistemska administracija
Sistemska administracija in spremljanje sistema je eden izmed glavnih delov sistema za
upravljanje vsebine. Predstavlja ga prijazen uporabniški vmesnik, prek katerega ima
uporabnik nadzor nad procesi v sistemu. Procesi izvajajo nadzor nad storitvami in
odjemalci.
Funkcionalnosti, ki naj bi bile podprte v modulu sistemske administracije, so
vklop/izklop/ponovni zagon servisa na strežniku/strežnikih,
vpogled v posamezen servis (informacije o porabi, status …),
nastavljanje vodnih žigov in politike,
definiranje shem za analize,
spreminjanje strukture podatkovnih baz,
upravljanje uporabniških in skupinskih pravic.
5.2 Implementacija
S pomočjo tehnologij smo izdelali prototip sistema za upravljanje multimedijskih vsebin
oziroma modulov, ki sestavljajo sistem. Vse se začne z idejo in načrtovanjem. Načrt je bil
dejansko že predstavljen v teoriji, nato smo implementirali module, ki omogočajo določene
funkcionalnosti. Namen realizacije sistema za upravljanje vsebin je prikazati osnovne
module in morebiten prototip v novem okolju, ki bi lahko bil uporaben, ter spoznati nove
tehnologije, ki nam jih ponujajo odprtokodni ponudniki. Za module smo se odločili zato,
ker jih je zelo enostavno prenesti v drug sistem in se zmanjša ponavljanje kode. To
pomeni, da izberemo modul in ga prekopiramo na drugi strežnik. Predpogoj je, da so na
strežniku že naložene pravilne različice PHP in JavaScript knjižnic.
Pred načrtovanjem smo si pripravili strežnik, na katerem naj bi deloval naš sistem za
upravljanje. Na strežnik je bilo treba naložiti knjižnice, ki so bile nujne za realizacijo
našega projekta. Ko smo imeli vse knjižnice pripravljene, je bilo treba določiti
organizacijo, kako bomo imeli razporejene datoteke. Organizacija je bila takšna, da smo
imeli več map in podmap, ki so vsebovale module, v modulih pa mape z AJAX-klici in
Sistemi za upravljanje multimedijskih vsebin
24
datoteke s kodo JavaScript. Slika 6 prikazuje dejansko skriptno kodo okolja ExtJS. V tem
okolju je vedno potrebno, da se ustvari pogled (angl. viewport), ki vsebuje ploščo (angl.
panel) z vsebovanimi gumbi.
Slika 6: Gradniki Ext JS
Kot rezultat slike 6, ki ponazarja kodo ExtJS dobimo enostaven uporabniški vmesnik z
gradniki.
Slika 7: Glavni meni aplikacije
S klikom na različne gumbe v spustnem seznamu se naloži tabela z določenimi podatki.
Podatke pridobimo iz podatkovne baze in jih v skriptni kodi obravnavamo kot objekt v
Sistemi za upravljanje multimedijskih vsebin
25
zapisu JSON. Podatki se pridobijo tako, da se z zahtevkom POST, ki vsebuje parameter
»akcija«, kliče metoda AJAX z nazivom, ki ga nosi parameter. Slike 8,9,10 in 11
prikazujejo, kako na brskalniku preverimo, da se je poslal zahtevek in da je bil zahtevek
pravilno obdelan, in posledično, da pridobimo pravilne podatke.
S klikom na gumb se kliče metoda POST, ki na strežnik pošlje parametre (»akcija«,
»limit«, »page«, »start«). Parametri se nato v metodi AJAX uporabijo za pridobivanje
točno določenih podatkov.
Slika 8: Primer zahtevka POST
V datoteki AJAX se nato preveri, kakšen je naziv parametra »akcija« in ta metoda se
izvede. Če se metoda uspešno izvede, nam vrne objekt JSON, v nasprotnem primeru pa
obvestilo o napaki, bodisi da ni podatkov bodisi da je prišlo do napake pri izvedbi
poizvedbe (SQL).
Slika 9: Primer metode AJAX
Sistemi za upravljanje multimedijskih vsebin
26
Slika 10: Objektni zapis JSON, ki ga pretvori brskalnik
Slika 11: Zapis JSON, ki ga pridobimo s strežnika prek metode AJAX
5.2.1 Prijava v sistem
Preden se želi uporabnik prijaviti v sistem, je potrebno, da mu sistemski administrator
dodeli uporabniško ime in geslo ter ustrezne pravice. Ko uporabnik prejme svoje
uporabniško ime in geslo, je potrebno, da se ob prvi prijavi spremeni geslo, ki mora biti
vsaj 8 mest dolgo in vsebovati vsaj eno številko, ostalo pa črke. Pri implementaciji prijave
v sistem je bilo treba upoštevati varnostna opozorila. Ta opozorila so namenjena
preprečevanju vdorov in neavtoriziranega dostopa v sistem. Primeri vdorov so neposredni
SQL-ukazi, skripte med spletnimi mesti, manipulacija parametrov in URL-kodiranje.
Sistemi za upravljanje multimedijskih vsebin
27
Slika 12: Prijava v sistem
Slika 13: Opozorilo o neuspešni prijavi
5.2.2 Upravljanje uporabnikov
Sistemski administrator oziroma uporabnik, ki ima pravico za upravljanje uporabnikov,
lahko uporabnike dodaja, briše, ureja in razvršča. S klikom na upravljanje uporabnikov se
uporabniku prikaže seznam vseh uporabnikov, ki so v sistemu. Seznam ponuja sortiranje,
brisanje in urejanje posameznega uporabnika. Pri vnosu in urejanju uporabnika je treba
izpolniti vsa vnosna polja, sicer se po potrditvi podatkov prazna polja obarvajo rdeče.
Sistemi za upravljanje multimedijskih vsebin
28
Okno za urejanje je podobno kot okno za dodajanje, le da se v polja naložijo podatki o
izbranem uporabniku.
Slika 14: Seznam uporabnikov
Slika 15: Okno za dodajanje uporabnika
5.2.3 Upravljanje pravic in uporabnikov
Vloge zaposlenih v podjetju so uporabljene za zbiranje pravic, ki v določenem obsegu
odražajo funkcijo znotraj portala. Z uvedbo pravic se uporabniku omeji dostop do
specifičnih funkcij v portalu. V aplikaciji smo implementirali sezname, ki prikazujejo
seznam pravic, seznam uporabnikov in seznam uporabnikov, ki imajo izbrano pravico.
Dodeljevanje pravic deluje tako, da se najprej izbere pravica in se naloži seznam
uporabnikov s to pravico. Nato v seznamu uporabnikov prenesemo (angl. Drag and Drop)
Sistemi za upravljanje multimedijskih vsebin
29
uporabnika v seznam uporabnikov s to pravico. Če uporabnik že ima to pravico, se izpiše
obvestilo.
Slika 16: Seznami za upravljanje uporabniških pravic
Slika 17: Dodajanje pravic uporabniku
5.2.4 Arhiviranje dogodkov
Vsak dogodek, ki se je zgodil na portalu, mora biti zabeležen. Beleženje dogodkov je
izboljšan nadzor nad sistemom, saj lahko sistemski administrator ugotovi nepravilnosti v
sistemu. Na našem portalu smo implementirali seznam zabeleženih dogodkov. Seznam
vsebuje atribute, kdaj se je dogodek zgodil, poizvedba (SQL), ali se je poizvedba uspešno
končala in kdo je sprožil dogodek. Seznam dogodkov prav tako ponuja iskanje poizvedb,
Sistemi za upravljanje multimedijskih vsebin
30
in sicer kakšen tip poizvedbe je bil (INSERT, UPDATE, DELETE), kdo je izvedbo
sprožil, ali se je izvedba izvršila pravilno in med katerima datumoma se je dogodek zgodil.
Zaradi velikega števila zapisov je bilo treba urediti številčenje strani oziroma določiti,
koliko rezultatov naj vrne poizvedba v zahtevku POST. To je bilo narejeno zato, ker se
sistem bistveno upočasni, če se naenkrat naloži prek milijon podatkov.
Slika 18: Arhiviranje dogodkov
5.2.5 Kontrola strežnika
V sistemu ima upravljalec sistema pravico, da lahko nadzoruje opravila, ki se dogajajo na
strežniku. Z izbiro opravila se mu prikažejo podatki o strežniku in izbranem opravilu, ki je
na strežniku. Uporabnik ima možnost dodajanja strežnika, dodajanja opravil na strežnik in
pregleda seznama opravil pod posamičnim strežnikom (poraba, število opravil skupaj,
število aktivnih opravil, število neaktivnih opravil, zasedenost strežnika). Namen kontrole
strežnikov je, da se na posameznem strežniku ne izvajajo nepotrebna opravila. S tem pa se
tudi izboljša delovanje celotnega sistema.
Sistemi za upravljanje multimedijskih vsebin
31
Slika 19: Upravljanje opravil na strežnikih
5.2.6 Globalne nastavitve sistema
Sistemski administrator ima možnost spreminjanja globalnih nastavitev sistema oziroma
posameznega modula. Globalne nastavitve so na primer sprememba jezika, sprememba
dovoljenih formatov vhodnih podatkov pri uvozu datotek, datumskih formatov, formatov
števil, nazivov v menijih in seznamih, podatkovnih baz in protokola FTP. Z izbiro področja
se nam prikažejo nastavitve, ki jih lahko sistemski administrator upravlja. Pri vsaki
spremembi se prikaže obvestilo z gumbi, ki ga lahko uporabnik potrdi ali zavrne.
Sistemi za upravljanje multimedijskih vsebin
32
Slika 20: Upravljanje globalnih nastavitev modulov
5.2.7 Upravljanje zunanjih naprav
Namen modula za upravljanje zunanjih naprav je, da se prek portala nadzira delovanje
zunanjih naprav, ki so registrirane pri podjetju. Oddaljena naprava bi potrebovala dodaten
čip oziroma oddajnik, ki bi na strežnik poslal trenutne informacije, in sprejemnik, ki bi z
našega sistema prejel informacije o zahtevi in jih znal raztolmačiti. Pri upravljanju
zunanjih naprav smo simulirali, kako bi podali zahtevo za prekinitev, zagon in zajem
podatkov znotraj sistema.
Slika 21: Upravljanje zunanjih naprav
Sistemi za upravljanje multimedijskih vsebin
33
5.2.8 Uvoz slikovnih virov v sistem
Sistem za upravljanje vsebin brez uvoza vsebine ne more delovati, saj potem ne bi imeli
dela s podatki, ki bi jih pridobili iz slikovnih virov. Implementirali smo modul za ročni
uvoz slik z našega računalnika, s pametnega telefona in tablice. S klikom na uvoz vsebine
se uporabniku prikaže okno za nalaganje datotek. Pri tem ima možnost, da lahko naloži več
datotek hkrati prek navadnega vmesnika ali pa s funkcionalnostjo izberi in prenesi (angl.
Drag and Drop). Pri uvozu je treba biti previden, saj smo uvoz omejili zgolj za slikovne
vire (JPG, JPEG, PNG) in imajo velikost, manjšo od 3 megabajtov. Ko se datoteke uspešno
uvozijo, se prikaže seznam uvoženih datotek. Po zaprtju okna za uvoz slik se osveži
seznam vseh nerazvrščenih slik.
Slika 22: Uvoz slikovnih virov
5.2.9 Izvoz slikovnih virov
Uporabnik ima na voljo izvoz datoteke na računalnik. Seznam slik ponuja izbiro datotek.
Ko so datoteke izbrane, uporabnik klikne na gumb za izvoz in prikaže se mu trenutni potek
Sistemi za upravljanje multimedijskih vsebin
34
prenosa datotek. Izvoz ponuja tudi prenos različnih formatov datotek, in sicer se
uporabniku z izbiro posamezne datoteke prikaže obvestilo, v katerem si izbere način
prenosa datoteke (JPG, PNG …). Ko se prenos uspešno zaključi, se uporabniku prikaže
obvestilo o uspešnem prenosu datotek, v nasprotnem primeru pa se izpiše opozorilo, da je
prišlo do napake pri prenosu datoteke.
Slika 23: Okno za potrditev izvoza datotek
5.2.10 Urejanje slikovnih virov
Glavna funkcionalnost sistema za upravljanje vsebin je urejanje slikovnih virov.
Uporabniku se prikaže seznam slik, ki jih je uvozil v sistem, in seznam albumov, ki jih je
ustvaril. Uporabnik ima sedaj možnost ustvarjanja albuma, tako da lahko naložene slike
poljubno razvršča. Z dvoklikom na sliko se mu prikaže okno s pomanjšano sliko in podatki
o sliki (podatki o datoteki, metapodatki, ki so shranjeni v sliki). Podatke iz slik smo
pridobili s PHP-razredom »exif«, ki ponuja mnogo metod za pridobivanje podatkov. V
PHP-datoteki je bilo treba ustvariti povezavo na razred »exif« in prek razreda uporabljati
metode. Pridobili smo podatke o izvoru, datumu zajema, podrobnejše podatke o
kompoziciji, zaslonki, kraju zajema (koordinate GPS) in vrsti kodiranja.
Sistemi za upravljanje multimedijskih vsebin
35
Slika 24: Urejanje metapodatkov slike
Sistemi za upravljanje multimedijskih vsebin
36
Slika 25: Dodajanje albuma
Slika 26: Definiranje tabele albumov
Slika 27: Definiranje pogleda posameznega elementa v tabeli
Sistemi za upravljanje multimedijskih vsebin
37
Slika 28: Definiranje skladišča za tabelo z albumi
Slika 29: Metoda AJAX, ki vrne seznam albumov
5.2.11 Administracija datotek
Uporabnik d pravico administracije datotek ima možnost urejanja datotek, ki so jih naložili
uporabniki. Prikaže se mu seznam z vsemi naloženimi datotekami, ki jim potem lahko
Sistemi za upravljanje multimedijskih vsebin
38
doda dodaten opis, jih izbriše in uredi. Če pride do kakšnih neželenih datotek, se osebi, ki
je uvozila datoteko, pošlje opozorilo, da datoteka ni primerna za sistem. Uporabnik mora
pri tem upoštevati, kakšno politiko imajo v podjetju, da lahko izda pravilno opozorilo o
neželenih datotekah.
Sistemi za upravljanje multimedijskih vsebin
39
6 SKLEP
V diplomski nalogi smo spoznali osnovne principe delovanja sistema za upravljanje
multimedijskih vsebin, njegov namen, cilje in module, ki ga sestavljajo. Sistem za
upravljanje vsebin lahko pomaga predvsem pri urejanju podatkov, ki so bili pred tem
nekonsistentni, nedopolnjeni oziroma pomanjkljivi in redundantni. Spoznali smo tudi
različne vrste vsebin, ki imajo svojevrstna kodiranja, ter formate in kako se lahko velikost
vsebine bistveno zmanjša s procesoma kompresije in kodiranja. Za podjetje, ki bi želelo
imeti takšen sistem, je pomembno, da se seznani s strategijo informatiziranja. S to
strategijo mora podjetje točno določiti, predvsem s kakšnimi vsebinami se bo ukvarjalo,
kakšne podatke bi v grobem potrebovalo za delovanje sistema, in različne omejitve. Poleg
podatkov pa se je treba dogovoriti, kakšen strežnik bi podjetje potrebovalo za sistem,
bodisi nizkocenovni strežnik z malo prostora bodisi višje cenovni strežnik, ki ponuja večje
kapacitete ter hitrosti prenosa podatkov in obdelave podatkov na strežniku. Pomembno je
še spoznanje, kako se podatki med strežniki in klientom prenašajo po določenem principu,
ki smo ga spoznali v praktičnem delu diplomske naloge.
V praktičnem delu diplomske naloge smo predstavili tehnologije, ki so bile uporabljene pri
realizaciji prototipa sistema za upravljanje vsebin. Odločili smo se za novo okolje (Ext JS),
ga raziskali in na podlagi gradnikov sestavili model prototipa. Pri tem smo še predstavili,
kako se gradniki v okolju definirajo in kako se podatki s strežnika in nanj sploh prenašajo
(JSON, AJAX, POST-zahtevek).
Sistemi za upravljanje multimedijskih vsebin
40
VIRI IN LITERATURA
[1] Mauthe, A., Thomas, P. Professional Content Management Systems: Handling
Digital Media Assets., 2004.
[2] Amato, G., Gennaro, C., Rabitti, F., Savino, P. Milos: a Multimedia Content
Management System for Digital Library Applications. Pisa: ECDL 2004.
[3] Forstadius, J., Löytynoja, M. XML in Dynamic Multimedia Content Management.
Oulu: University of Oulu, 2001.
[4] Heery R., Lyon, L. Research and Advanced Technology for Digital Libraries. Bath,
Velika Britanija,European Conference, 2004.
[5] Chen, S. Methods and Innovations for multimedia database content management.
Florida, International University, 2012.
[6] Chia, Hon-Wai, Personal multimedia content management. Concordia University,
2002.
[7] Ext JS okolje, Sencha Guides. https://docs.sencha.com/ [1. 12. 2011].
[8] JavaScript programski jezik, http://www.w3schools.com/js/ [1. 12. 2011].
[9] PHP programski jezik. https://sl.wikipedia.org/wiki/PHP [1. 12. 2011].
[10] MVC arhitektura, http://welcome.totheinter.net/2008/08/05/mvc-pattern-for-the-web/
[1. 12. 2011].
Sistemi za upravljanje multimedijskih vsebin
41
Sistemi za upravljanje multimedijskih vsebin
42
Sistemi za upravljanje multimedijskih vsebin
43