Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone

Size: px
Start display at page:

Download "Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone"

Transcription

1 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Žiga Štamcar Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone Diplomsko delo Ljubljana, 2016

2

3 UNIVERZA V LJUBLJANI Pedagoška fakulteta Univerzitetni študijski program 1. stopnje Dvopredmetni učitelj - matematika in računalništvo Avtor: Žiga Štamcar Mentor: dr. Jože Rugelj, izr. prof. Somentor: as. Matej Zapušek Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone Diplomsko delo Ljubljana, 2016

4

5 Povzetek Ideja za to diplomsko delo izhaja iz elektronskega sporočila, ki sem ga prejel od OŠ Trebnje, v katerem so izrazili potrebo po sistemu za prijavo staršev na govorilne ure. Povedali so, da so starši v času govorilnih ur včasih zbegani, saj pred vrati nekaterih učiteljev stoji veliko staršev in tako med njimi nastaja zmeda in nepotrpežljivost. Predlagal sem spletno orodje, izdelano v sistemu za upravljanje vsebine, preko katerega bi se starši in skrbniki prijavljali na proste termine govorilnih ur. Tako bi vsi uporabniki lahko preko interneta izbrali prost termin in si na ta način prihranili čakanje v vrstah in zmedo, ki pri tem nastaja. Zasnova takega orodja se mi je zdela zanimiv izziv in hkrati dovolj zanimiva ter obvladljiva tema za strniti v to diplomsko delo. Orodje sem se odločil zasnovati v sistemu za upravljanje vsebine Plone. Bralca tega diplomskega dela bom zato najprej seznanil s sistemi za upravljanje vsebine na splošno, potem bom predstavil ključne sestavne dele sistema Plone in jih nato prikazal na konkretnem primeru zasnove spletnega orodja za prijavo na govorilne ure. Pri predstavitvi orodja bom opisal vse njegove funkcionalnosti, ki bi zadoščale za najbolj osnovno verzijo takega orodja in jih podkrepil z zaslonskimi slikami ter delčki kode. Ključne besede: sistemi za upravljanje vsebin, Plone, spletno orodje, govorilne ure

6 Abstract Idea for this diploma thesis came from an I got from Trebnje primary school. In the they expressed the need for a parent-teacher conferences managing system. In their current system, parents have to wait in line, until a certain teacher would be available to speak with them. That would sometimes cause confusion and impatience between parents. For a solution to this problem, I designed a web tool, in which parents can make a reservation for a specific time period with one or many teachers. This decreases long waiting times and confusion associated with it. Designing such a tool seemed like it would provide many challenges and the underlying topic was interesting and manageable enough to present in this thesis. I decided to design this project using Plone content management system. First I will present some general information on content management systems, then I will describe Plone and its key components which I will later use in a concrete example of designing a basic web tool for signing up to a parent-teacher conference. In this example I will describe the functionalities of such a tool and will provide screenshots and code snippets. Key words: content management systems, Plone, web tool, parent-teacher conference

7 Kazalo vsebine Uvod Osnove sistemov za upravljanje vsebin Definicija Primeri CMS-jev WordPress Joomla! Drupal Zakaj odločitev za CMS? Predstavitev sistema Plone Splošno Kratka zgodovina Namestitev sistema Plone Uporabniški vmesnik Administratorski vmesnik (Nastavitve spletišča) Zope Management Interface ZMI Predloge (Templates) TAL, TALES in METAL Diazo CSS in JS Content Types Varnost Restricted/Unrestricted Python Varnostne kopije (Backups) Zope Object Database (ZODB) Govorilne ure Predstavitev delov izdelave orodja Content types Uporabnik Učitelj Skrbnik Zaključek Viri in literatura... 34

8 Kazalo slik Slika 1 - najbolj uporabljeni CMS-ji, julij Slika 3 - WordPress administratorski vmesnik... 4 Slika 5 - Joomla administratorski vmesnik... 5 Slika 7 - Drupal administratorski vmesnik... 6 Slika 8 - število fakultet, ki poučujejo enega izmed sedmih izbranih programskih jezikov... 8 Slika 9 - Plone logo... 9 Slika 10 - uspešno nameščen Plone Slika 11 - pozdravna stran sistema Plone Slika 12 - orodna vrstica Slika 13 - nastavitev spletišča Slika 14 - pogled na ZMI Slika 15 - možni pogledi tipa vsebine "Mapa" v ZMI Slika 16 - možni pogledi tipa vsebine "Mapa" v Plonovem vmesiku Slika 17 - urejevalnik Diazo predlog Slika 18 - primer tipa vsebine "File" Slika 19 pogled na "Vzdrževanje" v nastavitvah spletišča Slika 20 - trenutno najbolj popularne podatkovne baze Slika 21 - polja (lastnosti) podatkovnega tipa "gu" Slika 22 - tip "gu" v ZMI Slika 23 - Python skripta tipa vsebine "gu" Slika 24 - filtriranje po imenih in priimkih Slika 25 - filtriranje po predmetih Slika 26 - razpisane govorilne ure za izbranega učitelja Slika 27 - prijava in odjava iz govorilne ure Slika 28 - odjava od termina TTW Python skripta Slika 29 - dodajanje nove govorilne ure preko orodne vrstice Slika 30 - trenutni pregled prijav na govorilno uro... 32

9 Uvod»So, the need for content management didn t begin with the World Wide Web, but simply shifted into fast forward when the web was born in the the early 90s. At that moment, the ability to create and publish content tumbled down from its ivory tower and into the hands of the masses. Almost anyone could create a web page about virtually anything.«(barker, 2015, str. 5) V današnjem času je močno prisotna potreba po sistemih, ki tudi računalniško manj podkovanim uporabnikom nudijo možnost dinamičnega upravljanja spletnih vsebin. Obiskovalci spletnih strani pričakujejo ažurne podatke, upravljalci spletnih vsebin pa želijo v kratkem času in s čim manjšimi zahtevami po specifičnih znanjih nuditi kvalitetno uporabniško izkušnjo, saj je»web presence«1 postal pomemben faktor pri uspešnosti podjetja, šole, glasbene skupine, gledališča, (Palan, b.d) Sistemi za upravljanje vsebin (Content Management Systems CMS) so sistemi, ki poenostavijo postavitev in vzdrževanje spletne strani. Vsebino tako zasnovane spletne strani je mogoče enostavno spreminjati preko intuitivnega grafičnega vmesnika, kar pomeni, da uporabnik za to ne potrebuje praktično nobenega računalniškega predznanja. Zaradi tega so zanimivi tudi za šolsko okolje, saj lahko poleg izdelave predstavitvenih strani in blogov - za kar se največ uporabljajo - preko njih implementiramo rešitve, ki omogočajo avtomatizacijo postopkov v učnem procesu oz. administraciji, ki jih lahko brez težav oz. dodatnega izobraževanja uporabljajo učenci, učitelji in starši. V diplomskem delu bom predstavil sistem za upravljanje vsebine Plone CMS, ki se od drugih bolj pogosto uporabljenih CMS-jev (Wordpress, Joomla, Drupal) razlikuje v načinu dela s sistemom, poudarku na varnosti, naboru podprtih tehnologij, fleksibilnosti in kompleksnosti. (Comparing Open Source CMSs: WordPress, Joomla, Drupal, and Plone, 2009) Značilnosti sistema Plone bom ponazoril na primeru zasnove spletnega orodja za prijavo staršev na govorilne ure. Za ta primer sem se odločil, ker se mi zdi dovolj obvladljiv za povzeti v diplomsko delo in hkrati dovolj kompleksen, da se preko njega predstavi sistem Plone in njegove funkcionalnosti. Ključni koncepti teh funkcionalnosti pa se lahko iz mojega primera prenesejo na mnogo različnih situacij, problemov. Prav tako se mi zdi primer prijave staršev na govorilne ure ustrezen zaradi izboljšav, ki bi jih lahko doprinesel na področju organizacije, evidentiranja in vodenja dokumentacije. Za več informacij o samem procesu prijave na govorilne ure in potrebah konkretne šole po takem orodju bom sodeloval z Osnovno šolo Trebnje. 1 Nisem našel dobrega slovenskega prevoda. S tem je mišljena podoba, ki si jo preko spletne strani (in drugih spletnih vsebin) ustvari podjetje, šola, gledališče, 1

10 2

11 1. Osnove sistemov za upravljanje vsebin 1.1. Definicija Na spletu lahko zasledimo več različnih definicij sistema za upravljanje vsebin, med katerimi so relativno majhne razlike, vendar v tem diplomskem delu se bom skliceval na spodnjo: Sistemi za upravljanje vsebine so spletne aplikacije, ki uporabnikom z različnimi pravicami omogočajo urejanje vsebine spletnih strani, brez potrebnega znanja HTML jezika. (Kohan, 2010) Dodal bi le, da sistemi za upravljanje vsebin olajšajo delo tudi razvijalcem spletnih strani, saj je veliko različnih funkcionalnosti (urejevalniki besedila, integracija s socialnimi omrežji, avtomatska izdelava varnostnih kopij, ) že vgrajenih v sam CMS. To pomeni, da jih uporabniku ni potrebno pisati od začetka, ampak si jih lahko samo prilagodi po svoje. CMS-ji so grajeni modularno, zato jih je možno dopolniti in prilagoditi uporabnikovim željam. Na spletu lahko najdemo ogromno dodatkov (angl. add-ons), ki jih lahko vključimo v izbran CMS. Seveda nam ti sistemi omogočajo tudi pisanje lastnih dodatkov, predlog, stilov, s katerimi lahko popolnoma prilagodimo bodisi izgled bodisi funkcionalnost spletne strani. Za take prilagoditve pa je potrebno znanje različnih programskih jezikov, kot so HTML, CSS, JS, PHP, Python, 1.2. Primeri CMS-jev Odločil sem se, da bom v tem razdelku omenil tri CMS-je, ki se trenutno (3. julij 2016) največ uporabljajo. Podatke sem pridobil iz spletne strani podjetja W3techs, ki že več let nadzoruje uporabo različnih spletnih tehnologij. Podatki na njihovi spletni strani se osvežujejo dnevno. Po njihovih raziskavah 55,6% spletnih strani, ki jih beležijo, ne uporablja nobenega sistema za upravljanje vsebine. Npr. WordPress uporablja 26,4% spletnih strani, kar predstavlja 59,5% delež vseh spletnih strani, ki uporabljajo katerega od CMS-jev. (Usage of content management systems for websites, 2016) Več o pridobivanju podatkov za to raziskavo, si lahko preberete na spletni strani Slika 1 - najbolj uporabljeni CMS-ji, julij

