POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Size: px
Start display at page:

Download "POROČILO PRAKTIČNEGA IZOBRAŽEVANJA"

Transcription

1 Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ul Maribor VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informatika Programska oprema POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V Aditus d.o.o. Velenje Čas opravljanja: od do Mentor: Simon Himmelreich Študent: Miha Majcen Vpisna številka: E-pošta: miha.majcen@uni-mb.si Telefon:

2

3

4 KAZALO Uvod... 6 Uvod... 6 Opis gospodarske družbe in produktov... 6 ucrm... 7 Digitalno oglaševanje Opis praktičnega izobraževanja projektnega dela študenta Adobe Flex Action Script MXML CSS Adobe Flex Builder Spletne storitve za prenos stanja REST Projekt Provox Switch Board Lite Opis aplikacije Nastavitve aplikacije Prijava v aplikacijo Obdelava podatkov s Proxy strežnika Prikaz okna ob dohodnih in odhodnih klicih Klicanje Sprejem dohodnih klicev Prekinitev klicev Prevezovanje klicev Postavitev klicev na čakanje Telefonski imenik Pregled zadnjih klicev Sklep Priloge... 36

5 KAZALO SLIK Slika 1: Spletna aplikacija ucrm... 7 Slika 2: Sistem za digitalno oglaševanje... 8 Slika 3: Struktura okolja Adobe Flex Builder Slika 4: Urejanje MXML datoteke v okolju Adobe Flex Builder Slika 5: Osnovne nastavitve aplikacije Slika 6: Pojavno okno ob dohodnem klicu Slika 7: Glavno okno aplikacije Slika 8: Pojavno okno ob aktivnem klicu Slika 9: Pojavno okno ob klicu na čakanju Slika 10: Telefonski imenik... 29

6 Uvod Uvod S podjetjem Aditus d.o.o. sem se spoznal v 3. semestru študija, ko smo pri predmetu Razvoj programskih sistemov v sklopu vaj naredili en manjši projekt za njih. Po končanem projektu, sem se odločil za opravljanje obvezne študijske prakse pri njih, saj imajo dobro ekipo razvoja in zanimive projekte. Za mojo prakso smo si zastavili projekt izdelave namizne več platformske aplikacije Provox Switch Board Lite. Namen aplikacije je lažji pregled in upravljanje klicev uporabnika, ki uporablja naše storitve s področja telefonije. Med opravljanjem prakse, sem se podrobneje spoznal s samim načrtovanjem aplikacij, delovanjem interne telefonije, ter se naučil veliko novega s področja programiranja. Opis gospodarske družbe in produktov Inovativno podjetje Aditus d.o.o. se ukvarja z inženiringom na področju IP telefonije, svojim strankam pa zagotavlja velike prihranke pri klicih. Imajo tudi močno ekipo informacijskega razvoja, ki skrbi za programsko podporo strankam, ter ima veliko svojih produktov. Med drugimi lahko izpostavimo lasten spletni CRM sistem, ki omogoča boljšo interakcijo podjetij s svojimi strankami, ter sistem za digitalno oglaševanje. Svoje produkte načrtujejo, razvijajo in vzdržujejo sami, poskrbijo pa tudi za izobraževanje, uvajanje in podporo uporabnikom.

7 ucrm Spletna rešitev za upravljanje odnosov s strankami, ki so jo razvili na Aditusu se imenuje ucrm (Slika 1). Namenjen je malim ter srednjim podjetjem, prodajnikom, vodstvu,.. V oddelku informacijskega razvoja smo ga uporabljali predvsem za naloge, zadolžitve in poročila. Tako smo vsaki dan na koncu izbrali na katerem projektu smo opravili kakšno nalogo, ter napisali poročilo, vodstvo pa je lahko videlo kaj smo delali koliko časa. Slika 1: Spletna aplikacija ucrm

8 Digitalno oglaševanje Sistem za digitalno oglaševanje (Slika 2) je bil razvit za potrebe podjetja Digitalmedia d.o.o., ki se ukvarja z digitalnim oglaševanjem. Podjetje ima razporejene velike zaslone na lokacijah po Sloveniji, s sistemom Digitalno oglaševanje, pa določajo na kateri lokaciji se kdaj predvaja kateri spot. Sistem omogoča da naložimo poljuben reklamni spot, mu določimo urnik predvajanja, na katerih lokacijah se naj predvaja, ter na katerem delu zaslona se naj predvaja. Seveda lahko za vsaki zaslon pogledamo kaj je na urniku, ter sliko kaj je trenutno na zaslonu (živo sliko). V sistemu lahko tudi preverimo kateri zasloni so na zvezi (on-line), ter zahtevamo sinhronizacijo. Slika 2: Sistem za digitalno oglaševanje

