Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management...

54
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

Transcript of Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management...

Page 1: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 2: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 3: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract
Page 4: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract
Page 5: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

i

ZAHVALA

Zahvaljujem se mentorju doc.

dr. Domnu Verberju za pomoč

in vodenje pri pisanju

diplomskega dela.

Page 6: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 7: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 8: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 9: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 10: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 11: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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)

Page 12: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 13: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 14: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 15: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 16: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 17: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 18: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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].

Page 19: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 20: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 21: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 22: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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].

Page 23: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 24: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 25: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 26: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 27: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 28: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 29: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 30: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 31: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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,

Page 32: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 33: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 34: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 35: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 36: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 37: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 38: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 39: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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)

Page 40: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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,

Page 41: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 42: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 43: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 44: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 45: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 46: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

Sistemi za upravljanje multimedijskih vsebin

35

Slika 24: Urejanje metapodatkov slike

Page 47: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

Sistemi za upravljanje multimedijskih vsebin

36

Slika 25: Dodajanje albuma

Slika 26: Definiranje tabele albumov

Slika 27: Definiranje pogleda posameznega elementa v tabeli

Page 48: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 49: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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.

Page 50: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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

Page 51: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

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].

Page 52: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

Sistemi za upravljanje multimedijskih vsebin

41

Page 53: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

Sistemi za upravljanje multimedijskih vsebin

42

Page 54: Diplomsko delo · iii Multimedia content management systems Keywords: multimedia content management system, PHP, LAMP, ExtJS UDK: 004.45.032.6+004.4'27(043.2) Abstract

Sistemi za upravljanje multimedijskih vsebin

43