12 WordPress Prvo različico WordPressa so izdali maja Zasnovan je bil kot platforma za pisanje blogov, ki se je dodala obstoječim spletnim stranem. S časom je pridobival na priljubljenosti in razvijalci so dodajali vse več funkcionalnosti, ki so bolj značilne za CMS-je. WordPress ima dva nivoja vmesnikov: predstavitveni nivo oz.»front end«in administratorski nivo oz.»back end«. Osnovno obnašanje spletne strani, osnovane na WordPressu, lahko razširimo z vtičniki (angl. plugins) in temami. Z vtičniki lahko dodajamo funkcionalnosti trenutno je na uradni spletni strani ( na voljo vtičnikov, s temami pa prilagajamo izgled spletne strani. (Yoko, 2016) Slika 2 - WordPress administratorski vmesnik Joomla! Sistem Joomla! je nastal avgusta Sprva se je projekt imenoval Mambo, kasneje pa je razvojni kader zaradi nesoglasja zapustil projekt Mambo in začel razvijati Joomlo. Končni produkt (Joomla 1.0.0) pa je bil le predelan in preimenovan Mambo CMS. (Joomla, 2015) Za razliko od WordPressa ima Joomla! tri nivoje vmesnikov. Poleg predstavitvenega in administratorskega nivoja ponuja še dodaten nivo, ki izgleda podobno kot predstavitveni, le da ima ta še možnost urejanja vsebine. To pomeni, da ni potrebe po dodajanju vsebine iz administratorskega vmesnika, to pa je po mojem mnenju za večino uporabnikov bolj intuitivno. Osnovno delovanje Joomle lahko razširimo z različnimi komponentami, moduli in vtičniki. Teh razširitev je na uradni spletni strani ( trenutno na voljo 7907, seveda pa je neuradnih vtičnikov še mnogo več. Vizualen izgled lahko prilagajamo s predlogami. (Yoko, 2016) 4

13 Slika 3 - Joomla administratorski vmesnik Drupal Prva različica sistema Drupal je izšla januarja Dries Buytaert je sprva napisal Drupal zase in za svoje prijatelje, da bi lahko na enem mestu delili različne informacije, kot npr. kje bodo večerjali, zanimive novice, kakšen je status njihovega omrežja, Ta spletna stran se je včasih nahajala na naslovu Drop.org. (Our history, b.d.) Njegov razvoj je hitro šel naprej in Drupal je postal izjemno fleksibilna platforma za forume, bloge ostale spletne strani ter spletne aplikacije. (Yoko, 2016) Kot prej omenjena CMS-ja, lahko tudi Drupal razširimo z moduli in temami. Trenutno na uradni spletni strani ( najdemo modulov. 5

14 Slika 4 - Drupal administratorski vmesnik 6

15 1.3. Zakaj odločitev za CMS? Pred obstojem CMS-jev, so razvijalci morali zgraditi spletno stran, ki se je začela kot prazen dokument. Sami so morali napisati vso HTML, CSS in JavaScript kodo. Ta pristop ima svoje prednosti in slabosti. Omogoča nam popoln nadzor in fleksibilnost spletne strani za ceno kompleksnosti tako z vidika razvijalca, kot končnega uporabnika. CMS-ji so se razvili z namenom bistvenega olajšanja procesa ustvarjanja, vzdrževanja in urejanja spletnih strani. Hitro so postali zelo popularni in trenutno jih uporablja večina manjših in srednje velikih podjetij. (Northcutt, 2013) V šolstvu se CMS-ji veliko uporabljajo za spletne učilnice, kjer učitelji objavljajo novice, gradiva za učence, obvestila o ocenah, rezultatih tekmovanj, Na OŠ Trebnje (in verjetno še na kakšnih drugih šolah) pa uporabljajo sistem Joomla! tudi za predstavitveno spletno stran šole ( kjer redno objavljajo novice in koristne povezave.»uspešna uvedba CMS-ja pa pomeni dvig kvalitete dela in običajno pobude k uvajanju IKT-ja tudi na drugih področjih delovanja šole«(harej, 2004) 7

16 2. Predstavitev sistema Plone 2.1. Splošno Plone je brezplačen in odprtokoden sistem za upravljanje vsebine, ki teče na aplikacijskem strežniku Zope. Zope je programsko ogrodje (angl. software framework), ki zagotavlja pogoje za ustvarjanje spletnih aplikacij in hkrati tudi strežniško okolje, na katerem bodo te aplikacije tekle. (Application server, 2016) Ker je to okolje napisano v jeziku Python, je Plone primarno napisan v istem jeziku. Približno 10% Plonove kode je osnovane na jeziku XML, sestavlja pa ga tudi veliko HTML, CSS in JavaScript datotek. Python je relativno velika posebnost sistema Plone, glede na to, da velika večina CMS-jev (WordPress, Joomla, Moodle, ) sloni na jeziku PHP. Pravzaprav trenutno kar 82.1% spletnih strani uporablja jezik PHP, medtem ko le 0.2% spletnih strani uporablja Python. (Comparison of the usage of PHP vs. Python for websites, 2016) Kljub tem številkam pa ne smemo kar tako zanemariti Pythonove zmogljivosti. Naj samo omenim, da npr. podjetje Facebook uporablja jezik PHP, Google pa uporablja Python. (Hakim, 2011) Python se mi zdi vredno poudariti tudi zaradi tega, ker so ga različne fakultete (tudi slovenske) vpeljale v svoje programe, zato menim, da bo popularnost in raba Pythona (ter posledično morda tudi Plona) skozi čas zelo narasla. Slika 5 - število fakultet, ki poučujejo enega izmed sedmih izbranih programskih jezikov (Slika pridobljena s Plone se najbolj pogosto uporablja v intranetih in za spletne strani velikih organizacij. Med najbolj odmevnimi imeni služb javnega sektorja, ki uporabljajo Plone, so: FBI, brazilska vlada, Združeni narodi, mesto Bern, vlada New South Walesa in Evropska agencija za okolje. 8

17 Zagovorniki Plona navajajo, da sta najpomembnejša razloga za izbiro sistema: izjemni rezultati na področju varnosti (več o tem v razdelku 2.7) in njegova dostopnost. (Plone (software), 2016) Leta 2008 in 2009 je bil Plone s strani podjetja Packt Publishing izbran kot najboljši ne-php odprtokodni sistem za upravljanje vsebin. (Plone wins 2009»Best Other Open-Source CMS«Award, 2009) Trenutno je na uradnem viru Plonovih produktov ( objavljenih 2828 produktov, ki so kompatibilni z vsaj eno verzijo sistema Plone. Z najnovejšo verzijo je zaenkrat kompatibilnih le 230 produktov. Sistem je preveden v 40 jezikov. Kar se tiče dokumentacije, je Plone relativno močan. Relativno pravim zaradi tega, ker sem odkril, da za zadnjo verzijo sistema (5.0) precej elementov manjka oz. so napisani nepopolno. To je lahko utrujajoče za začetnike, saj je težko priti do željenih informacij, delež uporabe sistema Plone pa je v primerjavi z najbolj popularnimi sistemi za upravljanje vsebine nizek. Podjetje Six Feet Up, ki je eno izmed vodilnih ponudnikov storitev svetovanja v severni Ameriki pa zatrjuje, da lahko po svetu najdemo nekaj več kot 300 podjetij, ki nudijo profesionalno svetovanje pri postavitvi in uporabi sistema Plone. (Plone - The Open Source Enterprise CMS, b.d.) Slika 6 - Plone logo (Slika pridobljena s Kratka zgodovina Projekt Plone se je začel leta Prvi so ga začeli razvijati Alexander Limi, Alana Runyan in Vidar Andersen. Projekt je kmalu pridobil svojo skupnost, v kateri so uporabniki razvili mnogo novih dodatkov (angl. add-ons). S časom se je ta skupnost vse bolj širila in to je vodilo k organiziranju letnih Plone konferenc, ki danes še vedno potekajo. Poleg teh konferenc se razvijalci iz celega sveta dobivajo na srečanjih, ki trajajo od nekaj dni do celega tedna in tako nadgrajujejo Plone. Prva stabilna verzija sistema Plone je izšla 6. februarja Od takrat so v razvoj sistema vložili več kot 4617 dni razvijalskega dela. Vse do zadnje verzije (ki je izšla 28. septembra 2015) so za razvoj posamezne verzije potrebovali povprečno 350,75 dni. Zadnjo (5.0) pa sem izpostavil ravno zaradi tega, ker so za njen razvoj potrebovali 898 dni, kar je približno 2,5-krat več, kakor za ostale. To niti ni tako presenetljivo, glede na to, da so s to verzijo vpeljali korenite spremembe glede načina dela s tipi vsebine (angl. content types več o tem v razdelku 2.6) in vizualnim prilagajanjem spletnih strani (angl. theming) s pomočjo orodja Diazo (več o tem v razdelku 2.5.2). Trenutno lahko na uradni strani sistema ( brezplačno prenesemo verzijo (Plone (software), 2016) 9

18 2.3. Namestitev sistema Plone Odločil sem se, da v tem razdelku ne bom opisoval celotnega procesa namestitve sistema, saj lahko najdemo dovolj natančna navodila v uradni Plonovi dokumentaciji ( Predstavil bom raje dva načina v katerih lahko teče spletna stran, izdelana v sistemu Plone. To sta»standalone«in»zeo Cluster«. Enega izmed teh načinov si moramo nujno izbrati ob nameščanju sistema Plone, obstajajo pa tudi načini, kako potem kasneje preiti iz enega na drugega in obratno. Standalone način je načeloma namenjen za razvoj in testiranje, medtem ko je ZEO Cluster bolj ustrezen za produkcijo. ZEO Cluster način dovoljuje istočasno uporabo ene podatkovne baze iz več različnih Zope instanc (ali bolj natančno»zeo clients«). To so običajno kopije spletne strani, ki jih lahko ločeno zaženemo na različnih vratih (angl. ports). Iz mojih praktičnih izkušenj to izgleda tako, da imamo običajno ustvarjeni dve instanci (»client1«in»client2«), ki tečeta na različnih vratih. Ena izmed njih je»glavna«, ki je aktivna večino časa, na drugi pa se istočasno lahko delajo popravki. Če so ti popravki npr. vnosi v bazo, se sprememba takoj odraža tudi na»glavni«instanci, saj uporabljata isto podatkovno bazo. Če pa so to popravki npr. vizualnega izgleda strani, se te spremembe beležijo v predpomnilnik in se na»glavni«instanci uveljavijo šele ob ponovnem zagonu le-te. To je lahko izjemno koristno, ko npr. skrbimo za neko spletno stran, ki nikakor ne sme prenehati z delovanjem do neke ure. Torej to pomeni, da bi razvijalec lahko delal (in testiral) razne popravke le po tej določeni uri. Z dvema instancama pa brez težav pripravi popravke kadarkoli in jih potem s ponovnim zagonom instance uveljavi ob primernem času. ZEO Cluster zaradi več Zope instanc porablja več prostora in procesorske moči, kar lahko vodi do preobremenitve strežnika. Način Standalone je zato bolj primeren za razvoj in testiranje, saj uporablja le eno Zope instanco. (Zope Zeo vs. standalone setups, 2008) Ko uspešno opravimo namestitev sistema Plone in zaženemo ustvarjeno instanco, bi morali (običajno na naslovu localhost:8080) v brskalniku videti nekaj podobnega spodnji sliki. Slika 7 - uspešno nameščen Plone 2.4. Uporabniški vmesnik Po uspešni namestitvi sistema Plone moramo ustvariti svojo stran (t.i. portal), ki bo tekla na prej ustvarjeni instanci. Tukaj lahko določimo nekaj lastnosti (privzet jezik strani, urejevalnik besedila, ), 10

19 ki jih bo stran imela. Na tej točki to niti ni tako pomembno, saj vse te nastavitve lahko potem tudi kasneje spremenimo. Ko se prebijemo čez teh nekaj korakov, bi morali na novo ustvarjeni spletni strani videti pozdravno stran sistema Plone. Slika 8 - pozdravna stran sistema Plone Prijavljeni uporabniki imajo (če tako želimo) dostop do orodne vrstice, iz katere lahko dodajajo, urejajo, brišejo vsebino, - odvisno od nivoja dostopa, ki jim ga dodelimo. 11

20 Slika 9 - orodna vrstica Administratorski vmesnik (Nastavitve spletišča) Dostop do nastavitev spletišča imajo samo uporabniki z administratorskimi pravicami. 12

21 Slika 10 - nastavitev spletišča Tukaj lahko spreminjamo kar precej nastavitev, ki se tičejo delovanja, izgleda, vsebine in vzdrževanja spletne strani. Določimo lahko npr. elektronski naslov, iz katerega se bodo pošiljala avtomatska obvestila o novo ustvarjenih novicah, uredimo vizualen izgled spletne strani (Diazo, razdelek 2.5.2), dodamo nov tip vsebine (razdelek 2.6), pregledujemo napake,»pakiramo«2 bazo, ponovno zaženemo Zope instanco,... 2 To je izraz, ki ga najdemo v uradnem slovenskem prevodu sistema Plone. S pakiranjem podatkovne baze prihranimo nekaj prostora na strežniku, saj tako zavržemo podatke, ki se shranjujejo zaradi operacije»razveljavi«. 13

22 Zope Management Interface ZMI Zope Management Interface je okolje, v katerem lahko nadzorujemo in manipuliramo z Zope objekti ter konfiguriramo nastavitve spletne aplikacije. (Using the Zope Management Interface, b.d.) Slika 11 - pogled na ZMI Primer, ki po mojem mnenju dobro ponazori uporabo ZMI-ja in razliko med nastavitvami, ki jih ponuja Plonov vmesnik je sledeč: Vsakemu tipu vsebine lahko določimo privzet pogled (angl. View) in v pogledu je zapisano, kako bodo podatki znotraj tipa vsebine prikazani. To storimo v Plonovem grafičnem vmesniku, kjer imamo npr. za prikazovanje mape, v kateri so samo slike, nastavljen privzet pogled»album view«. Če pa želimo ta pogled prilagoditi specifičnim uporabnikovim željam, moramo najprej definirati, kako bo ta pogled izgledal oz. katere podatke bomo v njem prikazovali. To storimo tako, da na datotečnem sistemu ustvarimo novo predlogo (načeloma lahko urejamo tudi obstoječo predlogo), ki jo potem v ZMI-ju dodamo tipu vsebine»mapa«. Šele ko smo to storili, imamo v Plonovem vmesniku možnost dodeliti novo ustvarjen pogled temu tipu vsebine. Na spodnji sliki so prikazani možni pogledi za tip vsebine»mapa«. Kot vidimo, se znotraj nahaja tudi»album_view«. Slika 12 - možni pogledi tipa vsebine "Mapa" v ZMI 14

23 Slika 13 - možni pogledi tipa vsebine "Mapa" v Plonovem vmesiku S tem konkretnim zgledom sem želel povedati, da nam ZMI v praksi omogoča en nivo dostopa več, kot ga ima skrbnik spletišča. V tem vmesniku lahko dodajamo TTW (Through The Web) Python skripte, s katerimi zlahka npr. preverjamo veljavnost obrazcev (angl. forms), delamo preusmeritve, skratka vse operacije, ki nimajo nobenega opravka z objekti, saj smo zaradi varnosti pri TTW skriptah omejeni na Restricted Python. Več o tem v razdelku 0. TAL 2.5. Predloge (Templates) TAL, TALES in METAL TAL (Template Attribute Language) je jezik za pisanje predlog, ki dinamično generirajo HTML vsebino. Običajno se uporablja znotraj veljavnih HTML značk, lahko pa tudi HTML značke napišemo znotraj TAL izraza (vendar to ne ustvari HTML strukture na spletni strani). V TAL izrazih lahko definiramo spremenljivke, določamo pogoje, zanke, nadomestimo vsebino HTML značke in dinamično določamo atribute (npr.»href«pri znački <a>). Oglejmo si naslednji TAL izraz: <a tal:attributes="href google.com" tal:content="povezava do Google.com"> Karkoli </a> Z ukazom»tal:attributes«določimo atribut»href«značke <a>, z izrazom»tal:content«pa smo določili tekst, ki se običajno nahaja med začetkom in koncem HTML značke - <a> TEKST </>. Beseda»Karkoli«se zaradi izraza»tal:content«nadomesti s tekstom»povezava do Google.com«. Zgornji izraz bo generiral povsem običajno HTML povezavo na google.com, z naslovom»povezava do Google.com«. Konkretno ta izraz bi lahko brez težav napisali tudi brez uporabe jezika TAL: <a href="google.com"> Povezava do Google.com </a>. Veliko dela pa nam lahko prihrani»tal:repeat«. Oglejmo si še en konkreten zgled: 15

24 <input type "text" tal:repeat="n python:range(10)" /> Namesto da bi napisali 10»navadnih«HTML izrazov, nam bo zgornji izraz generiral 10 vnosnih polj z eno vrstico kode. Naj omenim, da sem pri tem zgledu že uporabil TALES sintakso, ki omogoča uporabo»python«izrazov več o tem v sledečih vrsticah. Poleg»tal:attributes«in»tal:content«ima TAL še nekaj drugih možnih izrazov: - tal:define - tal:condition - tal:repeat - tal:replace - tal:omit-tag Opise teh izrazov si lahko ogledate na TALES TAL izrazi postanejo mnogo bolj uporabni z uporabo TALESa (TAL Expression Syntax). Kot že samo ime pove, so TALES vsi izrazi uporabljeni znotraj TAL izrazov. S TALESom večinoma pišemo poizvedbe za objekte v bazi podatkov. Najpreprostejši primer bi bil verjetno naslednji: <p tal:content="knjiga/poglavje/title"> </p> Takim izrazom rečemo»path«, ker v zgornji poizvedbi povemo»pot«do lastnosti objekta, ki jo želimo prikazati, ali z njo narediti kaj drugega. V zgornjem zgledu bomo v HTML znački <p> prikazali naslov poglavja, ki se nahaja v mapi»knjige«in je lastnost objekta»poglavje«, ki je v mapi»knjige«. Poleg»path«izrazov TALES ponuja še naslednje možnosti: - exists - nocall - not - string - python -? Spodaj navajam še en primer»python«izraza, ki se ga po mojih izkušnjah poleg»path«izrazov največ uporablja v Plonovih predlogah, razlage ostalih pa si lahko ogledate na: <p tal:content="python:user.getusername().capitalize()"> User Name </p> Ta izraz bo v značko <p> izpisal uporabniško ime trenutno prijavljenega uporabnika z veliko začetnico. Iz tega primera vidimo, da lahko s Python sintakso dostopamo do objektov in njihovih lastnosti (uporabniško ime) nad katerimi lahko potem tudi uporabljamo vgrajene Python funkcije (capitalize()). To je običajno uporabno za»manjše«operacije nad lastnostmi objektov, kajti v»python«izraz lahko napišemo le eno vrstico Python kode. 16

25 METAL Pri delu s predlogami lahko opazimo, da se določeni deli ponavljajo. Npr. ko želimo prikazati vsebino neke mape, moramo vedno na enak način pridobiti vsebino mape in jo izpisati (razen seveda če želimo nek specifičen prikaz vsebine mape). Ali pa npr. ko želimo na vseh podstraneh imeti enako glavo (angl. header) in nogo (angl. footer) kot na prvi strani. V tem primeru nam lahko zelo koristijo METAL izrazi (Macro Expansion for TAL). Oglejmo si kar en konkreten zgled: <div metal:define-macro="footer">copyright </div> <span tal:content="page/lastmodified"></span> Ta izraz bo izdelal makro z imenom»footer«, ki bo ustvaril <div> značko, v kateri bo zapisana beseda»copyright«in poleg nje, bo v znački <span> zapisan datum zadnje spremembe spletne strani. Poleg»metal:define«poznamo tudi druge METAL izraze: - metal:use-macro - metal:define-slot - metal:fill-slot Razlage posameznih izrazov si lahko ogledate na spletni strani: Diazo Orodje Diazo je novost sistema Plone 5.0. No, ne ravno novost, tudi prej se je dalo uporabljati Diazo, ni pa bil privzeto tako lepo implementiran v sistem Plone, kot je sedaj. Do te verzije so se za pisanje predlog večinoma uporabljali jeziki, omenjeni v prejšnjem razdelku. Seveda pa tudi v verziji 5.0 še vedno lahko uporabljamo stare predloge, vendar pri podjetju Plone stremijo na popoln prehod k Diazu. Diazo predstavlja precej zanimiv koncept urejanja vizualnega izgleda spletne strani, ki vsebuje dinamične elemente. Pri TAL predlogah sta jezika TAL in HTML nekako združena skupaj, pri čemer HTML skrbi za strukturo, TAL pa za pridobivanje elementov iz objektne baze ZODB (Zope Object Database). Diazo pa ločuje statično HTML predlogo in XML datoteko»rules.xml«, v katero dodajamo t.i. pravila, ki določajo kateri Plonovi elementi bodo prikazani na določenem mestu, prej definiranem v HTML kodi. Tako potem postopoma»pretvarjamo«statično spletno stran v dinamično. Vse to lahko počnemo direktno iz brskalnika, saj ima Plone že vgrajen urejevalnik predlog. 17

26 Slika 14 - urejevalnik Diazo predlog CSS in JS CSS in JavaScript datoteke na spletnem portalu ustvarjenem v sistemu Plone, dodajamo na podoben način kot pri statičnih HTML dokumentih. Razlika je le v tem, da moramo pri statičnih spletnih straneh za vsako stran posebej dodati poti do CSS in JS datotek, Plone pa ima privzeto ustvarjen»main template«, ki se upošteva na vseh ustvarjenih podstraneh, zato lahko poti do CSS in JS datotek dodamo le v to datoteko Content Types Tipi vsebine so lahko zbirniki (angl. containers) ali posamezni elementi. Zato včasih na spletu zasledimo izraza»folderish«in»non-folderish«, ki označujeta to distinkcijo. Vsak tip vsebine ima svojo shemo, t.j. množico polj, ki določajo lastnosti (naslov, privzete vrednosti, omejitve, ) tega tipa. Shema tipa vsebine se upošteva na vsakem novo ustvarjenem objektu tega tipa. Primer tipa vsebine je npr.»dežurstvo«, ki mu v shemi določimo polja različnih podatkovnih tipov. V Plonu sta za vsak tip vsebine privzeto nastavljeni polji»naslov«tipa»string«(iz katerega se potem kreira ID objekta tipa»dežurstvo«) in»opis«tipa»text«. Potem pa mu lahko dodamo še ostala polja, 18

27 npr.»dežurni tehnik«tipa»string«,»opomba«tipa»text«, Tako se v bazo shranjujejo objekti tipa»dežurstvo«, ki vsebujejo lastnosti»naslov«,»opis«,»dežurni tehnik«,»opomba«, Slika 15 - primer tipa vsebine "File" 2.7. Varnost Razvijalci sistema Plone dajejo velik poudarek na varnost. Če pogledamo v podatkovno bazo pogostih ranljivosti in izpostavljenosti (Common Vulnerabilities and Exposures (CVE) Database), ki jo gosti podjetje Mitre namreč opazimo, da je imel Plone do v primerjavi z ostalimi aktualnimi CMS-ji najmanjše število prijavljenih ranljivosti. To je tudi velik razlog, zakaj se je veliko vladnih in nevladnih organizacij odločilo za sistem Plone med drugimi tudi FBI. Spodnja tabela prikazuje število pogostih ranljivosti in izpostavljenosti. Poudariti je treba, da so v teh podatkih zajete ranljivosti osnovnega sistema Plone in tudi modulov, ki jih niso razvili primarni Plonovi razvijalci. (Plone (software), 2016) 19

28 Primerjava pogostih ranljivosti in izpostavljenosti CMS Leto izdaje Število pogostih ranljivosti in izpostavljenosti Plone Joomla Wordpress Drupal Restricted/Unrestricted Python Plone uporablja dve vrsti dostopa do Pythonovih modulov Restricted (z omejitvami) in Unrestricted (brez omejitev). Restricted Python je okolje, ki ima odstranjenih nekaj funkcij (npr. funkcijo»invokefactory()«za kreiranje novih objektov). Glavni razlog za uvedbo tega okolja je bil, da so te funkcije lahko nevarne v spletnem okolju, kot je Plone. Nevarne v smislu, da bi omogočile nepreverjenim uporabnikom dostop do Python kode v sistemu. Seveda pa takemu uporabniku ne želimo dovoliti dostopa do datotečnega sistema strežnika. Restricted Python skripte so zato prevedene z drugim prevajalnikom kakor Unrestricted Python skripte in vsak klic funkcije je posebej preverjen pri»upravljalcu varnosti«. To se zgodi z vso Python kodo, ki jo dodamo preko Zope Management Interface-a (ZMI). Restricted Python je omogočen v TTW skriptah in zastarelem načinu kodiranja, ki se uporablja v npr.: - starih TAL predlogah vse kar je napisano v tal:content, tal:condition, itd. - datotekah tipa Script(Python), ki so se uporabljale za preverjanje obrazcev Kot zanimivost, v dokumentaciji za trenutno najnovejšo verzijo sistema Plone sem glede Restricted Pythona zasledil tudi tole:»restrictedpython was bad idea and mostly causes headache. Avoid through-the-web Zope scripts if possible.«(sandboxing and RestrictedPython, b.d.) Po lastnih izkušnjah lahko povem, da se z zgornjo izjavo popolnoma strinjam. Unrestricted Python skripte se izvedejo normalno, brez omejitev in imajo popoln dostop do aplikacijskega strežnika Zope. To dosežemo s pisanjem lastnih produktov (add-ons), ki jim dodamo poglede (angl. views). Produktom lahko dodamo tudi lastne tipe vsebine, v katerih definiramo polja (npr. cena izdelka, kategorija, ) in funkcije (ki npr. napolnijo prej definirana polja s privzetimi vrednostmi). Te lastnosti imajo potem vsi novo ustvarjeni objekti tega tipa. Unrestricted Python skripte se nahajajo izključno na datotečnem sistemu strežnika (ne moremo jih urejati TTW), kar zagotavlja dodaten nivo varnosti, saj bi nepridiprav za spreminjanje teh skript 20

29 potreboval direkten dostop do strežnika samo administratorsko geslo za dostop do spletne strani ne bi bilo dovolj. (Sandboxing and RestrictedPython, b.d.) Varnostne kopije (Backups) Za uporabnike sistema Plone je proces kreiranja varnostnih kopij zelo preprost. Kopije se naredijo avtomatsko, v vsakem trenutku pa imamo na našem datotečnem sistemu v mapi./var/filestorage dve datotek: Data.fs in Data.fs.old. V teh datotekah je shranjeno vse, razen BLOB-ov (angl. Binary Large OBjects), ki pa vsebujejo razne PDF datoteke, slike, videe, in so shranjeni v./var/blobstorage. Spodnja slika prikazuje pogled na»vzdrževanje«v nastavitvah spletišča, kjer lahko med drugim tudi pakiramo našo bazo in tako prihranimo nekaj prostora na disku. Slika 16 pogled na "Vzdrževanje" v nastavitvah spletišča Pred vsakim posegom v bazo, je priporočljivo kopirati vsaj datoteko Data.fs. To lahko uredimo avtomatsko z različnimi orodji, kot so npr. Rsync, Bakula, Imel sem že izkušnjo, ko sem naredil napako v neki skripti in»izgubil«podatke za nekaj let nazaj. V takem primeru je potrebno najprej ugasniti Zope strežnik, nadomestiti trenutno datoteko Data.fs s staro, ponovno zagnati Zope strežnik in podatki so nazaj. Zelo preprosto in učinkovito Zope Object Database (ZODB) Po mojem raziskovanju sem ugotovil, da ZODB niti nima bistveno različnih funkcionalnosti od drugih objektnih baz, zato me je bolj zanimala razlika med objektnimi in relacijskimi bazami na splošno. Raziskal sem tudi, zakaj se objektne podatkovne baze tako malo uporabljajo. Če bi bralca zanimale specifične lastnosti ZODB-ja, si lahko prebere članek gospoda Jima Fultona, ki je kreator ZODB-ja: Pri mojem raziskovanju sem se najprej vprašal, katere podatkovne baze so trenutno najbolj aktualne. Podatke sem pridobil iz spletne strani ki trenutno spremlja popularnost 308 podatkovnih baz. Več o njihovem sistemu točkovanja si lahko preberete na: 21

30 Slika 17 - trenutno najbolj popularne podatkovne baze Iz zgornje slike lahko jasno vidimo, da so krepko v prednosti relacijske podatkovne baze. Prva objektno orientirana baza se nahaja šele na 82. mestu, medtem ko ZODB najdemo šele na 139. mestu. Torej več kot očitno objektne baze niso ravno popularne. Toda zakaj, če pa so sedaj objektni programski jeziki (Python, Java, C#) tako razširjeni? Našel sem nekaj odprtih tem na dovolj zanesljivih forumih (stackoverflow.com, stackexchange.com) in najpomembnejša razloga, zakaj se razvijalci raje odločijo za relacijske podatkovne baze sta naslednja: 1. Veliko razvijalcev ima izkušnje le iz relacijskega modeliranja podatkov. Da bi se naučili uporabljati objektno orientirane baze, bi se morali naučiti popolnoma drugačnega modeliranja in razmišljanja o podatkih. To pa je lahko zelo težko in dolgotrajno. 2. Relacijske baze so se razvijale izredno dolgo časa, zato so sedaj precej izpopolnjene in podkrepljene z matematičnimi teorijami (teorija množic). Tudi brezplačne relacijske baze uporabljajo napreden način optimizacije in tehnike indeksiranja. Poleg tega je shranjevanje in indeksiranje podatkov v take baze zelo preprosto, kar pa ne moremo reči za objektne baze. (Why aren't OODBMS as widespread as RDBMS?, 2009) Objektne podatkovne baze lahko operirajo z bolj kompleksnimi podatkovnimi tipi. Relacijske baze shranjujejo preproste podatke, kot so npr. imena in priimki zaposlenih v nekem podjetju, objektne baze pa lahko shranjujejo tudi slike, video posnetke, CAD (angl. Computer Aided Design) objekte Toda v relacijskih bazah se morajo že večvrednostni atributi (angl. multivalued attributes) zapisati vsak v svojo tabelo; torej kako potem objektne baze shranjujejo te kompleksne podatke? Na spletu sem našel preprosto analogijo, ki gre takole: Shranjevanje podatkov je kakor parkiranje avtomobila v garažo, kjer garaža predstavlja podatkovno bazo. Pri objektnih bazah lahko zapeljemo cel avtomobil v garažo, izklopimo motor in ga pustimo nedotaknjenega, v pripravljenosti za naslednjo vožnjo. Pri relacijskih bazah pa bi ga morali razdreti na posamezne dele, te dele shraniti na različne police in ko bi ga hoteli naslednjič voziti, bi ga morali ponovno sestaviti nazaj. Predstavljajmo si sedaj, kaj se zgodi, ko res želimo iti na vožnjo, s katerim od teh parkiranih avtomobilov. Pri razstavljenem vozilu bi potrebovali mehanika nekoga, ki govori pravi jezik da bi avtomobil pravilno deloval, ko bi ga sestavil nazaj. Pri avtomobilu, ki smo ga celega zapeljali v garažo in ga takega tam tudi pustili pa bi potrebovali le toliko»komunikacije«, da bi mu lahko dopovedali, da ga želimo vžgati z vstavljanjem in obračanjem ključa. Tukaj pa potem ne potrebujemo znanja nekega drugega jezika. 22

31 Še ena velika prednost shranjevanja avtomobilov (objektov) v celoti je tudi, da lahko do njih dostopamo kot do posamezne enote, brez vpliva na ostale objekte. Pri relacijskem modelu bi morali npr. zakleniti celotno tabelo, da bi v njej posodobili en par vrednosti. Pri objektnih bazah pa dostopamo do lastnosti na ravni objekta, kar je npr. bolj optimalno za shranjevanje geometrijskih CAD objektov, medtem ko so za shranjevanje finančnih podatkov relacijske podatkovne baze običajno boljša izbira. (Object oriented databases, 2011) 23

32 3. Govorilne ure Sedaj ko sem predstavil teoretični del sistema Plone pa se lotimo še pregleda praktičnega dela zasnove orodja za prijavo na govorilne ure. V tem delu bom predstavil mojo idejo o izvedbi takega orodja. Pri snovanju tega dela sem sodeloval z Osnovno šolo Trebnje, s katero smo se pogovarjali o njihovih željah in potrebah glede funkcionalnosti takega orodja Predstavitev delov izdelave orodja Content types Za zasnovo tega orodja sem potreboval le en tip vsebine. Poimenoval sem ga»gu«(krajše za»govorilna ura«). V Plone-u ima vsak tip vsebine privzeti polji (lastnosti)»naslov«in»opis«. Tipu»gu«pa sem dodal še tekstovno polje»termini«, ki bo za namen zasnove tega orodja služilo shranjevanju imen in priimkov staršev ter termina na katerega so se prijavili. Slika 18 - polja (lastnosti) podatkovnega tipa "gu" 24

33 Polje»Naslov«je privzeto zaradi tega, ker se iz vpisane vrednosti ustvari ID objekta, sicer bi morali ID objekta določiti ročno, kar pa je za večino uporabnikov popolnoma nepotrebno. Če bi želeli privzeta polja odstraniti (ali pa spremeniti še kakšno drugo lastnost tega podatkovnega tipa), lahko to storimo v Zope Management Interface-u, kjer tip»gu«izgleda tako: Slika 19 - tip "gu" v ZMI Poleg lastnosti v ZMI-ju, lahko tip vsebine izvozimo na datotečni sistem strežnika in ga tam povežemo s Python skripto, ki se izvede ob vsaki novi kreaciji objekta tipa»gu«. V taki Python skripti lahko definiramo funkcije, ki pripadajo objektu. Tukaj je pomembno omeniti, da gre za Unrestricted Python skripto, ki se lahko izključno nahaja le na datotečnem sistemu in ne v Zope Management Interfaceu, kjer lahko pišemo (Restricted Python) skripte direktno iz brskalnika (TTW). 25

34 Uporabnik Slika 20 - Python skripta tipa vsebine "gu" Izbira učitelja Na OŠ Trebnje so povedali, da se starši oz. skrbniki otrok pri njih načeloma ne prijavljajo na govorilno uro pri razredniku, zato bi želeli, da se prijavijo direktno pri učitelju, ki tega otroka uči. Torej če starša 26

35 zanima mnenje učitelja o otrokovem znanju slovenščine, se lahko direktno prijavi pri njem. Lahko se prijavi k več učiteljem, ima pa se možnost prijaviti tudi pri razredniku ki bo v sistemu tretiran kot en od učiteljev, brez posebnih dodatnih lastnosti. Ker je na OŠ Trebnje trenutno nekaj manj kot 100 učiteljev, sem želel izbiro učitelja narediti čim bolj prijazno in učinkovito uporabnikom. Enostaven seznam iz katerega bi starš izbral učitelja, se mi zaradi velikega števila učiteljev ni zdel dobra ideja. Ker pa en učitelj lahko poučuje več predmetov in en predmet lahko poučuje več učiteljev, se mi tudi ločitev samo po predmetih ni zdela dovolj dobra. Na koncu sem se odločil za filter učiteljev, ki podpira filtriranje po imenih, priimkih ali predmetih. Za to sem uporabil jquery vmesnik»autocomplete«, ki ga lahko brezplačno prenesemo iz spletne strani Končni rezultat naj bi izgledal približno tako: Slika 21 - filtriranje po imenih in priimkih Slika 22 - filtriranje po predmetih Izbira razpisane govorilne ure Po tem, ko uporabnik izbere željenega učitelja in potrdi izbiro, se mu odpre modalno okno z razpisanimi govorilnimi urami za tega učitelja. Torej, če učitelj na začetku leta razpiše termine za vse govorilne ure, ki jih bo imel v tekočem šolskem letu, se bodo v modalnem oknu prikazale povezave na vse te govorilne ure in prijava za njih bo omogočena. 27

36 Slika 23 - razpisane govorilne ure za izbranega učitelja Za izdelavo modalnega okna sem uporabil ogrodje (angl. framework) Foundation ( ki zelo olajša urejanje vizualnega izgleda spletne strani s svojimi CSS in JS knjižnicami, tako za velike namizne ekrane, kakor tudi za manjše ekrane mobilnih naprav (angl. responsive design). 28

37 Prijava/odjava Po izbiri razpisane govorilne ure, uporabnik pride na pogled razpisanih terminov za to uro. Trenutno zasedeni termini so posebej označeni in izbira tega termina je onemogočena vsem uporabnikom, dokler se prijavljeni uporabnik ne odjavi. Slika 24 - prijava in odjava iz govorilne ure Zaradi demonstracije izgleda TTW (Through The Web) Python skript, sem prijavo in odjavo od termina izdelal v Zope Management Interface-u namesto preko skript na datotečnem sistemu strežnika. Ker je cilj tega diplomskega dela le zasnova sistema za prijavo na govorilne ure, je vse skupaj narejeno precej ne robustno. Npr. v objekt»gu«shranjujem kar imena in priimke staršev (in ne IDjev), ki so se prijavili na termin in potem tudi pri odjavi preverjam, ali se to ime nahaja znotraj objekta. Do nepravilnosti pride, če se starš prijavi na govorilno uro, potem spremeni svoje ime oz. priimek in se poskuša spet prijaviti/odjaviti iz iste govorilne ure. Zaenkrat je to tako narejeno zaradi lažjega pregleda lastnosti, ki se shranjujejo v objekt, seveda pa bi bilo shranjevanje in prikazovanje teh podatkov treba popraviti. 29

38 Učitelj Slika 25 - odjava od termina TTW Python skripta Razpis nove govorilne ure V tem koraku se dejansko kreira nov objekt tipa»gu«. To je za uporabnike (v tem primeru učitelje) sistema precej enostavno opravilo, kar je nekako tudi namen CMS-jev. Ker sem v sistemu Plone definiral tip vsebine»gu«in mu na datotečnem sistemu pripel Python skripto, se ob vsaki novi kreaciji objekta, na njem upoštevajo določene lastnosti (funkcije), s katerimi si pomagam pri opravljanju različnih operacij (inicializacija polj, shranjevanje in brisanje podatkov v in iz objekta). 30

39 Slika 26 - dodajanje nove govorilne ure preko orodne vrstice Pregled prijav Kot sem že omenil v razdelku» Prijava/odjava«, se v objekt tipa»gu«zapišeta ime in priimek starša ter izbrani termin. Ker bodo do teh podatkov imeli dostop samo učitelji in skrbnik (ne starši), je trenuten vizualni izgled pregleda prijav za namen zasnove po mojem mnenju zadosten, da 31

40 demonstrira funkcionalnost. Za zapis podatkov v objekt poskrbi funkcija rezervirajtermin(), ki je pripeta objektu tipa»gu«in za parametra sprejme izbrani termin ter ime prijavljenega uporabnika Skrbnik Slika 27 - trenutni pregled prijav na govorilno uro Uvoz uporabnikov OŠ Trebnje vsako leto obiskuje približno 700 učencev, kar pomeni, da je staršev in skrbnikov običajno nekje okrog Njihova baza uporabnikov se nahaja v programu LO.POLIS, za katerega skrbi podjetje Logos. Z OŠ Trebnje smo se dogovorili (pa tudi sicer mislim, da je to dovolj dobra splošna rešitev), da bo uvoz uporabnikov v sistem za prijavo na govorilne ure potekal dato, da se bo na strežnik naložila CSV (angl. comma separated values) datoteka, preko katere se bodo v sistemu Plone kreirali novi uporabniki. To pomeni, da se bo za vsakega uporabnika kreiralo uporabniško ime in geslo, določen pa bo tudi dostop, ki ga bodo ti uporabniki imeli. Ker nekaj staršev še vedno ne uporablja elektronske pošte, sem se odločil, da bom na začetku vsem uporabnikom dodelil isto geslo, ki ga bodo morali ob prvem vstopu v sistem spremeniti. Uvoz učiteljev bo potekal skoraj identično, le da bo za njih določen drugačen nivo dostopa. 32

41 4. Zaključek V diplomskem delu sem predstavil idejo za izdelavo osnovnih gradnikov spletnega orodja za prijavo na govorilne ure. Orodje sem za boljšo predstavo delno tudi izdelal v sistemu za upravljanje vsebine Plone. Najprej sem izpostavil nekaj osnovnih lastnosti sistemov za upravljanje vsebin in nato bolj podrobno opisal sistem Plone. Spoznal sem, da je Plone zelo zmogljiv in varen sistem s prijaznim uporabniškim vmesnikom. Za dopolnitev njegovih osnovnih funkcionalnosti je razvijalcem omogočeno pisanje lastnih produktov, kar pomeni, da je sistem popolnoma prilagodljiv. Ker je Plone zgrajen na jeziku Python, se tudi produkti pišejo v Pythonu, kar je po mojem mnenju velika prednost, glede na trenutno rast popularnosti tega jezika. Na praktičnem primeru zasnove spletnega orodja za prijavo na govorilne ure sem predstavil ključne procese pri delu s sistemom Plone. To je vsebovalo urejanje predlog, kreiranje lastnih podatkovnih tipov in produktov, preverjanje veljavnosti obrazcev in urejanje vsebine objektov. Vsi ti procesi so potrebni pri praktično vsakem spletnem orodju. V zasnovi sem vključil vse osnovne elemente funkcionalnega orodja za prijavo na govorilne ure. To pokriva izbiro učitelja, kreiranje nove govorilne ure, prijavo/odjavo od termina, pregled prijav in uvoz uporabnikov. Za izdelavo teh elementov sem moral preučiti, kako sistem Plone operira s podatki na datotečnem sistemu strežnika in kako so ti podatki potem uporabljeni v uporabniškem vmesniku. Zaradi obsega diplomskega dela sem se odločil, da bom izpustil primerjavo različnih CMSjev in raje bolj podrobno opisal sistem Plone in delo z njim. Ugotovil sem, da je Plone zaradi vseh svojih lastnosti zelo dober sistem za izdelavo kvalitetnega in fleksibilnega spletnega orodja»po meri«. 33

42 5. Viri in literatura Application server. ( ). Pridobljeno s Barker, D., Web Content Management: Systems, Features, and Best Practices. Sebastopol: O Reilly Media. Comparing Open Source CMSs: WordPress, Joomla, Drupal, and Plone. (maj 2009). Pridobljeno s Comparison of the usage of PHP vs. Python for websites. ( ). Pridobljeno s Delmonte, M., The definitive guide to Plone. [Elektronski vir] 2. izdaja. New York: Berkeley, CA : Apress. Hakim, P. ( ). Python vs. PHP: Choosing your next project's language. Pridobljeno s age/. Harej, J. (2004). Sistemi za upravljanje z vsebinami. Pridobljeno s Joomla. ( ). Pridobljeno s Kohan, B. (2010). What is a Content Management System (CMS)?. Pridobljeno s Northcutt, C. ( ). Why Choose A Content Management System For Your Site. Pridobljeno s (Neznano). (26. april 2011). Object oriented databases [Video]. Pridobljeno s Our history. (b.d.). Pridobljeno s Palan, H. (b.d.). What is Web Presence? [Web log post]. Pridobljeno s Plone (software). ( ). Pridobljeno s Plone - The Open Source Enterprise CMS. (b.d.). Pridobljeno s Plone wins 2009»Best Other Open-Source CMS«Award, (2009). Pridobljeno s Sandboxing and RestrictedPython. (b.d.). Pridobljeno s Usage of content management systems for websites. ( ). Pridobljeno s 34

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Vodnik skozi Google Analytics Beta verzija 1. del prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Ta vodnik je povzetek Googe vodiča ' Tracking Code Migration Guide Switching from urchin.js

More information

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54 v brskalniku vpišemo

More information

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54

More information

Sistemske zahteve za SAOP

Sistemske zahteve za SAOP Sistemske zahteve za SAOP Samostojna delovna postaja višji). icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi procesi v podjetju. V tej postavitvi je SAOP icenter nameščen na

More information

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA POPRBAZA je namenjen večji reorganizaciji podatkov v računalnikovem spominu. Reorganizacijo narekujejo bodisi zakonske spremembe, bodisi novosti v programu. Zato je

More information

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije Obrazec P-5 Specifikacije 30K250316» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...3 1.1. SKLOP-1: STORITEV VZDRŽEVANJA ORACLE LICENČNE

More information

Q: Do You made a backup before upgrade? A: Only cowards make backups!

Q: Do You made a backup before upgrade? A: Only cowards make backups! Q: Do You made a backup before upgrade? You z malo - you A: Only cowards make backups! Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.

More information

sodobne poslovnoinformacijske rešitve Birokrat Kratka navodila za namestitev demo verzije programa Birokrat

sodobne poslovnoinformacijske rešitve   Birokrat Kratka navodila za namestitev demo verzije programa Birokrat sodobne poslovnoinformacijske rešitve www.andersen.si Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Pošiljamo vam demo

More information

DB2 podatkovna baza v praksi

DB2 podatkovna baza v praksi DB2 podatkovna baza v praksi Aljoša Trivan, Mikropis holding d.o.o. aljosa.trivan@mikropis.si 2007 IBM Corporation Agenda Mikropis Splošno Fleksibilnost Vzdrževanje Backup SQL objekti in SQL stavki Novosti

More information

Hitra rast hranjenih podatkov

Hitra rast hranjenih podatkov Tomaž Borštnar - član uredništva računalniške revije Monitor od začetka (oktober 1991; ne-pc okolja (Unix, etc) - sodelavec YUNAC in ARNES od začetka - postavil in upravljal večino strežnikov na SiOL -

More information

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov ABBYY rešitve za prepoznavo in klasifikacijo dokumentov preabbyy FlexiCapture 9.0. Overview. 1 doc: 10977 Lokalna prisotnost ABBYY: Moscow, Russia; Munich, Germany; Bracknell, UK; Kiev, Ukraine; Milpitas,

More information

Navodila za uporabo izdelkov programske opreme Microsoft

Navodila za uporabo izdelkov programske opreme Microsoft Navodila za uporabo izdelkov programske opreme Microsoft Kazalo Navodila za konfiguracijo odjemalca za e-pošto Outlook Splošno 3 Nastavitev poštnega predala s protokolom MAPI v odjemalcu Outlook 2007 s

More information

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Zoran Povh, IT specialist zoran.povh@si.ibm.com 2007 IBM Corporation Vsebina Kaj je Lotus Quickr? Integracija z namiznimi programi Skupinski prostori

More information

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF RMZ Materials and Geoenvironment, Vol. 55, No. 1, pp. 127-134, 2008 127 How we calculate volume with the use of NTF method Kako izračunamo volumen z uporabo metode NTF An e s Du r g u t o v i ć 1, Mi l

More information

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi RMZ Materials and Geoenvironment, Vol. 54, No. 3, pp.419-425, 2007 419 UDF for volume calculation with the use of NTF method Lastne Excel funkcije za izračun prostornin po NTF metodi Mi l i v o j Vu l

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: Matematika in tehnika Prilagoditev odprtokodnega sistema Drupal za uporabo

More information

Prirejanje in preverjanje tipov

Prirejanje in preverjanje tipov Uvod v C# Drugi del Dedovanje Sintaksa Prirejanje in preverjanje tipov Kaste preverjenih tipov Prekrivanje metod Dinamično povezovanje (poenostavljeno) Skrivanje Dinamično povezovanje (s skrivanjem) Fragile

More information

Uvod v svetovni splet

Uvod v svetovni splet Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo Uvod v svetovni splet Računalništvo in informatika, GR-UNI, GR-VSŠ Tehnična dokumentacija in informatika, VKI-UNI št. leto 2007/08, 1. semester

More information

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Navodila za vaje pri predmetu Internetne tehnologije VAJA 2 Dušan

More information

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 39(2009)2, Ljubljana IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK Sasa Klampfer, Joze Mohorko, Zarko Cucej University

More information

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Uvod Informacijska varnost ena izmed glavnih tematik informacijske dobe. Čim bolj varne spletne aplikacije

More information

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Gorišek Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode RMZ - Materials and Geoenvironment, Vol. 53, No. 2, pp. 221-227, 2006 221 Calculation of volume with the use of NTF method Izračun volumnov z uporabo NTF metode Milivoj Vulić 1, Anes Durgutović 2 1 Faculty

More information

Navodila za nastavitev varne povezave po protokolu SSH

Navodila za nastavitev varne povezave po protokolu SSH Datum: 28. 9. 2010 Navodila za nastavitev varne povezave po protokolu SSH 1. Pogoji za zagotovitev varne povezave po protokolu SSH Za uspešno zagotovitev in nastavitev varne povezave po protokolu SSH je

More information

Šolski center Novo mesto Srednja elektro šola in tehniška gimnazija Šegova ulica 112, 8000 Novo mesto. Maturitetna seminarska naloga

Šolski center Novo mesto Srednja elektro šola in tehniška gimnazija Šegova ulica 112, 8000 Novo mesto. Maturitetna seminarska naloga Šolski center Novo mesto Srednja elektro šola in tehniška gimnazija Šegova ulica 112, 8000 Novo mesto Maturitetna seminarska naloga Šolsko leto 2007/08 Avtor: Mentor: prof. Albert Zorko Novo mesto, 10.7.

More information

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Nejc Župec Twitter Bootstrap in razvoj spletnega repozitorija za Cacti DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI

More information

Navodila za interaktivne naloge Bober

Navodila za interaktivne naloge Bober Avtorji dokumenta: Dean Gostiša , Lovro Podgoršek Verzija dokumentacije: 1.1 Datum in kraj: 24. 7. 2013, Ljubljana Navodila za interaktivne naloge Bober Uvod 1.

More information

APLIKACIJE ZA SOCIALNA

APLIKACIJE ZA SOCIALNA UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Lotrič APLIKACIJE ZA SOCIALNA OMREŽJA DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Zoran Bosnić Ljubljana, 2011 Rezultati

More information

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 1 Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 2 družina standardov, ki opisujejo delovanje lokalnih (LAN) in mestnih (MAN) omrežij delo opravljano v delovnih skupinah več na

More information

Sistem za dinamično upravljanje izgleda klienta IPTV

Sistem za dinamično upravljanje izgleda klienta IPTV Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Jurečič Sistem za dinamično upravljanje izgleda klienta IPTV DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Študija primera uvedbe sistema EMC DataDomain v podjetju Si.mobil Janez Narobe Janez.narobe@simobil.si Rok Krisper rok.krisper@snt.si

More information

Specification and Implementation of a Light-Weight Internet Content Delivery Platform

Specification and Implementation of a Light-Weight Internet Content Delivery Platform University of Ljubljana Faculty of Computer and Information Science Marko Čeferin Specification and Implementation of a Light-Weight Internet Content Delivery Platform DIPLOMA THESIS First cycle professional

More information

Navodila za namestitev CREO 3.0 in Audax nastavitev

Navodila za namestitev CREO 3.0 in Audax nastavitev Navodila za namestitev CREO 3.0 in Audax nastavitev Potrebujete: Iz PTC spletne strani ali z DVD-ja prenesite namestitvene datoteke za program Creo 3.0 in jih razširite na lokalni disk. Audax Nastavitve

More information

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Poljanšek Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Transakcije v MariaDB/MySQL (transakcija A)

Transakcije v MariaDB/MySQL (transakcija A) Transakcije v MariaDB/MySQL (transakcija A) Pomožni elementi In [1]: # pyodbc import pyodbc try: cn1.close() except: pass # MariaDB/MySQL conn = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=localhost;DATABASE=sandbox;UID=tu

More information

Razvoj poslovne spletne skupnosti z orodjem Drupal

Razvoj poslovne spletne skupnosti z orodjem Drupal UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Urška Valenčič Razvoj poslovne spletne skupnosti z orodjem Drupal DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Matjaž Kukar Ljubljana,

More information

Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI

Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI Univerza v Ljubljani Fakulteta za računalništvo in informatiko Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI diplomska naloga na visokošolskem

More information

Kosovnica. Marko Obid. Kosovnica. Marko Obid

Kosovnica. Marko Obid. Kosovnica. Marko Obid PROGRAM ZA IZDELAVO TEHNIČNE DOKUMENTACIJE V CATIA-ji Zagon programa: Program je bil izdelan z namenom, da nam olajša: Izdelavo kosovnice, Izris risb (delavniške, sestavne) Vpis podatkov v glavo risbe

More information

Spletni urejevalnik JSON datotek s podano vsebinsko shemo

Spletni urejevalnik JSON datotek s podano vsebinsko shemo Univerza v Ljubljani Fakulteta za računalništvo in informatiko Marko Struna Spletni urejevalnik JSON datotek s podano vsebinsko shemo DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Spletna aplikacija za urejanje vadbenih programov v fitnesu

Spletna aplikacija za urejanje vadbenih programov v fitnesu UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Peterlin Spletna aplikacija za urejanje vadbenih programov v fitnesu DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Strukturirani poizvedovalni jezik SQL

Strukturirani poizvedovalni jezik SQL Računalništvo Strukturirani poizvedovalni jezik SQL Danijel Skočaj, Evelin Vatovec Krmac Univerza v Ljubljani Fakulteta za pomorstvo in promet Literatura: Evelin Vatovec Krmac, Računalništvo in informatika,

More information

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gašper Govek Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

More information

Prometno načrtovanje xdsl

Prometno načrtovanje xdsl Prometno načrtovanje xdsl 1 Kazalo Prometno načrtovanje naročniške zanke Prometno načrtovanje MSAN Izbira agregacijskega modela Izbira opreme 2 Potrebe po pasovni širini Zahtevana pasovna širina na uporabnika

More information

Naslavljanje v IP. Miran Meža

Naslavljanje v IP. Miran Meža Naslavljanje v IP Miran Meža Omrežje vseh omrežij Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Omrežje vseh omrežij Usmerjanje prometa: poznati

More information

Razvoj aplikacij na platformi Google App Engine

Razvoj aplikacij na platformi Google App Engine UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Vrščaj Razvoj aplikacij na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Janez Demšar Ljubljana,

More information

Razvoj jezika za iskanje, povezovanje in predstavitev podatkov

Razvoj jezika za iskanje, povezovanje in predstavitev podatkov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Ernest Štukelj Razvoj jezika za iskanje, povezovanje in predstavitev podatkov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU SMER PROGRAMSKA OPREMA

More information

Analiza in primerjava spletnih sistemov za upravljanje z vsebinami

Analiza in primerjava spletnih sistemov za upravljanje z vsebinami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Žiga Železnik Analiza in primerjava spletnih sistemov za upravljanje z vsebinami DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE

More information

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO David Sedlar RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH DIPLOMSKO DELO NA UNIVERZITETNEM

More information

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Kastelic Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

More information

Razred File vsebuje osnovne metode za delo z datotekami, kot sta branje in zapisovanje.

Razred File vsebuje osnovne metode za delo z datotekami, kot sta branje in zapisovanje. Delo z datotekami Razred File Razred File vsebuje osnovne metode za delo z datotekami, kot sta branje in zapisovanje. Deklaracija objekta File poteka tako: File ime = new File(pot_do_datoteke_in_ime);

More information

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in Informacijske Tehnologije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V Cloudkick, Inc. - San Francisco, Kalifornija, Združene Države Amerike Čas opravljanja od 26.09.2010

More information

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike Strojni vid pri tehnoloških meritvah formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike formati slike in branje slike slika je običajno

More information

Razvoj spletne trgovine z vključitvijo naprednih storitev

Razvoj spletne trgovine z vključitvijo naprednih storitev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Papež Lovro Razvoj spletne trgovine z vključitvijo naprednih storitev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF)

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF) Univerza na Primorskem FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE ZAKLJUČNA NALOGA Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle

More information

SPLETNA REŠITEV ZA POTREBE DRUŠTVA UPOKOJENCEV

SPLETNA REŠITEV ZA POTREBE DRUŠTVA UPOKOJENCEV UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Diplomsko delo univerzitetnega študija Smer Organizacijska informatika SPLETNA REŠITEV ZA POTREBE DRUŠTVA UPOKOJENCEV Mentor: red.prof.dr. Miro Gradišar

More information

Povezava DEQ v omrežje

Povezava DEQ v omrežje Povezava DEQ v omrežje 17.10.2016 KAZALO 1. NI INTERNETNE POVEZAVE... 2 1.1. Direktna povezava med računalnikom ter DEQ... 2 1.2. Povezava DEQ na dostopno točko... 3 2. INTERNETNA POVEZAVA... 5 2.1. Žični

More information

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Miha Pavlinek SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Diplomska naloga Maribor, marec 2008 I FAKULTETA ZA ELEKTROTEHNIKO,

More information

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Borut Radi RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY Diplomsko delo Maribor, julij 2015 Fakulteta za elektrotehniko,

More information

Lokacijske storitve na mobilnih napravah

Lokacijske storitve na mobilnih napravah UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Rosina Lokacijske storitve na mobilnih napravah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Rok Rupnik Ljubljana, 2012

More information

Razširitve CMS z lastnimi moduli

Razširitve CMS z lastnimi moduli Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Čepar Razširitve CMS z lastnimi moduli DIPLOMSKA NALOGA NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Andrej Brodnik Ljubljana 2014 Rezultati

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dean Črnigoj Izdelava odjemalca NFS za Windows DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Oddaljen dostop do namiznega računalnika

Oddaljen dostop do namiznega računalnika UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Siniša Grubor Oddaljen dostop do namiznega računalnika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Primerjava spletnih brskalnikov

Primerjava spletnih brskalnikov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Bojan Bajc Primerjava spletnih brskalnikov DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: dr. Igor Rožanc Ljubljana, 2009 I Z

More information

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informacijske tehnologije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Nova KBM d.d. Čas opravljanja: od 21.6.2010 do 20.8.2010 Mentor v GD: Jure Kobal, univ.dipl.

More information

Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django

Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Damjan Vidonja Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVO IN IINFORMATIKA

More information

Metodologija migracije iz Exchange v Office 365

Metodologija migracije iz Exchange v Office 365 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office 365 DIPLOMSKO DELO PRVE Ljubljana, 2018 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office

More information

Spletno luščenje podatkov z uporabo Pythona in knjižnice BeautifulSoup

Spletno luščenje podatkov z uporabo Pythona in knjižnice BeautifulSoup UNIVERZA V LJUBLJANI NARAVOSLOVNOTEHNIŠKA FAKULTETA ODDELEK ZA TEKSTILSTVO, GRAFIKO IN OBLIKOVANJE Spletno luščenje podatkov z uporabo Pythona in knjižnice BeautifulSoup Seminarska naloga Ime in priimek:

More information

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Slobodan Jovanović Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

POSTAVITEV SPLETNEGA SISTEMA ZA PRIKAZ NAČRTA PROIZVODNJE

POSTAVITEV SPLETNEGA SISTEMA ZA PRIKAZ NAČRTA PROIZVODNJE UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO Aljaž Tomažič POSTAVITEV SPLETNEGA SISTEMA ZA PRIKAZ NAČRTA PROIZVODNJE DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA PRVE STOPNJE Mentor: višji pred.

More information

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tilen Faganel Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVO

More information

Povezava regulatorja DEQ v omrežje

Povezava regulatorja DEQ v omrežje KAZALO 1. OBJEKT NIMA INTERNETNE POVEZAVE... 2 1.1. Direktna povezava med računalnikom ter DEQ... 2 1.2. Povezava DEQ na dostopno točko... 4 1.3. Povezava preko GSM omrežja... 7 2. OBJEKT IMA INTERNETNO

More information

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool Session:E07 GALIO - DB2 index advisor, how we implemented it and Viktor Kovačević, MSc Hermes Softlab 6th October 2009 14:15 (60') Platform: UDB / LUW OUTLINE Application & Database tuning Self made index

More information

IZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN

IZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN IZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN Višješolski strokovni program: Informatika Učbenik: Izdelava spletnih strani Gradivo za 2. letnik Avtorja: Simon Horvat, univ. dipl. inţ. ŠOLSKI CENTER

More information

Primerjava orodij za razvoj mobilnih aplikacij

Primerjava orodij za razvoj mobilnih aplikacij UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miloš Jovanov Primerjava orodij za razvoj mobilnih aplikacij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Program za avtomatsko preverjanje algoritmov napisanih v programskem jeziku C++

Program za avtomatsko preverjanje algoritmov napisanih v programskem jeziku C++ Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Golobič Program za avtomatsko preverjanje algoritmov napisanih v programskem jeziku C++ DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

More information

NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ

NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ Organizacija in management informacijskih sistemov NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ Mentor: dr. Branislav Šmitek Kandidat: Aleš Frelih Kranj, november 2012 ZAHVALA Zahvaljujem

More information

IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ

IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ Gregor Hren IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ Diplomsko delo Maribor, september 2011 I Diplomsko delo univerzitetnega študijskega programa IZDELAVA PROGRAMSKEGA

More information

New Media & Language Technologies Jozef Stefan International Postgraduate School January Speech apps. Jerneja Žganec Gros

New Media & Language Technologies Jozef Stefan International Postgraduate School January Speech apps. Jerneja Žganec Gros New Media & Language Technologies Jozef Stefan International Postgraduate School January 2005 Speech apps Jerneja Žganec Gros jerneja@alpineon.com THE VOICE WEB The voice web offers access to information

More information

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA Matjaž Reberc UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA Diplomsko delo Maribor, junij 2011 I Diplomsko visokošolskega strokovnega študijskega programa UPORABA SILVERLIGHT 4

More information

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nedim Husaković Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL DIPLOMSKO DELO VISOKOŠOLSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

PRISOTNOST PRI POUKU S POMOČJO RFID

PRISOTNOST PRI POUKU S POMOČJO RFID UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Dejan Lebar PRISOTNOST PRI POUKU S POMOČJO RFID Diplomsko delo Maribor, september 2014 Fakulteta za elektrotehniko, računalništvo

More information

Primerjava izvornega in hibridnega razvoja mobilne aplikacije

Primerjava izvornega in hibridnega razvoja mobilne aplikacije UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Vidmar Primerjava izvornega in hibridnega razvoja mobilne aplikacije DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Univerza v Mariboru Fakulteta za organizacijske vede. Programska rešitev za grafično prikazovanje najema in rezervacij vozil

Univerza v Mariboru Fakulteta za organizacijske vede. Programska rešitev za grafično prikazovanje najema in rezervacij vozil Univerza v Mariboru Fakulteta za organizacijske vede Smer: Informatika v organizaciji in managementu Programska rešitev za grafično prikazovanje najema in rezervacij vozil Mentor: doc dr. Werber Borut

More information

Jure Cerjak. Razvoj spletnih aplikacij s platformo Zope

Jure Cerjak. Razvoj spletnih aplikacij s platformo Zope UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Cerjak Razvoj spletnih aplikacij s platformo Zope DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Marjan Krisper Ljubljana,

More information

Aplikacija za prikaz prostorskih podatkov

Aplikacija za prikaz prostorskih podatkov Univerza v Ljubljani Fakulteta za računalništvo in informatiko Rok Klemen Aplikacija za prikaz prostorskih podatkov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVA IN INFORMATIKE

More information

D I P L O M S K A N A L O G A

D I P L O M S K A N A L O G A FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU D I P L O M S K A N A L O G A VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJSKEGA PROGRAMA PRVE STOPNJE JURE DELAK FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU

More information

3. sklop Elektronski obrazci OM1 ITK 2010/2011

3. sklop Elektronski obrazci OM1 ITK 2010/2011 3. sklop Elektronski obrazci OM1 ITK 2010/2011 Elektronski obrazci Elektronski dokument Elektronski obrazci Označevanje spletnih mest Arhiviranje spletnih informacij Pomen digitalnega podpisa Elektronski

More information

Prenos interaktivnih spletnih vsebin s Flasha na HTML5

Prenos interaktivnih spletnih vsebin s Flasha na HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Žiga Černigoj Prenos interaktivnih spletnih vsebin s Flasha na HTML5 DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Pavle Gartner. Primerjava različnih rešitev za izvedbo spletne trgovine

Pavle Gartner. Primerjava različnih rešitev za izvedbo spletne trgovine UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Pavle Gartner Primerjava različnih rešitev za izvedbo spletne trgovine DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: viš. pred.

More information

Spletni iskalnik Google in optimizacija spletnih strani

Spletni iskalnik Google in optimizacija spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE Slaven Petrović Spletni iskalnik Google in optimizacija spletnih strani Diplomsko delo Ljubljana, 2010 UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE Slaven

More information

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA Državni izpitni center *M16178113* SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Četrtek, 2. junij 2016 SPLOŠNA MATURA RIC 2016 M161-781-1-3 2 IZPITNA POLA 1 1 1 2 1 3 3 4 1 5 3 6 2 7 1 8 1 9 1 10 3

More information

Luka Žabkar. Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim

Luka Žabkar. Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Žabkar Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor:

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matej Poklukar Analiza značilnosti uporabe ogrodja GoogleWebToolkit za izdelavo uporabniških vmesnikov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

More information

SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV O FILMIH

SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV O FILMIH Simon Cedula SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV O FILMIH Diplomsko delo Maribor, december 2012 I Diplomsko delo univerzitetnega študijskega programa SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV

More information

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Alen Rojko BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Maribor, april 2013 BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Študent(ka): Študijski program: Alen Rojko Visokošolski

More information

E R S Š G L J U B L J A N A Š O L S K O L E T O

E R S Š G L J U B L J A N A Š O L S K O L E T O Datotečni sistem E R S Š G L J U B L J A N A Š O L S K O L E T O 2 0 1 0 / 1 1 Vsebina Programska oprema Sistemska programska oprema Operacijski sistem Lupina (shell) Datotečni sistem Programska oprema

More information

Tehnike programiranja PREDAVANJE 2 Uvod v JavaScript

Tehnike programiranja PREDAVANJE 2 Uvod v JavaScript Tehnike programiranja PREDAVANJE 2 Uvod v JavaScript Predavanje 2 Ponovitev Predavanje 1 Naloge Uvod v JavaScript Pravila Primeri Priprava na laboratorijske vaje Pregled orodij ldos.fe.uni-lj.si >študij

More information

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje doc.dr. Mira Trebar 2 Vaja 1 (11.10.2010) Vaje so obvezne (delo v laboratoriju + doma) S1: Logisim MIPS procesor eno-cikelna izvedba ( logisim ) MIPS

More information

Imenski prostori, poti in kazalci v XML

Imenski prostori, poti in kazalci v XML Imenski prostori, poti in kazalci v XML Iztok Savnik 1 Imenski prostori v XML XML dokument lahko uporablja atribute, elemente in definicije, ki se nahajajo v drugih datotekah Modularna zasnova Ne sme priti

More information

Časovno omejevanje dostopa do interneta

Časovno omejevanje dostopa do interneta Univerza v Ljubljani Fakulteta za računalništvo in informatiko Edi Medvešček Časovno omejevanje dostopa do interneta DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information