9 1. Opis praktičnega izobraževanja projektnega dela študenta V oddelku smo se odločili, da bom v času obvezne prakse razvil namizno aplikacijo za upravljanje s klici uporabnika. Ker bodo imeli ciljni uporabniki različne operacijske sisteme, je pomembno da aplikacija dela na različnih platformah. Tako smo se odločili da bo aplikacija razvita v programskem ogrodju Adobe Flex 3, ki je namenjeno bogatim spletnim aplikacijam, ter vsebuje tudi platformo Adobe AIR za namizne aplikacije, ki podpira operacijske sisteme Windows, Linux in MAC OS. 1.1 Adobe Flex 3 Adobe Flex je programsko ogrodje, ki ga je razvilo podjetje Adobe in je namenjeno izdelavi bogatih spletnih aplikacij. Za podporo namiznim aplikacijam je Adobe naredil platformo AIR (Adobe Integrated Runtime), ki teče na operacijskih sistemih Windows, Linux in MC OS. S to platformo lahko normalno zaganjamo spletne aplikacije brez uporabe spletnega brskalnika. Za pisanje poslovne logike je uporabljen skriptni programski jezik Action Script 3, za obliko pa označevalni jezik MXML. Pred uporabo spletnih aplikacij je potrebno imeti nameščen Adobe Flash Player, če pa želimo uporabljati namizne aplikacije, pa je potrebno namestiti Adobe AIR (Adobe Integrated Runtime). 1.2 Action Script 3 Action Script 3 je skriptni programski jezik, ki se primarno uporablja za razvijanje spletnih strani in aplikacij z uporabo Adobe Flash Player-ja. Razvilo ga je podjetje Macromedia, sedaj pa je v lasti Adobe-a. Na začetku je bil uporaben za 2D animacije, kasnejše verzije pa za spletne igre in bogate spletne aplikacije. Na spodnjem primeru (Koda 1), je tipičen primer, kjer izpišemo v konzolo niz Pozdravljen svet. public class Praksa { public function Praksa(){ var tekst:string = "Pozdravljen svet!"; trace(text); Koda 1: Pozdravljen svet v Action Script 3

10 1.3 MXML MXML je označevalni jezik za uporabniški vmesnik, ki temelji na XML-ju. Uporablja se v kombinaciji s programskim jezikom Action Script za razvijanje bogatih spletnih aplikacij. Z njim deklariramo obliko uporabniškega vmesnika, lahko pa je uporabljen za implementacijo poslovne logike in obnašanja spletnih aplikacij. Vsem gradnikom lahko tudi definiramo stile s CSS predlogami. V spodnjem primeru (Koda 2) se nam ob kliku na gumb Pozdravi izpiše niz Pozdravljen svet!. Vidimo lahko da je znotraj bloka Script napisana poslovna logika v programskem jeziku Action Script. <?xml version="1.0" encoding="utf-8"?> <mx:windowedapplication xmlns:mx= layout="absolute" width="400" height="50"> <mx:script> <![CDATA[ private function pozdravisvet():void { labela.text = "Pozdravljen svet!" ]]> </mx:script> <mx:label id="labela" text=" " x="10" y="10" width="200"/> <mx:button x="230" y="10" label="pozdravi" click="pozdravisvet();"/> </mx:windowedapplication> Koda 2: Pozdravljen svet v MXML 1.4 CSS CSS (Cascading Style Sheets) je predolga, ki opisuje predstavitveno semantiko (izgled in postavitev) posameznih gradnikov napisanih v označevalnih jezikih. Z njim se določajo atributi, kot so pisava, velikost črk, odmiki, Spodaj (Koda 3) se nahaja primer CSS-a, ki bi ga lahko določili labeli s prejšnjega primera (Koda 2)..Labela { Width: 200px; font-size: 11pt; font-family: Arial; Koda 3: CSS primer

11 1.5 Adobe Flex Builder Za razvijanje Flex aplikacij, je Adobe izdal razvijalno okolje (IDE) Adobe Flex Builder, ki temelji na okolju Eclipse. Ta omogoča kreiranje projekta in urejanje MXML in Action Script datotek, komunicira pa tudi z Flex (MXML) prevajalnikom, ki ustvarja swf in html datoteke. Na novo ustvarjen projekt tipično vsebuje tri tipe datotek: izvorno kodo, multimedijsko vsebino in knjižnice. Slika 3: Struktura okolja Adobe Flex Builder Urejanje Action Script datotek, je tipično za okolje Eclipse, tako, da lahko uporabljamo bližnjice kot so ctrl + d za izbris trenutne vrstice, f3 nas postavi na definicijo funkcije ali spremenljivke, ctrl +b za prevajanje kode, ter najpomembnejša crtl + presledek, ki nam avtomatsko dokonča stavek, ko smo vnesli samo prvih nekaj črk. Ena izmed najboljših funkcij Flex Builder-ja pa je urejevalnik in oblikovalnik MXML datotek (Slika 4). Z njim lahko urejamo obliko uporabniškega vmesnika aplikacije, tako grafično, kot tudi programsko. Najbolj je uporabljeno grafično oblikovanje, kjer kliknemo na želeni gradnik in ga preprosto prenesemo v našo aplikacijo. Ko ga namestimo na želeno mesto pa mu nastavimo lastnosti kot so postavitev, efekti, vsebina, določimo mu lahko funkcijo, ki se kliče ob nekem dogodku, Programsko urejanje MXML datotek nam zelo pohitri delo, ko moramo spremeniti kakšen atribut, klic funkcije ipd. V tem urejanju pa seveda lahko uporabljamo enake bližnjice, kot pri urejanju Action Script datotek.

12 Slika 4: Urejanje MXML datoteke v okolju Adobe Flex Builder 1.6 Spletne storitve za prenos stanja REST Prenos stanja REST se natančno nanaša na zbirko omrežnih arhitekturnih principov, ki opisujejo, kako so viri definirani in naslovljeni. Običajno se z njim prenaša domensko specifične podatke preko protokola http, brez dodatnih sporočilnih slojev, kot so SOAP ali sledenja sej preko piškotkov. Za uporabo le-tega smo se odločili, saj ponuja tipične zmožnosti spletnih storitev, vendar z veliko manj prekomernih podatkov na strežniku, kar pomeni veliko boljšo prepustnost strežnika.

13 1.7 Projekt Provox Switch Board Lite Opis aplikacije Namen aplikacije je olajšanje in pohitritev upravljanja klicev uporabnika. Uporabnik ima vedno zagnano aplikacijo, ki se nahaja v sistemski vrstici operacijskega sistema in nima odprtega okna. Tako aplikacija uporabnika ne moti med njegovim delom. Ko dobi uporabnik klic, se mu pojavi ob sistemski vrstici majhno pojavno okno, na katerem so podatki o klicu, zraven pa gumbi, ki omogočajo dvig, prekinitev, prevezavo klica ter gumb, ki postavi klic na čakanje, tako da ima uporabnik prosto linijo in lahko opravlja drugi klic. Podatke o vseh klicih v podjetju dobi iz Proxy strežnika, na katerega se poveže preko protokola Telnet. Aplikacija sproti obdeluje podatke, ki jih prebere iz Proxy-a, ter prikazuje samo klice, ki se navezujejo na prijavljenega uporabnika. Glavno okno aplikacije, na katerem je številčnica in polje za vnos telefonske številke, ter gumbi za klicanje in druge funkcionalnosti, pa je majhno in ponavadi zaprto. Odpremo ga s klikom na ikono aplikacije v sistemski vrstici. Za povečano uporabnost pa smo aplikaciji dodali telefonski imenik, ter pregled zadnjih klicev. Aplikacija vsebuje: - Nastavitve aplikacije - Prijava v aplikacijo - Obdelava podatkov s Proxy strežnika - Prikaz pojavnega okna ob dohodnih in odhodnih klicih - Klicanje - Dvig dohodnega klica - Prekinitev klica - Prevezovanje klica - Postavitev klica na čakanje - Telefonski imenik - Pregled zadnjih klicev

14 Nastavitve aplikacije Ob prvem zagonu aplikacije se odpre okno z nastavitvami (Slika 5). Okno vsebuje 4 zavihke in sicer Osnovne nastavitve, Funkcijske tipke, Preusmeritve in imenik. Privzeto je odprt zavihek Osnovno, kjer uporabnik vnese uporabniško ime in geslo, ki ga je dobil ob nakupu licence, izbere jezik, si nastavi kako dolgo naj bo odprto pojavno okno, izbere če želi ob kliku na številko v aplikaciji takoj klicati. Uporabnik si izbere še s katero aplikacijo hoče imeti sinhroniziran imenik (MS Outlook ali ucrm aplikacija), ter nastavi, če želi da se mu aplikacija samodejno zažene ob zagonu OS-a, ter če se mu pokaže pojavno okno za vnos novega kontakta, ob dohodnem klicu s številke, ki je nima v imeniku. Slika 5: Osnovne nastavitve aplikacije

15 Vse nastavitve se shranijo v lokalno podatkovno bazo aplikacije SQLLite. Nastavitve so shranjene v tabeli app_user_data, ki je v bistvu sekljalna tabela(hashmap), tako da ima 3 stolpce in sicer user, key in value. V stolpcu key se nahajajo kratki nazivi za vsako nastavitev, stolpec value je namenjen vrednostim tem nastavitvam, stolpec user pa hrani uporabniško ime uporabnika, ki si je shranil nastavitve. Tako lahko več uporabnikov shrani različne nastavitve. Tabela se ustvari ob prvem zagonu aplikacije (Koda 4). private function initappsettings():void { var sql:string = "CREATE TABLE IF NOT EXISTS app_user_data (" + " user TEXT, " + " key TEXT, " + " value TEXT, " + " PRIMARY KEY (user, key)" + ")"; this.dbconnection.executestatement(sql); Koda 4: Kreiranje tabele app_user_data Za branje in pisanje z baze sem napisal funkciji settingstodatabase in settingsfromdatabase (Koda 5). Prva funkcija poskuša shraniti nov zapis v bazo, če ta zapis že obstaja, pa ga posodobi z novo vrednostjo. Druga funkcija prebere iz baze vrednost, ki je shranjena pod ključem, ki ga podamo v parametru. { value public function settingtodb(key:string, value:string):string var sql:string = "INSERT INTO app_user_data (user, key, value) VALUES (:user, :key, :value )"; this.dbconnection.dbstatement.parameters[":user"] = this.username!=null? this.username : "system"; this.dbconnection.dbstatement.parameters[":key"] = key; this.dbconnection.dbstatement.parameters[":value"] = as String; if (this.dbconnection.executestatement(sql)) { return value; else { return this.updatesettingstodb(key, value); return null;

16 public function settingfromdb(key:string):string { var sql:string = "SELECT value from app_user_data WHERE user = :user AND key = :key"; this.dbconnection.dbstatement.parameters[":user"] = this.username!=null? this.username:"system"; this.dbconnection.dbstatement.parameters[":key"] = key; if (this.dbconnection.executestatement(sql)) { var result:sqlresult = this.dbconnection.dbstatement.getresult(); if (result!= null && result.data!= null) { var numresults:int = result.data.length; if (numresults == 0) { return null; else if (numresults == 1) { // OK var row:object = result.data[0]; return row.value; else { trace("vec zadetkov: " + numresults); else { Alert.show("Error when executing SQL: " + sql); return null; Koda 5: Funkcije za pisanje in branje nastavitev iz baze Naslednji zavihek v nastavitvah so Funkcijske tipke. Tu si uporabnik lahko nastavi funkcije posebnih tipk na Snom IP telefonu. Izbira lahko med hitrim klicanjem na poljubno zunanjo številko, preklop med linijami, klicem na poljubno interno številko,.. Ker je to že narejeno na ucrm projektu, aplikacija pa ne deluje brez povezave z internetom, sem to stran kar naložil z ucrm-ja preko HTML nalagalnika (HTML Loader). V URL naslovu mu preko parametra sporočim samo uporabniško ime uporabnika (Koda 6). <mx:html paddingtop="10" paddingleft="10" paddingright="10" width="100%" height="100%" location="{application.application.fnkkeysurl{applicat ion.application.appsettings.username" > </mx:html> Koda 6: HTML nalagalnik za stran Funkcijske tipke Tretji zavihek pa je namenjen nastavljanju preusmeritev. Nastavimo si lahko tri vrste preusmeritev in sicer brezpogojno, zaseden in ni odgovora. To je prav tako že narejeno na ucrm projektu, tako da sem spet uporabil HMTL nalagalnik, preko URL parametra pa sporočil uporabniško ime.

17 Zadnji zavihek pa je namenjen nastavitvam za telefonski imenik. Glede na izbrani vir sinhronizacije, pa se spremenijo nastavitve za ucrm imenik ali MS Outlook stiki. V prvi verziji aplikacije je možno samo dobiti kontakte z Outlook-a, tako, da tu ni nastavitev, pri ucrm pa si lahko nastavimo, katero kategorijo stikov želimo sinhronizirati, ter če se sinhronizacija izvede samodejno ko odpremo imenik, ali pa jo poženemo ročno. Vse nastavitve se shranijo v lokalno bazo opisano na začetku. Prijava v aplikacijo Ob nakupu licence za uporabo aplikacije, se uporabniku dodeli uporabniško ime in geslo. V prej opisani sistem ucrm, se vnesejo podatki o uporabniku, njegova interna številka, Auto-answer številka, podatki o Proxy strežniku na katerega se mora povezati aplikacija, ter seveda datum poteka licence. Ko uporabnik vnese uporabniško ime in geslo, ter klikne shrani, se aplikacija poskuša prijaviti v ucrm sistem, tako da pošlje preprosto HTTP zahtevo (angl. HTTP Request) aplikaciji ucrm (Koda 7), kot URL parameter ji pošlje uporabniško ime, v glavi sporočila je zakodirano geslo, in čaka na odziv (angl. Response). public function login():void { var service:httpservice = new HTTPService(); service.resultformat = "xml"; service.method = "GET"; service.headers["pass"] = Application.application.appSettings.password; service.url = RestServices.LOGIN.replace(RestServices.USERNAME, Application.application.appSettings.username); service.send(); Koda 7: HTTP zahteva za podatke o uporabniku Sistem ucrm, nam v primeru pravilnega uporabniškega imena in gesla ter veljavne licence vrne XML dokument s podatki uporabnika (Koda 8) (ime, priimek, interna številka, auto-answer številka; ip naslov, vrata, uporabniško ime ter geslo za proxy strežnik,.. ).

18 <?xml version="1.0" encoding="utf-8"?> <uporabnik> <sifra>3</sifra> <username>uporabnik</username> <ime>ime</ime> <priimek>priimek</priimek> <naziv /> <status>1</status> <stv_internih>1</stv_internih> <crm>true</crm> <konference>true</konference> <imenik>true</imenik> <interne> <interna> <stevilka>570</stevilka> <tip>1</tip> <autoanswer>false</autoanswer> <phone-ip> </phone-ip> </interna> <interna> <stevilka>670</stevilka> <tip>1</tip> <autoanswer>true</autoanswer> <vezana-na>570</vezana-na> <phone-ip /> </interna> </interne> <server> <naziv>aditus</naziv> <host> </host> <port>5040</port> <username>username</username> <password>password</password> <url_za_upravljanje> <stv_za_cakanje>8888</stv_za_cakanje> <stv_za_prekinitev>9999</stv_za_prekinitev> </server> </uporabnik> Koda 8: XML dokument s podatki o uporabniku Ko aplikacija dobi te podatke in jih obdela (Koda 9), se aplikacija poskusi povezati preko protokola Telnet na Proxy strežnik. Če je prijava uspešna, se spremeni ikona v sistemski vrstici, pojavi se tudi opozorilno okno, ki uporabniku sporoči, da je prijava uspešna, zapre se po 10ih sekundah.

19 private function httpserviceuporabnik_result(evt:resultevent):void { Application.application.user = new User(); Application.application.user.sifra = XML(evt.result).sifra; Application.application.user.ime = XML(evt.result).ime; Application.application.user.priimek = XML(evt.result).priimek; Application.application.user.username = XML(evt.result).username; Application.application.user.status = XML(evt.result).status; if ( Application.application.user.status == "1" && Application.application.user.username!= null) { loggedin = true; else { loggedin = false; Application.application.updateLogedinOut(); Application.application.user = new User(); DisplayManager.instance.error(ResourceManager.getInstance().getString("provoxSBLite","login_napaka_status")) ; return; //uporabniku nastavimo podatke o strezniku var server:serversettings = new ServerSettings(); server.host = XML(evt.result).server.host; server.port = XML(evt.result).server.port; server.username = XML(evt.result).server.username; server.password = XML(evt.result).server.password; server.stzahold = XML(evt.result).server.stv_za_cakanje; server.stzahangup = XML(evt.result).server.stv_za_prekinitev; Application.application.user.serverSettings = server; //uporabniku nastavimo podatke o internih stevilkah var xmllist:xmllist = XML(evt.result).interne.*; var collection:xmllistcollection = new XMLListCollection(xmlList); Application.application.user.interne = new ArrayCollection(); for each(var o:xml in collection) { var interna:interna = new Interna(o.stevilka, null, o.child("phone-ip"), null, o.autoanswer == "true"); interna.tip = o.tip; //interno dodamo k uporabnikovim internim Application.application.user.interne.addItem(interna); //uporabnika povezemo na proxy ProxyConnection.instance.connectToProxy(); Koda 9: Obdelava podatkov o uporabniku

20 Obdelava podatkov s Proxy strežnika Proxy strežnik je vmesni člen med samo aplikacijo in Asterisk sistemom, ki je odprto kodna implementacija programske centrale za telefonijo. Ta sistem uporablja podjetje Aditus za vse svoje stranke. Strežnik spremlja dogajanje na Asterisk sistemu, vse dogodke zanimive za aplikacijo pa pošilja naprej vsem odjemalcem, prav tako pa sporoča Asterisk sistemu, vse, kar mu pošljejo odjemalci. Aplikacija tako mora obdelati vse dogodke, ki jih dobi s Proxy strežnika, ter te dogodke uporabniku pravilno prikazati. Po kratki študiji sem izločil dogodke, ki jih ne rabim in tako prišel do šestih dogodkov, ki mi dajo dovolj informacij, da lahko uporabniku pravilno prikažem dogajanje. Prvi dogodek je Dial (Koda 10), ki se zgodi ko nekdo vnese številko, ter pritisne gumb za klicanje. Dialstring: 570 DestUniqueID: Destination: SIP/570-b Channel: SIP/669-b37d2250 SubEvent: Begin CallerIDName: Miha Majcen AA UniqueID: Privilege: call,all Event: Dial CallerIDNum: 669 EventID: Koda 10: Primer dogodka Dial Vrstica Event nam pove, vrsto dogodka, v primeru (Koda 10), vidimo da gre za dogodek Dial. Naslednji pomembni podatek je CallerIDNum, ki nam pove telefonsko številko s katere je bil prožen klic. Če je klic znotraj interne telefonije, potem lahko v vrstici CallerIDName vidimo naziv osebe, ki je kliče. Številka telefona, ki je klican, je napisana v Dialstring vrstici. Naslednji dve pomembni informaciji sta Destination, ki nam pove kanal klicanega telefona, ter Channel, ki pa je kanal telefona, ki kliče. Te dve informaciji bosta uporabni kasneje, saj se vse prevezave prožijo preko kanalov in ne telefonskih številk. Zadnji zanimivi podatek še je DestUniqueID, ki je edinstvena šifra klica. Ta šifra bo enaka v vseh dogodkih, ki so povezani s tem klicem. Če aplikacija ugotovi, da se uporabnikova interna številka nahaja v Dialstring-u, potem si shrani vse zgoraj omenjene podatke, saj gre za dohodni klic. V primeru da se nahaja v vrstici CallerIDNum, pa gre za odhodni klic, in spet se shranijo zgoraj omenjeni podatki.

21 CallerIDNum: 669 Event: NewCallerid CallerIDName: Privilege: call,all CID-CallingPres: 0 (Presentation Allowed, Not Screened) Channel: SIP/669-b37d2250 Uniqueid: EventID: Koda 11: Primer dogodka NewCallerid Dogodek, ki sledi je NewCallerid (Koda 11), ta nam pove številko klicatelja, saj ko gre za zunanji klic (ne interni), dogodek Dial ne sporoči te številke. Pri tem dogodku, pogledamo če smo dobili dogodek Dial z enako edinstveno šifro (Uniqueid), v primeru da smo ga našli mu nastavimo številko klicatelja (CallerIDNum). ChannelStateDesc: Ringing CallerIDNum: 570 Event: Newstate CallerIDName: Privilege: call,all Channel: SIP/570-b ChannelState: 5 Uniqueid: EventID: Koda 12: Primer dogodka Newstate s stanjem Ringing Za dogodkom NewCallerid, pa sledi dogodek Newstate, ki nam sporoči trenutno stanje klica. Tako ločimo dve stanji tega dogodka in sicer, ko telefon zvoni (Ringing Koda 12) in ko je zveza vzpostavljena (Up Koda 13). Ko dobimo novo stanje Ringing, preverimo, če že imamo klic s to edinstveno šifro, potem uporabniku sporočimo da zvoni telefon. Aplikacija prikaže pojavno okno zraven sistemske vrstice z sporočilom»kliče vas«oz.»kličete«ter telefonsko številko. Sporočilo nastavimo glede na to, kje se je pojavila uporabnikova interna številka pri dogodku Dial. ChannelStateDesc: Up CallerIDNum: 570 Event: Newstate CallerIDName: Privilege: call,all Channel: SIP/570-b197b810 ChannelState: 6 Uniqueid: EventID: Koda 13: Primer dogodka Newstate s stanjem Up

22 V primeru stanja Up, pa spet poiščemo klic s enako edinstveno šifro, ter spremenimo sporočilo v pojavnem oknu na»na zvezi z«. Ko eden izmed udeležencev klica odloži slušalko, pa pride iz Proxy strežnika dogodek Hangup (Koda 14). Kateri klic je bil prekinjen izvemo preko edinstvene šifre, pojavno okno za ta klic skrijemo, klic pa shranimo v bazo med zadnje klice. V primeru da je bilo prejšnje stanje klica Ringing, potem mu še nastavimo da je bil neodgovorjen. CallerIDNum: 570 Event: Hangup Cause-txt: Normal Clearing Cause: 16 CallerIDName: <unknown> Privilege: call,all Channel: SIP/570-b197b810 Uniqueid: EventID: Koda 14: Primer dogodka Hangup S prej opisanimi dogodki lahko aplikacija prepozna večino klicev. Sedaj še je potrebno razpoznati prevzete in prevezane klice. To nam sporočita dogodka Masquerade in Bridge. Dogodek Bridge se zgodi ob prevezanem klicu, vsebuje pa za aplikacijo dve pomembni informaciji in sicer kanal 1 (channel1), ter kanal 2 (channel2). Če imamo že shranjen kateri klic, ki uporablja kanal, ki se pojavi v tem dogodku, potem smo prepoznali prevezan klica. Aplikacija potem to sporoči uporabniku. Še zadnji dogodek Masquerade pa se proži, ko nekdo prevzeme klic uporabniku. Ta dogodek obdelamo enako kot Bridge, le da ima ta channel1 in channel2 preimenovana v original in clone. Prikaz okna ob dohodnih in odhodnih klicih Ko aplikacija prepozna klic, odpre pojavno okno (Slika 6), s katerim uporabniku sporoči informacijo o klicu. Kot lahko vidimo so na tem oknu štirje gumbi, ki omogočajo dvig klica, prekinitev klica, prevez klica ter postavitev klica na čakanje. Ko ima klic stanje Ringing, potem sta izključena gumba prevezava in na čakanje.

23 Slika 6: Pojavno okno ob dohodnem klicu V primeru da imamo opravka z več klici na enkrat, moramo paziti, da se pojavna okna ne prekrivajo. Tako vedno preden prikažem novo pojavno okno, določim najbližjo pozicijo zraven sistemske vrstice, ki pa še ni zasedena (Koda 15). S funkcijo isoccupied pa pregledamo, če na tej poziciji že obstaja kakšno odprto okno. for(x = screen.visiblebounds.x + screen.visiblebounds.width - width - gutter; x >= screen.visiblebounds.x; x -= (width + gutter)){ for(y = screen.visiblebounds.y + screen.visiblebounds.height - height gutter; y >= screen.visiblebounds.y; y -= 10){ var testrect:rectangle = new Rectangle(x, y, width + gutter, height + gutter); if(!isoccupied(testrect)){ spot.x = x; spot.y = y; return spot; private function isoccupied(testrect:rectangle):boolean{ var occupied:boolean = false; for each (var window:nativewindow in NativeApplication.nativeApplication.openedWindows){ occupied = occupied window.bounds.intersects(testrect); return occupied; Koda 15: Določitev pozicije pojavnega okna Vsa odprta pojavna okna hranim v sekljalni tabeli, ključ te tabele pa je edinstvena šifra klica, ki ga dobimo s Proxy strežnika. Ob klicu funkcije, ki prikaže pojavno okno, dobim v

24 parametru klic. Najprej preverim, če je klic s to šifro že v sekljalni tabeli odprtih oken, potem samo oknu spremenim vsebino glede na stanje klica, drugače pa shranim klic v to tabelo in odprem novo pojavno okno. Ob vsakem klicu te funkcije, na koncu nastavim vidljivost gumbov za nadzor klica (Koda 16). public function isbuttonenabled(button:string):boolean { if (button == B_PREKINI) { if (klic.state == "Hold") { return false; else { return true; else if (button == B_PREVZEMI) { if (((klic.incomming && klic.missed) (klic.state == "Hold")) && Application.application.user.autoAnswer!= null) { return true; else { return false; else if (button == B_CAKANJE) { if (!klic.missed && klic.state!= "Hold") { return true; else { return false; else if (button == B_PREVEZI) { if (!klic.missed) { return true; else { return false; return true; Koda 16: Vklop in izklop gumbov Klicanje Iz aplikacije je možno klicati na več načinov. Lahko odtipkamo številko v glavnem oknu (Slika 7) in kliknemo gumb kliči, kličemo lahko tudi iz telefonskega imenika, ter s seznama zadnjih klicev.

25 Slika 7: Glavno okno aplikacije Klicanje sem implementiral, tako da pošljem Proxy strežniku ukaz z vsemi podatki, le-ta pa proži klic na Asterisk centrali. Kot lahko vidite na primeru (Koda 17), se pošljejo Proxy strežniku podatki o kanalu (SIP/ {uporabnikova interna št), številka katero želimo klicati (Exten), nastavimo mu prioriteto (Priority), čas pred iztekom (Timeout), ter klicatelja (Callerid). _socket.writeln("action: Originate"); _socket.writeln("channel: SIP/" + user.interna); _socket.writeln("context: from-ip-phone"); _socket.writeln("exten: " + stevilka); _socket.writeln("priority: 1"); _socket.writeln("timeout: 30000"); _socket.writeln("callerid: " + user.interna); _socket.writeln("actionid: "+_socket.actionid); _socket.writeln(""); Koda 17: Primer zahteve za proženje klica

26 Sprejem dohodnih klicev IP telefonom priključenim na Asterisk centralo ne moremo nikakor poslati sporočila, da naj sprejme klic. Brez te možnosti pa bi aplikacija zelo izgubila svoj namen, zato smo problem rešili z uporabo auto-answer številke. Vsaki telefonski številki na Asterisk sistemu, se da nastaviti, da ob dohodnem klico samodejno prevzame klic. Tako bo vsak uporabnik dobil dodatno interno številko, ki bo imela vključeno to možnost. Ko bo uporabnik dvignil z aplikacijo, bo v bistvu klic preusmerjen na njegovo auto-answer številko, na katero pa se bo njegov telefon samodejno javil. Uporabnik se tega ne zaveda, pojavi se mu samo pojavno okno s sporočilom, da je na zvezi, klic pa je dvignjen in na njegovem telefonu. Podatek o auto-answer številki uporabnika dobi aplikacija ob prijavi v sistem. Ko uporabnik klike na gumb»prevzemi klic«na pojavnem oknu, aplikacija sporoči Proxy strežniku preusmeritev na auto-answer številko uporabnika (Koda 18), strežnik pa to sporoči naprej sistemu Asterisk. public function answer(klic:klic):void { if (Application.application.user.autoAnswer!= null) { var key:string = _klici.getkey(klic); (Klic)(_klici.getValue(key)).state = "Autoanswer"; redirectklictonumber(klic,application.application.user.autoanswer); public function redirectklictonumber(klic:klic, number:string):void { // funkcija, ki preusmeri klic iz SIPa na določeno številko _socket.writeln("action: Redirect"); _socket.writeln("channel: " + klic.channel); _socket.writeln("exten: " + number); _socket.writeln("context: from-ip-phone"); _socket.writeln("priority: 1"); _socket.writeln("actionid: "+_socket.actionid); _socket.writeln(""); Koda 18: Odgovor na dohodni klic Ko Asterisk centrala uspešno preusmeri klic, pa dobi aplikacija podatke o dogodku (Newstate - Up) s Proxy strežnika, ki jih nato obdela in ustrezno spremeni sporočilo na pojavnem oknu.

27 Prekinitev klicev Uporabnik lahko s klikom na gumb»prekini klic«, konča trenutni klic. Aplikacija pošlje Proxy strežniku dogodek Hangup, le-ta pa posreduje podatke centrali. Centrala prekine klic, aplikacija pa dobi enak dogodek (Hangup), kot ga dobi ob prekinitvi klica s telefonom. Kot vidimo v primeru (Koda 18), v dogodek Hangup ne damo uporabnikove interne, pač pa kanal na katerem se nahaja klic. Podatke o kanalu smo si shranili že ob dogodku Dial. public function hangup(klic:klic):void { _socket.writeln("action: Hangup"); _socket.writeln("channel: " + klic.destinationchannel); _socket.writeln("actionid: "+_socket.actionid); _socket.writeln(""); Koda 19: Prekinitev klica Prevezovanje klicev Prevezovanje lastnih klicev je mogoče le ko imamo aktiven klic, ali pa ko damo klic na čakanje. Implementiral sem ga s pomočjo globalne spremenljivke prevezi, kateri se ob kliku na gumb preveži (Slika 8), nastavi vrednost na true. Telefonsko številko, na katero želimo prevezati klic lahko vnesemo v okence za klicanje (Glavno okno), ali pa ga preprosto izberemo v telefonskem imeniku. S klikom na gumb kliči, pa se kliče funkcija redirectklictonumber (Koda 18), ki preusmeri klic, nato pa še nastavimo spremenljivko prevezi na false. Ko je centrala prevezala klic, dobimo dogodek Hangup, pri katerem aplikacija zapre pojavno okno. Ko je vrednost spremenljivke prevezi enaka false, pa klik na gumb kliči proži klicanje na izbrano / vneseno telefonsko številko. Slika 8: Pojavno okno ob aktivnem klicu

28 Postavitev klicev na čakanje V aplikacijo sem vključil tudi možnost postavitve klica na čakanje. Na IP telefonih je to rešeno tako, da telefon začne predvajati glasbo na trenutno linijo in avtomatsko preklopi na prosto linijo. Ker pa, kot sem že prej omenil, nimam možnosti upravljati telefona z aplikacije, smo to funkcijo omogočili z dodatno interno številko na centrali, ki avtomatsko dvigne klic in prične predvajati glasbo. Številko te interne dobimo pri prijavi v sistem. Tako sem funkcijo na čakanje implementiral kot prevezavo klica na določeno številko opisano zgoraj. Ker pa po prevezavi dobim dogodek Hangup, sem si klic označil kot»na čakanju«, pri obdelovanju dogodka Hangup, pa sem dodal pogoj, da klic ne sme biti označen kot»na čakanju«. Na koncu še je bilo potrebno spremeniti vsebino sporočila na pojavnem oknu (Slika 9), ter osvežiti prikaz gumbov. Slika 9: Pojavno okno ob klicu na čakanju Ker je funkcija Divig dohodnih klicev implementirana kot prevezava kanala od klica na uporabnikovo auto-answer številko, sem to funkcijo lahko uporabil za prevzem klica iz čakanja.

29 Telefonski imenik Za lažje upravljanje in pregled klicev, aplikacija vsebuje modul Telefonski imenik (Slika 10). Kontakti so sinhronizirani z aplikacijo ucrm preko spletnih servisov, na operacijskih sistemih MS Windows, ki imajo naložen tudi MS Outook, pa še ima možnost uvoza kontaktov iz programa MS Outlook. Vir kontaktov se izbere v nastavitvah. Slika 10: Telefonski imenik Kontaktu lahko vnesemo ime, priimek in e-naslov, dodamo pa mu lahko do 8 telefonskih številk, vsaki številki pa lahko določimo enega izmed tipov: telefon doma, telefon služba, GSM, GSM služba, interna, FAX doma, FAX služba ter drugo. Kontakte je možno filtrirati po nazivu, telefonski številki ter po tipu kontakta (podjetje, osebni).

30 Sinhronizacija kontaktov z aplikacijo ucrm Najprej sem moral v aplikaciji ucrm implementirati spletne storitve za prenos stanj, ki omogočajo dodajanje, urejanje in brisanje kontakta, ter spletno storitev, ki nam pošlje vse kontakte. Kontakti v ucrm-ju so ločeni na 2 tipa in sicer Podjetje in Osebni. Kontakte tipa Podjetje vidijo vsi uporabniki aplikacije ucrm v istem podjetju, torej so v bistvu imenik podjetja, kontakti tipa Osebni, pa so last posameznega uporabnika. Ker bi vsako spremembo kontakta tipa Podjetje videli vsi v podjetju, smo se odločili, da se teh kontaktov ne bo dalo urejati, dodajati ali brisati v aplikaciji Provox Switch Board Lite. Avtorizacijo na vseh spletnih storitvah sem rešil tako, da sem kot parameter v URL naslovu podal uporabniško ime, geslo pa se pošlje v glavi http zahteve. Prva storitev nam vrne XML dokument z vsemi kontakti (Koda 20) tipa Podjetje in Osebni, ki jih ima uporabnik s podanim uporabniškim imenom. <?xml version="1.0" encoding="utf-8"?> <imenik> <kontakt ="" ime="boris" priimek="marolt" naziv="marolt Boris" nagovor="" pklnaziv="" podjetje="aditus d.o.o." sifra="857" sifrakntosebe="58878" srednjeime="" tip="1" webpage="" whitelisted="true" blacklisted="false"> <telefon tip="10"> </telefon> <telefon tip="40"> </telefon> </kontakt> </imenik> Koda 20: Primer XML odgovora z vsemi kontakti Spletna storitev za prenos stanj REST je implementirana v programskem jeziku Java v ogrodju Jboss Seam 2.1. Najprej preveri, če obstaja uporabnik z tem uporabniškim imenom in geslom, ter če ima veljavno licenco, nato pa vzame iz baze vse kontakte, ki jih ima uporabnik in jih shrani v XML dokument, ta dokument pa se pošlje kot odziv (angl. Response) public StreamingOutput getimenik(@pathparam("username") String String password) { if (username == null username.equals("") password == null password.equals("")) { return null; final String hash = PasswordService.instance().generateSaltedHash(password,username); try {

31 final Sodelavec sodelavec = (Sodelavec)entityManager.createQuery("FROM Sodelavec s WHERE s.username =:username and s.geslo = :password and s.sdldata.provox = true") hash).setparameter("username", username).setparameter("password",.getsingleresult(); final List<TlfImenik> zapisi = entitymanager.createquery("select tlfimenik from TlfImenik tlfimenik WHERE tlfimenik.sodelavec=:sodelavec OR (sodelavec IS NULL AND podjetje = :podjetje)"); return new StreamingOutput() { public void write(outputstream outputstream) throws IOException,WebApplicationException { outputimenik(outputstream, zapisi, sodelavec); ; catch (NoResultException e) { throw new WebApplicationException(Response.Status.NO_CONTENT); Koda 21: Spletna storitev, ki nam vrne vse uporabnikove kontakte Ko aplikacija dobi vse kontakte iz ucrm-ja, jih shrani v povezani seznam razreda TlfImenik. Ta razred vsebuje podatke o kontaktu in pa povezani seznam njegovih telefonskih številk. Kontakte, ki so tipa Osebni, lahko urejamo v aplikaciji, tako da izberemo kontakt in kliknemo gumb uredi. Odpre se nam okno, kjer lahko uredimo / vnesemo podatke o kontaktu (Slika 10). S klikom na gumb Shrani, aplikacija najprej pošlje spletni storitvi za urejanje XML dokument s podatki o kontaktu (Koda 20). Ta storitev najde kontakt s podano šifro in mu nastavi nove vrednosti v bazi. Če je posodobitev uspela vrne odgovor true, aplikacija pa zapre okno za urejanje in obvesti uporabnika o uspešni posodobitvi. V primeru, da je prišlo kaj narobe in storitev ni uspela posodobiti kontakta, pa vrne false, aplikacija pusti okno za urejanje odprto, javi pa uporabniku, da je prišlo do napake in da naj poskusi ponovno. Dodajanje novih kontaktov je enako kot urejanje, le da aplikacija pošlje XML dokument spletni storitvi za dodajanje. Ta dela enako kot storitev za urejanje, le da ne posodablja podatkov, ampak jih samo zapiše v bazo. Vsi kontakti, ki jih dodamo v tej aplikaciji so tipa Osebni.

32 Še zadnji spletna storitev za kontakte, pa je namenjena brisanju. Preko XML dokumenta, ji pošljemo šifro kontakta, ki ga želimo izbrisati, če je brisanje uspelo dobimo kot http odziv niz true. Po vsakem uspešnem prenosu stanja v aplikacijo ucrm, ponovno naložimo vse kontakte iz aplikacije ucrm, tako, da so podatki vedno sinhronizirani. Prav tako se kontakti sinhronizirajo vedno ko odpremo telefonski imenik, možno pa je sinhronizacijo klicati ročno, s klikom na gumb sinhroniziraj kontakte v oknu Telefonski imenik (Slika 10). Sinhronizacija kontaktov z programom MS Outlook Ker aplikacije razvite v Flex tehnologiji tečejo v navideznem peskovniku, nimajo pravic dostopati do podatkov na lokalnem računalniku. Zato je bilo za sinhronizacijo s programom MS Outlook potrebno napisati program, ki bo tekel nevidno in bo odprl vtičnico na določenih vratih, na katero se bo aplikacija povezala, program pa bo prebral vse MS Outlook kontakte in jih napisal na vtičnico. Za MS Outlook obstaja programski vmesnik (API) za ogrodje.net, ki omogoča dostop do kontaktov. Tako sem napisal preprosto Windows Forms aplikacijo, brez okna, ki se ob prvem zagonu zapiše v register, tako da se vedno zažene ob zagonu OS-a. Aplikacija ob zagonu odpre TCP vtičnico na vratih 8221 in čaka, da se poveže na njo odjemalec. Ko je odjemalec povezan, in pošlje na vtičnico niz znakov getall; potem aplikacija preko MS Outlook API-ja, prebere vse Outlookove kontakte in jih pošlje odjemalcu, nato pa spet čaka, da ji pošlje odjemalec neki ukaz. Outlook.Application app = new Outlook.ApplicationClass(); Outlook.NameSpace ns = app.getnamespace("mapi"); // Get the user's default contacts folder Outlook.MAPIFolder contacts = ns.getdefaultfolder(outlook.oldefaultfolders.olfoldercontacts); String message = ""; // Iterate through each contact for (int i = 1; i < contacts.items.count + 1; i++) { // Get a contact Outlook.ContactItem contact = (Outlook.ContactItem)contacts.Items[i]; message += contact.firstname + "," + contact.lastname + "," + contact.assistanttelephonenumber + "," + contact.businesstelephonenumber + "," + contact.business2telephonenumber + "," + contact.businessfaxnumber + "," + contact.callbacktelephonenumber + "," + contact.cartelephonenumber + "," +

33 contact.companymaintelephonenumber + "," + contact.hometelephonenumber + "," + contact.home2telephonenumber + "," + contact.homefaxnumber + "," + contact.isdnnumber + "," + contact.mobiletelephonenumber + "," + contact.othertelephonenumber + "," + contact.otherfaxnumber + "," + contact.pagernumber + "," + contact.primarytelephonenumber + "," + contact.radiotelephonenumber + "," + contact.telexnumber + "," + contact.ttytddtelephonenumber + ","; message += contact. 1address + ","; message += "\r\n"; System.Runtime.InteropServices.Marshal.ReleaseComObject(contact); contact = null; System.Runtime.InteropServices.Marshal.ReleaseComObject(contacts); System.Runtime.InteropServices.Marshal.ReleaseComObject(ns); System.Runtime.InteropServices.Marshal.ReleaseComObject(app); contacts = null; ns = null; app = null; return message; Koda 22: Branje kontaktov iz programa MS Outlook Ker je to branje kontaktov počasno, sem se odločil, da urejanje, brisanje in dodajanje kontaktov za MS Outlook ne bo mogoče. Kontakti se naložijo ob zagonu aplikacije, lahko pa jih sinhroniziramo ročno, s klikom na gumb Sinhroniziraj kontakte. Pregled zadnjih klicev Modul zadnji klici vsebuje seznam zadnjih 100 klicev, ki so bili opravljeni, ko je bila zagnana aplikacija. Vsak klic, ki ga dobimo ob dogodku Dial označimo za neodgovorjen, pri dogodku Newstate; stanje Up, ga označimo za odgovorjenega, pri dogodku Hangup, pa podatke o klicu shranimo v lokalno bazo. Če smo shranili v bazo zapis z zaporedno številko 101, odstranimo zapis s številko 1 in popravimo vsem zaporedne številke. Podatke o zadnjih klicih nalagamo iz podatkovne baze vsakič, ko odpremo okno z zadnjimi klici (Koda 23). <mx:datagrid height="400" id="lastcallsgrid" dataprovider="{klici" x="18" y="61" change="lastcallsgridchanged();">

34 <mx:columns> <mx:datagridcolumn width="10" sortable="false"> <mx:itemrenderer> <mx:component> <mx:image source="{data.imagepath()" width="10" /> </mx:component> </mx:itemrenderer> </mx:datagridcolumn> <mx:datagridcolumn headertext="klicani sortable="false" > <mx:itemrenderer> <mx:component> <mx:label text="{data.calledidnameandnumb()"/> </mx:component> </mx:itemrenderer> </mx:datagridcolumn> <mx:datagridcolumn headertext="datum sortable="false" > <mx:itemrenderer> <mx:component> <mx:vbox> <mx:dateformatter formatstring="dd.mm.yyyy JJ:NN:SS" id="datetimeformatter"/> <mx:label text="{datetimeformatter.format(data.date)"/> </mx:vbox> </mx:component> </mx:itemrenderer> </mx:datagridcolumn> </mx:columns> </mx:datagrid> <mx:canvas x="18" y="10" width="362" height="43"> <mx:checkbox x="10" y="10" label="prikaži neodgovorjene" id="showmissed" change="applyfilter() /> <mx:checkbox x="133.5" y="10" label="prikaži odhodne id="showoutgoing" change="applyfilter() /> <mx:checkbox x="244" y="10" label="prikaži prejete" id="showincomming" change="applyfilter();"/> </mx:canvas> <mx:button x="18" y="479" label="počisti izbrane" click="clearselected();" id="clearselectedbutton" width="100"/> <mx:button x="125" y="479" label="počisti vse" click="clearall();" width="100"/> <mx:button x="233" y="479" label="pokliči" click="call();" id="callbutton" width="100"/> <mx:button x="341" y="479" label="zapri" click="close();" id="closebutton" width="100"/> Koda 23: Okno Zadnji klici v označevalnem jeziku MXML

35 2. Sklep Na praktičnem izobraževanju sem povezal večino znanja pridobljenega na fakulteti, temu pa še dodal veliko novega. Pridobil sem zelo pomembne izkušnje na področju načrtovanja, razvijanja in testiranja aplikacij. Spoznal sem osnovno delovanje IP telefonije, ter nadgradil svoje znanje iz podatkovnih baz. Zahvaljujem se podjetju Aditus d.o.o., ki me je sprejelo na praktično izobraževanje, celotnemu kolektivu razvoja, ki me je podpiral, ter seveda mentorju, ki mi je predal veliko znanja.

36 3. Priloge - Pogodba o praktičnem usposabljanju

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

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

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

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

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

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

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

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

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

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

» 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

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

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

KONFIGURIRANJE NAROČNIŠKE CENTRALE IP 3CX

KONFIGURIRANJE NAROČNIŠKE CENTRALE IP 3CX LUKA MLAKER KONFIGURIRANJE NAROČNIŠKE CENTRALE IP 3CX Diplomsko delo Maribor, julij 2011 i Diplomsko delo visokošolskega strokovnega študijskega programa KONFIGURIRANJE NAROČNIŠKE CENTRALE IP 3CX Študent:

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

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

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

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

Š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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mobilna aplikacija za parkiranje

Mobilna aplikacija za parkiranje Univerza v Ljubljani Fakulteta za računalništvo in informatiko Arijan Ljoki Mobilna aplikacija za parkiranje DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE 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

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

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

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

Izdelava spletne aplikacije za video klepet

Izdelava spletne aplikacije za video klepet UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Štebe Izdelava spletne aplikacije za video klepet DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

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

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

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

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

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

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

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

Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov

Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Orač Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

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

Osnovna navodila za uporabo programskega paketa V3.1 STEP 7 MicroWIN 32

Osnovna navodila za uporabo programskega paketa V3.1 STEP 7 MicroWIN 32 ŠC Novo mesto Višja strokovna šola - elektronika Osnovna navodila za uporabo programskega paketa V3.1 STEP 7 MicroWIN 32 mag., univ. dipl. inž. ŠOLSKI CENTER NOVO MESTO, november 2004 KAZALO stran 1 UVOD...

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

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

Razvoj orodja za centralni nadzor posodobitev v platformi WordPress

Razvoj orodja za centralni nadzor posodobitev v platformi WordPress UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Vrhovnik Razvoj orodja za centralni nadzor posodobitev v platformi WordPress DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informacijske tehnologije Pametni telefon POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V Agilcon d.o.o. Čas opravljanja: od 1. 5. 2012 do 30. 6. 2012 Mentor v GD: dr.

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

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

Mobilna aplikacija za pregled informacij o prometu v Sloveniji

Mobilna aplikacija za pregled informacij o prometu v Sloveniji UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Majzelj Mobilna aplikacija za pregled informacij o prometu v Sloveniji DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

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

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Informatika v organizaciji in managementu RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ Mentor: izr. prof. dr. Robert Leskovar Kandidat: Boštjan

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

OpenAT aplikacija za Wavecom GSM/GPRS modeme

OpenAT aplikacija za Wavecom GSM/GPRS modeme DGPS.DR.AT OpenAT aplikacija za Wavecom GSM/GPRS modeme Kratek opis in navodilo za uporabo Verzija: 090130 (2.10) DGPS.DR.AT je OpenAt aplikacija, ki omoča prenos DGPS / RTK korekcije preko GSM omrežja.

More information

Navodila za namestitev in uporabo medprogramja HID ActivClient za Windows

Navodila za namestitev in uporabo medprogramja HID ActivClient za Windows Navodila za namestitev in uporabo medprogramja HID ActivClient za Windows Februar 2017 CREA plus d.o.o., www.creaplus.si, prodaja@creaplus.si 1 / 24 Kazalo 1. Programska oprema HID ActivClient... 3 1.1

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

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

Uporaba platforme WebRTC za učinkovitejšo komunikacijo

Uporaba platforme WebRTC za učinkovitejšo komunikacijo Univerza v Ljubljani Fakulteta za računalništvo in informatiko Miha Pavlin Uporaba platforme WebRTC za učinkovitejšo komunikacijo DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Poročilo praktičnega izobraževanja v Unior d.d.

Poročilo praktičnega izobraževanja v Unior d.d. Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17 2000 Maribor, Slovenija VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informacijske tehnologije Poročilo praktičnega izobraževanja

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

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

UPORABNIŠKA NAVODILA. FRITZ!Fon MT-F

UPORABNIŠKA NAVODILA. FRITZ!Fon MT-F UPORABNIŠKA NAVODILA FRITZ!Fon MT-F Pravno opozorilo FRITZ!Fon MT-F Dokument, strojna in programska oprema so patentirani/zaščiteni in jih je z zakonom prepovedano kopirati. AVM dovoljuje uporabo programske

More information

Programski jezik Java

Programski jezik Java Programski jezik Java Interno gradivo za predmet Algoritmi in programski jeziki (4. letnik) ArrayList (neprečiščeno besedilo) ArrayList Java class ArrayList(java.util.ArrayList) je hiter in za uporabo

More information

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Damjan Kojc UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Diplomsko delo Maribor, avgust 2011 I Diplomsko delo univerzitetnega študijskega programa UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC

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

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

Osnovni ukazi sistema LINUX in pomembne nastavitvene datoteke

Osnovni ukazi sistema LINUX in pomembne nastavitvene datoteke Osnovni ukazi sistema LINUX in pomembne nastavitvene datoteke Delo z imeniki in datotekami LS - izpiše vsebino imenika ls [opcije] imenik -a ali --all izpiše vse datoteke in imenike tudi skrite --color

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

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Amis d.o.o., Maribor

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Amis d.o.o., Maribor UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO VISOKOŠOLSKI STROKOVNI ŠTUDIJ Informatika in tehnologije komuniciranja POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Amis d.o.o., Maribor

More information

POSTAVITEV OMREŽJA IN KONFIGURACIJA VOIP

POSTAVITEV OMREŽJA IN KONFIGURACIJA VOIP Janez Klanjšek POSTAVITEV OMREŽJA IN KONFIGURACIJA VOIP Diplomsko delo Maribor, September 2010 Postavitev in konfiguracija VOIP omrežja I Diplomsko delo univerzitetnega študijskega programa POSTAVITEV

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

SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV

SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Fakulteta za elektrotehniko, računalništvo in informatiko Tadej Šetinc SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Diplomsko delo Maribor, Avgust 2015 SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Diplomsko

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

Statistika 2 z računalniško analizo podatkov

Statistika 2 z računalniško analizo podatkov Statistika 2 z računalniško analizo podatkov Risanje grafov 1 V Statistične analize v SPSS-ju V.5 Risanje grafov V.5.1 Oblikovanje grafov V.5.2 Grafična predstavitev frekvenčne porazdelitve: histogram,

More information

Primerjava dveh ogrodij za izdelavo grafičnih uporabniških vmesnikov: Windows Presentation Foundation in Windows Forms

Primerjava dveh ogrodij za izdelavo grafičnih uporabniških vmesnikov: Windows Presentation Foundation in Windows Forms UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Kaja Krnec Primerjava dveh ogrodij za izdelavo grafičnih uporabniških vmesnikov: Windows Presentation Foundation in Windows Forms DIPLOMSKO

More information

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic Univerza v Ljubljani Fakulteta za računalništvo in informatiko Janez Čadež Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Aleš Tepina. Samodejna izdelava dokumentacije za sistem telefonije IP

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Aleš Tepina. Samodejna izdelava dokumentacije za sistem telefonije IP UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Tepina Samodejna izdelava dokumentacije za sistem telefonije IP DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentorica: Alenka

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

Č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

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

OGRODJE ZA IZDELAVO SPLETNIH STRANI V PHP

OGRODJE ZA IZDELAVO SPLETNIH STRANI V PHP Dal Rupnik OGRODJE ZA IZDELAVO SPLETNIH STRANI V PHP Diplomsko delo Maribor, september 2011 I Diplomsko delo univerzitetnega študijskega programa OGRODJE ZA IZDELAVO SPLETNIH STRANI V PHP Študent: Študijski

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

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

VISOKOŠOLSKI STROKOVNI ŠTUDIJ RAČUNALNIŠTVO IN TEHNOLOGIJE KOMUNICIRANJA

VISOKOŠOLSKI STROKOVNI ŠTUDIJ RAČUNALNIŠTVO IN TEHNOLOGIJE KOMUNICIRANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ RAČUNALNIŠTVO IN TEHNOLOGIJE KOMUNICIRANJA POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V Čas opravljanja 3. 6. 2013 do 5.8.2013 Mentor v GD Gregor Zorc Študent Rajko Bunderl Vpisna

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

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

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

Razvoj aplikacije Baliranje trave za mobilno platformo Android

Razvoj aplikacije Baliranje trave za mobilno platformo Android UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jurij Sirše Razvoj aplikacije Baliranje trave za mobilno platformo Android DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

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

posebna e-izdaja September 2011 Letnik XIV Kompas Xnet vaš IT outsourcing partner.

posebna e-izdaja September 2011 Letnik XIV Kompas Xnet vaš IT outsourcing partner. posebna e-izdaja September 2011 Letnik XIV Kompas Xnet vaš IT outsourcing partner. ISSN: 1408-7863 Bleeding Edge 2011 29. in 30. september 2011 Pre-conf seminarji: 28 september Kompas Xnet d.o.o. Stegne

More information

DINAMIČNO DODELJEVANJE NAVIDEZNIH KRAJEVNIH OMREŽIJ V BREZŽIČNIH OMREŽJIH

DINAMIČNO DODELJEVANJE NAVIDEZNIH KRAJEVNIH OMREŽIJ V BREZŽIČNIH OMREŽJIH UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Adrijan Bradaschia DINAMIČNO DODELJEVANJE NAVIDEZNIH KRAJEVNIH OMREŽIJ V BREZŽIČNIH OMREŽJIH DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM

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

Obravnava izjem (exception handling)

Obravnava izjem (exception handling) Obravnava izjem (exception handling) Ko umre programer Uvod Ne glede na to, kako dobro smo načrtovali nek program, je še vedno možnost, da lahko med izvajanjem pride do kakšnih napak. Dobro načrtovan program

More information

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ Elektrotehnika Telekomunikacije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v podjetju Iskratel d.o.o. poslovna enota Maribor Čas opravljanja: Mentor v podjetju: od 15.9.29 do 15.3.21

More information