RAZVOJ TELEKOMUNIKACIJSKIH PRIPOMOČKOV

Velikost: px
Začni prikazovanje s strani:

Download "RAZVOJ TELEKOMUNIKACIJSKIH PRIPOMOČKOV"

Transkripcija

1 Grega Ramšak RAZVOJ TELEKOMUNIKACIJSKIH PRIPOMOČKOV Diplomsko delo Maribor, november 2011

2 I

3 II Diplomsko delo visokošolskega strokovnega študijskega programa Študent: Študijski program: Smer: Mentor: Somentor: Grega Ramšak VS ŠP Elektrotehnika Telekomunikacije doc. dr. Bojan Imperl izred. prof. dr. Andrej Ţgank Maribor, november 2011

4 III

5 IV

6 V

7 VI ZAHVALA Zahvaljujem se mentorju doc. dr. Bojanu Imperlu za strokovno vodenje in pomoč. Zahvaljujem se tudi podjetju Iskratel d.o.o., ki mi je omogočilo dostop do opreme, potrebne za izvedbo diplomskga dela, ter sodelavcem za pomoč pri izvedbi projekta. Posebna zahvala gre tudi staršema in stricu, ki so mi omogočili študij in ostalim članom druţine ter punci za podporo pri študiju.

8 VII

9 VIII Ključne besede: Telekomunikacijski pripomočki, Java, JavaFX, zagonska datoteka JNLP, grafični uporabniški vmesnik, telekomunikacijske storitve UDK: : (043.2) Povzetek V diplomski nalogi opisujem izdelavo prototipov telekomunikacijskih pripomočkov in razvoj funkcionalnosti pripomočkov. Namen naloge je bil izdelati nabor pripomočkov za izdelavo naprednih funkcij telefonije s programskim jezikom JavaFX in predstaviti delujoč koncept prenosa in uporabe pripomočkov. Izdelava je vključevala tako razvoj programske logike kot izdelavo grafičnega vmesnika, za kar sem uporabil različne tehnologije za komunikacijo med pripomočki in storitvami ter za njihov grafičen prikaz. Pripomočki delujejo na operacijskih sistemih Windows in Linux. Delovanje znotraj brskalnika sem zaradi omejitev programskega jezika JavaFX implementiral in preveril le delno. Končni izdelek je nabor telekomunikacijskih pripomočkov, ki izpolnjujejo večino postavljenih zahtev. Pripomočki so namenjeni uporabnikom telekomunikacijskih storitev, ki lahko tako na enostaven način uporabljajo telekomunikacijske storitve (na primer klic na zahtevo ipd.) in njihove dopolnilne storitve, kot so zgodovina klicev, preusmeritev klica, določanje stanja Ne moti ipd.

10 IX

11 X Development of telecommunication widgets Key words: Telecommunication widgets, Java, JavaFX, JNLP file, graphical user interface, telecommunication services UDK: : (043.2) Abstract In the thesis I describe the production of prototypes of telecommunication widgets and development of widgets' functionality. The aim of the thesis is to produce a set of widgets for the use of supplementary telecommunication services with the use of JavaFX programming language. The aim is also to present a working concept of transfering and using the widgets. Production involves both the development of the widgets' program logic and making graphical user interface tools (where I have used different technologies to communicate between widgets and services), and their graphic display. The widgets run on Windows operating systems and Linux. Due to the limitations of the JavaFX programming language I only partially developed and tested the widget functionality within the browser. The final product is a set of telecommunication widgets that meet most of the requirements set.the widgets are intended for users of telecommunication services, so they can simply use telecommunications services (for example, 'click to call', etc.) and their supplementary services such as call log, call forwarding, setting 'Do Not Disturb status and such.

12 XI

13 XII VSEBINA 1 UVOD Naloga WIDGETI Kratka predstavitev tehnologij za izdelavo pripomočkov Izbira tehnologije JAVA IN JAVAFX Java JavaFX VMESNIKI SOAP OpenMN REST OKOLJE Aplikativni streţnik - AS Klicni streţnik Call server CS OpenMN - MN Streţnik za zapis podatkov o klicih - CDR RAZVOJ PRIPOMOČKOV Zahteve za pripomočke Uporabljena orodja Uporabljene tehnologije Razvoj funkcionalnosti pripomočkov Razvoj grafičnega vmesnika Teţave pri realizaciji zahtev OPIS REŠITVE IN REZULTATI Končni izdelek Delne rešitve SKLEP VIRI PRILOGE Seznam slik... 77

14 XIII 11.2 Naslov študenta Kratek ţivljenjepis... 79

15 XIV UPORABLJENE KRATICE JSON REST HTML HTTP JNLP SOAP CSTA SIP RIA RPC DCOM AJAX JavaScript Object Notation Representational State Transfer Hypertext Markup Language Hypertext Transfer Protocol Java Network Launching Protocol Simple Object Access Protocol Computer-Supported Telecommunications Applications Session Initiation Protocol Rich Internet Application Remote Procedure Call Distributed Component Object Model Asynchronous JavaScript and XML PC AS CS CDR MN Personal Computer Applicaton Server Call Server Call Detail Record Managment Node SDK CSS SVG JAR XML SQL JVM Software Development Kit Cascading Style Sheets Scalable Vector Graphics Java Archive Extensible Markup Language Structured Query Language Java Virtual Machine C2D RCC DND CF CFU CFB CFNR PB Clik to (2) Call Remote Call Control Do Not Disturb Call Forwarding Call Forwarding Unconditional Call Forwarding Busy Call Forwarding No Reply Phone Book

16 1 UVOD Digitalizacija osnovnih telekomunikacijskih storitev, kot so telefonija in prenos video signala, omogoča nadgrajevanje storitev z novimi funkcionalnostmi in vgradnjo v druge sodobne telekomunikacijske sisteme. Skupaj s širjenjem uporabe interneta in povezljivosti naprav tako stacionarnih kot mobilnih - se funkcionalnosti in tehnologije med seboj prepletajo. Ponudniki storitev iščejo poti in moţnosti, kako nove funkcionalnosti ponuditi svojim uporabnikom. Ena od moţnosti je oblikovanje uporabniških vmesnikov, ki na enostaven način omogočijo upravljanje in uporabo funkcij, ki jih omogočajo sodobni telekomunikacijski sistemi. Za takšne uporabniške vmesnike so primerne tako imenovane bogate internetne aplikacije (Rich Internet Applications RIA). Zaradi različnih sistemov in boljše razširjenosti razvijalci razvijajo RIA aplikacije znotraj spletnega brskalnika z uporabo različnih vtičnikov, ki omogočajo delovanje RIA aplikacij. V večini primerov takšne aplikacije najdemo na spletnih straneh kot dodatek za popestritev vsebine. Tipičen primer je aplikacija za prikaz vremena, lahko pa so uporabljene za prikaz celotne vsebine spletne strani. V nekaterih primerih se je razvoj RIA aplikacij zbliţal s klasičnimi namiznimi aplikacijami. Delovanje RIA aplikacij se je tako iz brskalnika preselilo na namizje operacijskega sistema, kjer tečejo v namenskem izvajalnem okolju (Runtime environment). Tehnologij, ki se uporabljajo za izdelavo RIA aplikacij, je precej, saj v začetku razvoja RIA aplikacij ni bilo standarda, ki bi tako tehnologijo predpisoval. V ta namen se je začel pripravljati HTML5 standard, vendar se je njegov razvoj zavlekel in razvijalce posredno prisilil, da poiščejo nove pristope in tehnologije za izdelavo RIA aplikacij. Posledično največji problem pri razvoju RIA aplikacij predstavlja izbira tehnologije za njihov razvoj, vsaka pa ima svoje prednosti in pomanjkljivosti. Nekatere tehnologije so tako omejene le na določene operacijske sisteme oziroma so iz njih izključene, lahko pa zaradi zaprtosti sistema ne delujejo drugje. Kot ţe omenjeno se lahko RIA aplikacije kot uporabniški vmesniki uporabljajo v telekomunikacijskih sistemih za upravljanje in uporabo funkcij, ki jih omogočajo sodobni telekomunikacijski sistemi. Takšna uporaba je lahko upravljanje in nadzirane drugih - tretjih naprav, kot so telefoni, ali za uporabo drugih storitev telekomunikacijskih sistemov, kot na primer vklop preusmeritev klica

17 Če se posamezni aplikaciji določi le minimalno število funkcij, lahko takšno aplikacijo poimenujemo pripomoček - widget. Gre za aplikacijo, ki se uporablja kot pripomoček (orodje) pri uporabi različnih storitev. V tej nalogi bom predstavil izdelavo nabora prototipov telekomunikacijskih pripomočkov za izvajanje različnih funkcij. Predstavil bom koncept delovanja pripomočkov, uporabljene tehnologije in potek implementacije, kakor tudi vključevaje pripomočkov v okolje ter uporabo pripomočkov. 2 Naloga Cilj naloge je bil izdelati prototipe telekomunikacijskih pripomočkov in portal za prenos pripomočkov. Potrebno je bilo omogočiti delovanje pripomočkov tako znotraj brskalnika na portalu ponudnika storitev kot tudi na poljubni spletni strani. Prav tako je bilo potrebno omogočiti delovanje in namestitev pripomočka na namizju operacijskega sistema ter prenos in namestitev s funkcijo "drag and drop" oziroma "drag to install" povleci za namestitev ter samostojno delovanje na namizju (brez prisotnosti brskalnika). Namestitev pripomočka mora potekati tekoče, brez večjih posegov s strani uporabnika in brez uporabe datotečnega sistema. Pri uporabi pripomočka na namizju se mora ta zagnati ob zagonu operacijskega sistema, pri tem pa pripomoček shrani pozicijo in druge parametre potrebne za zagon. Za avtorizacijo na servisih se mora uporabnik avtorizirati le enkrat, to je ob obisku portala, ki ponuja pripomočke. Nadaljnja avtorizacija s strani uporabnika ni potrebna. Zahtevano je bilo delovanje na operacijskem sistemu Windows (WindowsXP, Windows 7) in Linux (Ubuntu). Pripomoček naj bi bil prilagojen delovanju v Iskratelovem okolju. 3 WIDGETI Program, ki implementira le majhno število funkcij, zaseda relativno malo pomnilniškega prostora in je v večini primerov povezan s procesi ali storitvami na tretjih streţnikih lahko imenujemo "widget" ali pripomoček. Sicer se uporabljajo še drugi izrazi kot so gadget, portlet, modul, itd. vendar je izraz pripomoček v zadnjem času najpogostejši. Tipična za pripomoček je relativno enostavna uporaba, majhna poraba procesorske moči, majhna površina, ki jo zaseda na delovnem okolju (npr. na namizju), in da podpira majhno - 2 -

18 število funkcij. Najbolj so pripomočki razširjeni na internetu oziroma na spletnih straneh. Slika 3.1 prikazuje nekaj pripomočkov na spletni strani igoogle [27]. Slika 3.1: Prikaz pripomočkov s strani igoogle (Datum in čas, Vreme, Opomba - beležka, Seznam opravil in Koledar) Pripomočki se uporabljajo za prikazovanje informacij, katerih vir je na tretji spletni strani ali streţniku. Prikazane informacije pripomoček pridobiva preko odprtih vmesnikov. Omogočajo uporabo različnih storitev, kot so izvajanje klicev in pošiljanje kratkih sporočil. Za pripomočke na namizju se štejejo samostojni lahki programi, ki prikazujejo podatke ali omogočajo interakcijo s različnimi storitvami, ali pa sami vključujejo določene funkcionalnosti (računalo, ura, preračunavanje valute, ipd.). Pripomočke najdemo tudi na mobilnih napravah. Lahko so prilagojeni mobilni napravi sami ali operacijskem sistemu tako, da uporabljajo funkcije naprave, kot je na primer pošiljanje kratkih sporočil, pregled imenika in klicanje

19 3.1 Kratka predstavitev tehnologij za izdelavo pripomočkov Tehnologij [26], s katerimi je moţno izdelati pripomočke, je veliko. Nedvomno najbolj razširjena tehnologija za izdelavo pripomočkov je Adobe Flash, ki je uporabljen za izgradnjo spletnih aplikacij, vgrajenih v spletne strani, predvsem pa se je uveljavil pri izdelavi spletnih iger Adobe Flash Prednost Adobe Falsh-a je odličen grafičen vmesnik za izdelavo grafičnih elementov. Z njim lahko hitro izdelamo grafičen vmesnik aplikacije. Adobe Flash je precej omejen na delovanje v brskalniku, vendar pa je moţna uporaba programa FlashPlayer za pogon aplikacij z namizja JavaScript Druga moţnost je uporaba Javascript v kombinaciji z AJAX-om [24] in različnimi knjiţnicami, na primer JQuery [17]. Teţave pri tej metodi se pojavijo pri izdelavi zahtevnejšega grafičnega vmesnika. Precejšnjo omejitev predstavlja tudi dejstvo, da je za izvajanje JavaScript programa nujno potreben brskalnik, kar precej oteţi oziroma lahko onemogoči avtonomno delovanje aplikacije na namizju Java in JavaFX Javanske aplikacije so sicer razširjene, vendar je njihova pomanjkljivost grafični vmesnik. Za izdelavo sodobnega grafičnega vmesnika je potrebno vloţiti precej dela in časa. Prednost pri uporabi Jave pa je delovanje v namenskem izvajalnem okolju in delovanje na vseh večjih operacijskih sistemih z uporabo iste kode programa. Nadgradnja Javinega grafičnega vmesnika predstavlja JavaFX. JavaFX omogoča hitrejšo in enostavnejšo izdelavo grafičnega vmesnika z vso podporo Jave. Slaba stran JavaFX je ta, da gre za relativno nov jezik in vsebuje še precej napak in pomanjkljivosti. Prav tako je pomanjkljiva dokumentacija jezika Silverlight Silverlight je Microsoftova rešitev za izdelavo RIA aplikacij. Za izvajalno okolje se na operacijskih sistemih uporablja predvsem.net. Tudi razširjenost na uporabniških sistemih v primerjavi z Adobe Falsh in Javo je manjša

20 3.1.5 HTML5 HTML5 je nadgradnja standardov HTML , DOM, XHTML in delno JavaScript. Sicer je standard še v nastajanju, ampak ga podpira ţe večina brskalnikov. Predvsem je ta standard pomemben pri predvajanju video vsebin, ker je predvajalnik video vsebin ţe prisoten v brskalniku in ne potrebuje dodatnega programa. Tako lahko v prihodnosti izpodrine trenutno prevladujoči Adobe Flash za predvajanje video vsebin. Velika pomanjkljivost HTML 5 standarda je, da je še v fazi razvoja in mnogo elementov še ni podprtih s strani brskalnikov. 3.2 Izbira tehnologije Za izdelavo pripomočkov sem izbral programski jezik JavaFX in Java. Za izvedbo naloge je bila to najprimernejša rešitev, saj je delovanje znotraj brskalnika in na namizju ţe podprto. Zaradi razširjenosti Jave na uporabniških računalnikih je potencial širjenja pripomočkov velik. Poleg tega pa lahko JavaFX aplikacije poganjamo brez večjih teţav na vseh bolj razširjenih operacijskih sistemih

21 4 JAVA IN JAVAFX 4.1 Java Java programski jezik [2] je splošnonamenski, aktualen in objektno usmerjeni jezik, ki temelji na razredih. Programski jezik Java je podoben C in C + +, ampak je organiziran precej drugače - več značilnosti C in C + + izpusti ter nekaj idej povzame iz drugih jezikov. Namenjen je za jezik proizvajanja in ne za jezik, ki je namenjen raziskovanju. Java programski jezik je močno tipiziran. Ta specifikacija jasno razlikuje med napakami v času prevajanja - compile time, ki so lahko oziroma morajo biti odkrite v času prevajanja, in tistimi, ki se pojavijo v času izvajanja. Čas prevajanja je običajno sestavljen iz prevajanja programov v strojno neodvisno, byte-kodno (strojna koda za javanski navidezni stroj java virtual machine - JVM) predstavitev. Dejavnosti v času izvajanja vsebujejo nalaganje in povezovanje razredov, potrebnih za izvedbo programa, neobvezno generiranje strojne kode in dinamično optimizacijo programa ter dejansko izvajanje programa. Programski jezik Java je razmeroma visoko nivojski jezik, pri tem pa dostopanje do strojnih podrobnosti preko jezika ni na voljo. Java programski jezik se običajno prevede v byte-code nabor ukazov in v binarnem formatu, definiranem v [28]. 4.2 JavaFX JavaFX platforma [6] je evolucija platforme klienta Java. Sun Microsystems je leta 2007 predstavil platformo JavaFX kot pomoč razvijalcem vsebin in razvijalcem aplikacij za ustvarjanje vsebinsko bogatih aplikacij - content-rich applications za mobilne naprave, namizne računalnike, televizije in druge naprave za potrošnike. Prve različice so sestavljale platforme JavaFX Mobile in JavaFX Script jezik. Do danes je izšlo ţe nekaj različic, trenutna je JavaFX 2.0 beta, ki je izšla maja Izdaja končne različice JavaFX 2.0 je načrtovana v letu JavaFX je zasnovana tako, da omogoča razvijalcem aplikacij enostavno ustvarjanje in uvajanje bogatih internetnih aplikacij (RIA), ki se obnašajo enako na več platformah

22 Platforma JavaFX je zgrajena na Java tehnologiji in ponuja bogat nabor grafike in medijev API z visoko zmogljivo in strojno pospeševano grafiko Učenje jezika Ker je JavaFX relativno nov jezik, je bila dokumentacija v času učenja jezika in izdelave pripomočkov še nepopolna in tudi gradniki so vsebovali napake. Tako sem hitro naletel na teţave, ki jih uradna dokumentacija [5] ni ali pa jih je le slabo pokrivala. Nekaj rešitev sem našel na spletnih straneh in blogih JavaFX razvijalcev, ki so naleteli na podobne teţave. V največjo pomoč sta bila bloga avtorjev Stephen Chin [3] in Jim Weaver [4] Programski jezik Programski del jezika JavaFX je precej podoben Javi, vendar je nekoliko enostavnejši za laţje implementacije. Pri zahtevnejših programih pa je pisanje aplikacije nekoliko teţje predvsem zaradi pomanjkanja dokumentacije. Grafični del programa pa je precej podoben strukturi HTML-ja oziroma CSS predloge. Enostaven program ima naslednjo strukturo: Stage { title: "Enostaven program" scene: Scene { width: 250 height: 100 content: [ Rectangle { width: 150 height: 50 fill: Color.LIGHTGRAY translatex: 50 translatey: 25 }, Text { font: Font { size: 16 } content: "Besedilo programa" translatex: 60 translatey: 50 } ] } } - 7 -

23 Slika 4.1 prikazuje primer programa, kjer je osnovni element Stage oder, ki vsebuje parametre title naslov programa in scene sceno, ki vsebuje vse ostale elemente. Slika 4.1: JavaFX program Scena je široka 250 točk (width) in visoka 100 točk (height) ter vsebuje dva elementa Rectangle kvadrat in Text besedilo. Kvadrat ima določeno širino in višino ( 150 točk, 50 točk), barvo (fill) svetlo sivo in je od levega roba scene odmaknjen 50 točk ter od zgornjega roba 25 točk. Naslednji element v sceni je besedilo, ki ima določeno pisavo z velikostjo 16 točk, vsebino (content) z besedilom "Besedilo programa" in je od levega roba scene odmaknjeno za 60 točk ter 50 točk od zgornjega roba. Zaporedje elementov v sceni določa tudi grafično zaporedje. Tako je zadnji element v sceni na najvišji poziciji na grafičnem vmesniku Oblikovanje grafičnega vmesnika Grafične gradnike se lahko na sceno dodaja s pisanjem kode ali z uporabo urejevalnika, ki omogoča grafičen prikaz dodajanja gradnikov na sceno. Tako se lahko ţeljen gradnik iz nabora gradnikov z miško prenese na sceno in se ga nato oblikuje. Takšen urejevalnik se lahko kot vtičnik vključi v razvojno okolje Netbeans [7]. Vtičnik se imenuje JavaFXComposer [8] in je v precejšnjo pomoč pri razvijanju grafičnega vmesnika aplikacij. Slika 4.2 prikazuje Netbeans razvojno okolje z vključenim JavaFXComposer vtičnikom

24 Slika 4.2: Prikaz grafičnega oblikovanja programa s razvojnim okoljem Netbeans in vtičnikom JavaFXComposer Sam urejevalnika JavaFXComposer pri izdelavi nisem uporabljal zaradi lastnih komponent in uporabe JXtras knjiţnice [23]. Več o tem bom predstavil v poglavju V večjo pomoč mi je bil JavaFX predogled, ki prikaţe oder - Stage programa z gradniki. Prednost uporabe predogleda je, da programa ni potrebno zagnati, ampak se prikaţe znotraj razvojnega okolja Netbeans (Slika 4.3). Sicer je prikaz programa s predogledom počasen, vendar še vedno hitrejši kot zagon programa. Uporaba predogleda je primerna le pri preverjanju statičnega pogleda grafičnega vmesnika. Predogled ne podpira premikanja elementov (animacije) in uporabe miške (klik na gumb). Slika 4.3: Predogled programa - 9 -

25 5 VMESNIKI 5.1 SOAP SOAP - Simple Object Access Protocol (enostaven protokol za dostop do objektov) [20] je enostaven protokol, ki bazira na XML in je uporabljen za izmenjavo informacij preko HTTP. Današnje aplikacije za komunikacijo med objekti uporabljajo klice oddaljene procedure Remote Procedure Call RPC. Primeri takšnih objektov so DCOM [21] in CORBA [22] vendar HTTP ni bil zasnovan za komunikacijo z RPC klici. RPC predstavlja problem pri zdruţljivosti aplikacij z različnimi platformami ter pri varnosti. Poţarni zidovi in proxy streţniki običajno blokirajo takšno vrsto prometa. Primernejša izbira za komunikacijo med aplikacijami je preko HTTP, ker je ta podprt pri vseh brskalnikih in streţnikih. Za ta namen je bil zasnovan SOAP. SOAP omogoča enostavno komunikacijo med aplikacijami, ki tečejo na različnih operacijskih sistemih, uporabljajo različne tehnologije in programske jezike. W3C je leta 2003 izdal priporočilo za SOAP. Primer uporabe je razloţen v poglavju OpenMN Je odprt vmesnik, ki omogoča razvijalcem dostop do MNS sistema za upravljanje telekomunikacijskega omreţja. V nalogi ga uporabljam za nastavljanje dopolnilnih storitev, kot so preusmerjanje klica, nastavljanje stanja "ne moti", ipd. OpenMN je vmesnik, ki je specifičen za produkte podjetje Iskratel [36]. 5.3 REST REST arhitektura je sestavljena iz odjemalca in steţnika, pri čemer odjemalec pošlje zahtevo, katero streţnik obdela in vrne odgovor odjemalcu. Enoten vmesnik med odjemalcem in streţnikom omogoča ločeno razvijanje odjemalca in streţnika. Storitev, ki je zgrajena po načelih REST arhitekture je tako imenovana RESTful storitev. RESTful spletna storitev je enostavna spletna storitev, ki je zbirka sredstev (resources) določenih z naslednjimi načeli: določen je korenski URI naslov storitve (na primer

26 podpira različne predstavitve (formate) podatkov, ki so običajno JSON, XML, ipd., podpira nabor HTTP metod (POST, GET, PUT ali DELETE) in je zasnovana za hypertext. V praksi se za poimenovanje vmesnika, ki predstavlja RESTful storitev pogosto imenuje REST vmesnik, takšno poimenovanje sem uporabil tudi v tem delu

27 6 OKOLJE Razvojno okolje, katerega sem uporabljal za pridobivanje prikazanih podatkov in klicanje storitev na posameznih elementih razvojnega okolja prikazuje Slika 6.1. Osnovni element s katerim komunicirajo pripomočki je AS (Application server) aplikativni streţnik [34]. Komunikacija med aplikativnem streţnikom in pripomočkom je izvedena preko REST vmesnika. Aplikativni streţnik preko drugih vmesnikov komunicira z ostalimi elementi v razvojnem okolju. Izjema je CDR (Call Detail Record) streţnik [33], ki zapisuje detajlne zapise klicev. Pripomoček zaradi zgodovine razvoja vmesnika CDR streţnika s CDR streţnikom komunicira neposredno. MN streţnik skrbi za upravljanje s storitvami nad številkami uporabnika (nadziranje oddaljenega klica, posredovanje klica, ipd.). Z aplikativnim streţnikom komunicira preko SOAP protokola. Na niţjem nivoju se nahaja CS (Call Server) klicni streţnik [35], ki poskrbi za vzpostavljanje in nadziranje klicev. Klici in pošiljanje kratkih sporočil na mobilne naprave se izvedejo oziroma pošiljajo preko mobilnega prehoda (levo spodaj). Mobilni prehod uporabljata aplikativni streţnik za pošiljanje kratkih tekstovnih sporočil in klicni streţnik za izvajanje klicev v mobilno omreţje. Predstavljeno okolje je poenostavljeno in je dovolj za razumevanje poteka uporabe storitev. Slika 6.1: Shema razvojnega okolja

28 6.1 Aplikativni strežnik - AS Aplikativni streţnik predstavlja vstopno točko za razvojno okolje. Pripomočki kličejo storitve na aplikativnem streţniku. Če se podatki ne nahajajo znotraj aplikativnega streţnika, aplikativni streţnik pridobi podatke preko različnih vmesnikov z drugih streţnikov (OpenMN, CDR,...) in podatke posreduje nazaj k pripomočku. Izjema je CDR streţnik iz ţe omenjenih razlogov. Storitve, ki jih kličejo pripomočki na aplikativnem streţniku, so pridobivanje seznama kontaktov, seznam imen pripomočkov, zagonske datoteke pripomočka, pošiljanje kratkih sporočil. Storitve ki se nahajajo na drugih streţnikih in jih pripomočki kličejo preko aplikativnega streţnika pa so uporaba dopolnilnih storitev na MN streţniku in izvajanje klica. Storitve na aplikativnem streţniku so dostopne preko REST vmesnika. 6.2 Klicni strežnik Call server CS Poenostavljeno klicni streţnik med drugim skrbi za izvajanje klicev in posredovanje podatkov o klicih na streţnik za arhiviranje podatkov o klicih - CDR streţnik. Preverja tudi nastavitve za številke v njegovem obsegu (lokalne številke) in na podlagi tega klic preusmeri, zavrne, pošlje signal "zaseden", ipd. 6.3 OpenMN - MN MN streţnik skrbi za upravljanje oziroma za uporabo dopolnilnih storitev, kot so nadziranje oddaljenega klica, funkcija "ne moti", preusmeritev klica, ipd. MN streţnik je dostopen preko odprtega vmesnika OpenMN. Za komunikacijo med aplikativnim streţnikom in OpenMN se uporablja SOAP protokol

29 6.4 Strežnik za zapis podatkov o klicih - CDR Call Detail Record - CDR streţnik se uporablja se za centralno shranjevanje podatkov o klicih. Iz teh podatkov se lahko generira seznam sprejetih, odhodnih in neodgovorjenih klicev, kar uporabljam pri pripomočku za prikaz seznama klicev. Podatki, ki se zapisujejo o klicu so številka kličočega in klicanega, začetek klica, konec klica, trajanje klica, stroški klica in tip klica. Odvisno od različice streţnika se lahko zapisujejo še drugi podatki o klicu. Dostop do zapisov na streţniku je omogočen preko SOAP vmesnika

30 7 RAZVOJ PRIPOMOČKOV V naslednjih poglavjih bom predstavil zahteve za pripomočke, programska orodja, ki sem jih uporabljal pri izdelavi pripomočkov in uporabljene tehnologije. Nato bom razloţil razvoj programske logike pripomočkov in portala za pridobivanje pripomočkov, razvoj grafičnega vmesnika in opisal teţave pri realizaciji zahtev. 7.1 Zahteve za pripomočke Zahtevana je bila izdelava naslednjih pripomočkov: Click to call oziroma Click to dial (klic na klik oziroma klik za klic) pripomoček omogoča funkcionalnost proţenja klica preko programa, ki teče na računalniku ali mobilni napravi. Pripomoček deluje enako za vse tipe terminalov- telefon (stacionarni ali mobilni) ali program za izvajanje klicev Softphone. Call log pripomoček prikazuje seznam klicev za eno telefonsko številko ali enega uporabnika (ima lahko več telefonskih številk). Klici so ločeni v tri kategorije: Missed calls zgrešeni klici, Placed calls sproţeni klici in Received calls sprejeti klici. Kategorije so lahko prikazane ločeno in zdruţeno All calls. Iz seznama je razvidna številka klicanega called number, številka kličočega calling number, čas in datum date zapisa klica in čas trajanja klica duration. Programu je dodana funkcionalnost "klik za klic" click to dial za klice na seznamu. Do not disturb ne moti (uporabnik je zaposlen) pripomoček omogoča uporabnikom spreminjanje stanja dosegljivosti. Če je stanje "ne moti" omogočeno, je uporabnik nedosegljiv za klice oziroma centrala vrne signal "uporabnik je zaseden" busy. Remote call control oddaljen nadzor klica pripomoček omogoča uporabniku izbiranje naprave, s katere ţeli sproţiti klic (stacionarni, mobilni telefon, programski telefon). Call forwarding preusmerjanje klicev vključuje tri metode preusmerjanja: call forwarding busy preusmerjanje klica, ko je uporabnik zaseden; call forwarding unconditional brezpogojno preusmerjanje klica, call forwarding no reply preusmerjanje klica, ko

31 uporabnik ne odgovori. Nastavitve lahko uporabnik nastavi le za številke znotraj omreţja (okolja). Phonebook telefonski imenik, pripomoček prikazuje imenik z moţnostjo iskanja in prikaza statusa stika. Omogoča prikaz uporabnikov po skupinah: sluţbeni, priljubljeni, zasebni stiki. Pripomoček vsebuje funkcionalnost "klic na klik" in pošiljanja kratkih sporočil (SMS). Container zabojnik pripomoček, ki zdruţuje posamezne pripomočke in je v osnovi orodna vrstica toolbar, s katere je moţno zagnati pripomočke Druge zahteve Zagon pripomočka brez "namestitve" za hitrejšo uporabo pripomočka. Uporabniku ni potrebno namestiti pripomočka s pomočjo klasičnega postopka namestitve. Avtomatski zagon pripomočka ob zagonu računalnika oziroma operacijskega sistema za takojšen prikaz na zaslonu. Shranjevanje podatkov o uporabniku in nastavitev na uporabnikov sistem tako, da je nadaljnja avtorizacija uporabnika nepotrebna. Drag and drop to desktop oziroma drag to install - povleci in namesti funkcija omogoča uporabniku prenos pripomočka na namizje. Delovanje pripomočka se iz brskalnika prenese na namizje. Delovanje na operacijskem sistemu Windows (Windows XP in Windows 7) in Linux (Ubuntu)

32 7.2 Uporabljena orodja Netbeans Netbeans [7] je razvojno okolje za več programskih jezikov, kot so Java, JavaFX, JavaScript, C, C++, Python, Ruby, SQL, PHP, HTML, CSS, itd. Poleg tega vsebuje veliko orodij za testiranje in nadzorovanje delovanja programov. Vključuje streţnike, kot so Tomcat, GlassFish, ipd. Prva verzija programa je izšla 1998, ko je izšel kot komercialni program, leta 2000 pa je Sun izdal odprtokodno različico. Konec leta 2007 je izšla različica 6.0 in se nadgrajevala do verzije 6.9, ki je izšla junija V letu 2011 je izšla različica 7.0. NetBeans se nenehno nadgrajuje in izboljšuje in je dostopen za Windows, Linux, Mac OS X in Solaris operacijske sisteme. Ker ima Netbeans trenutno najboljšo podporo za delo z JavaFX sem izbral to programsko okolje SoapUI SoapUI [9] je program za testiranje in simuliranje spletnih storitev (Web Service). Dostopen je za večino operacijskih sistemov. Trenutna verzija SoapUI je 3.6, tako odprtokodna kot profesionalna. Program sem uporabljal za generiranje in testiranje SOAP zahtev za CDR streţnike in OpenMN servise Inkscape Je odprtokodni program za vektorsko risanje [10]. Večino grafičnega oblikovanja sem opravil s tem orodjem. Vsebuje vtičnik za pretvarjanje formata SVG v JavaFX format slike, vendar ima shranjen element po pretvarjanju določene pomanjkljivosti. Iz tega razloga sem ga uporabljal le za predhodno izdelavo vmesnika in postavitev elementov, te pa sem nato realiziral programsko Spletni brskalnik Za preverjanje delovanja v brskalniku sem uporabljal brskalnika Mozilla Firefox [11] in Google Chrome [12], saj imata vgrajen prikaz napak. Za podrobnejše nadziranje napak pa je mogoče vključiti vtičnik plugin Firebug [14] pri Mozilli Firefox oziroma vgrajeno orodje konzola JavaScript JavaScript Console pri Google Chrome

33 7.2.5 Apache HTTP Server Za preverjanje prenosa pripomočkov in simuliranje portala, ki ponuja pripomočke, sem uporabil dprtokodni Apache HTTP Server [13]. Njegove prednosti so majhna velikost in enostavna uporaba za namene testiranja

34 7.3 Uporabljene tehnologije V nalogi so uporabljene različne tehnologije za pridobivanje podatkov s streţnika. Nekateri pristopi imajo prednosti na določenih področjih ali pa so posledica neenotnega razvoja vmesnikov Uporaba SOAP SOAP zahteva je sestavljena iz ovojnice Envelope in telesa Body. V telesu so definirane metode servisa, ki jih ţelimo klicati. Če je potrebno metoda vsebuje argumente, ki so potrebni za izvedbo zahteve na servisu. V primeru ţelim od servisa pridobiti podatke o ceni (GetPrice) za jabolka Apples (Item element). Primer zahteve (povzeto po [25]): <?xml version="1.0"?> <soap:envelope xmlns:soap=" soap:encodingstyle=" <soap:body> <m:getprice xmlns:m=" <m:item>apples</m:item> </m:getprice> </soap:body> </soap:envelope> Servis vrne odgovor z isto osnovno strukturo ovojnice in telesa z metodo GetPriceResponse (odziv na pridobi podatke o ceni), znotraj metode pa argument s ceno jabolk Primer odgovora: <?xml version="1.0"?> <soap:envelope xmlns:soap=" soap:encodingstyle=" <soap:body> <m:getpriceresponse xmlns:m=" <m:price>1.90</m:price> </m:getpriceresponse> </soap:body> </soap:envelope>

35 SOAP zahteva se na streţnik pošilja preko HTTP: POST /service HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=utf-8 SOAPAction: "" User-Agent: Jakarta Commons-HttpClient/3.1 Host: <hostaddress> Content-Length: 1263 <soap:envelope... Primer HTTP glave odgovora: HTTP/ OK Content-Type: text/xml; charset=utf-8 Content-Length: 587 Server: Jetty(6.1.9) <soap:envelope

36 7.3.2 Uporaba REST vmesnika Metode, ki so na voljo po HTTP specifikaciji [15]: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT. Največkrat uporabljene so GET, POST, PUT, DELETE. GET (pridobi) metoda se uporablja za pridobivanje podatkov s streţnika. Primer zahteve: GET /sdpweb/rest/widget/widgetlist?limit=all HTTP/1.1 Host: <hostaddress> Connection: keep-alive Referer: <hostaddress>/sdpweb/ Authorization: <user-authorization-data> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/ Safari/535.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: sl-si,sl;q=0.8,en-gb;q=0.6,en;q=0.4 Accept-Charset: ISO ,utf-8;q=0.7,*;q=0.3 Zahteva je generirana za pridobitev seznama pripomočkov, ki jih ponuja aplikativni streţnik. Kliče se storitev widgetlist z metodo GET in parametrom limit (omejitev) z vrednostjo all (storitev vrne vse elemente). Storitev vrne kot odgovor seznam imen pripomočkov. Primer odgovora: HTTP/ OK Server: Apache-Coyote/1.1 Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan :00:00 CET X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Content-Type: application/json Transfer-Encoding: chunked Date: Thu, 08 Sep :19:34 GMT ["PBWidget","CallLogWidget","C2DWidget","RCCWidget","DNDWidget","CFWidget","WidgetContai ner"] Uporaba JSON formata JSON [18] je enostaven format za izmenjavo podatkov med različnimi programskimi jeziki. Sestavljajo ga trije elementi: objekt, polje in vrednost. Vrednosti so lahko niz, število, objekt, polje, resnično - true, neresnično - false ali nič - null

37 Objekt je sestavljen iz para: ključ (ime - poimenovanje vrednosti) in vrednost. Ta par je vključen v zavita oklepaja {}. Primer: {"ključ":"vrednost"} zapis niza {"ime":"miha"} zapis numerične vrednosti {"število": "3.14"} Polje je sestavljeno iz imena polja in vrednosti, ki so obdane z oglatimi oklepaji [] in ločene z vejico. Primer: "cifre":["1", "2", "3","4"] Vsi elementi lahko vsebujejo druge elemente. Tako dobimo polje z objekti, objekte z vrednostjo drugega objekta ali polja... { "ime": "Miha", "priimek": "Naš", "starost": 25, "naslov": { "ulica": "Mariborska 21", "mesto": "Maribor", "pošta": "2000" }, "telefon": [ { "tip": "doma", "številka": " " }, { "tip": "mobilna", "številka": " " } ] } Da je takšen zapis uporaben v programu, ga je potrebno pretvoriti v zapis primeren programskemu jeziku. Za pretvorbo se lahko izdela pretvornik znotraj programa ali pa se

38 uporabi ţe izdelane pretvornike. Sam sem uporabil GSON knjiţnico [1]. Knjiţnica s pretvorjenimi podatki napolni vnaprej pripravljene razrede - class. Za zgornji primer je potrebno definirati razrede za vsak objekt. Razred telefon: class Telefon { private String tip; private String številka; public String gettip() { return tip; } public String getštevilka() { return številka; } public void settip(string tip) { this.tip = tip; } public void setštevilka(string številka) { this.številka = številka; } } Razred Naslov: class Naslov { private String ulica; private String mesto; private int pošta; public String getulica() { return ulica; } public String getmesto() { return mesto; } public int getpošta() { return pošta; } public void setulica(string ulica) { this.ulica = ulica; } public void setmesto(string mesto) { this.mesto = mesto; } public void setpošta(int pošta) { this.pošta = pošta; } } Razred Oseba: class Oseba { private String ime; private String priimek; private int starost; private Naslov naslov; private List<Telefon> telofoni; public String getulica() { return ime; } public String getmesto() { return priimek; } public int getpošta() { return starost; } public Naslov getnaslov() { return naslov; } public List<Telefon> gettelefoni() { return telefoni; }

39 } public void setulica(string ime) { this.ime = ime; } public void setmesto(string priimek) { this.priimek = priimek; } public void setpošta(int starost) { this.starost = starost; } public void setnaslov(naslov naslov) { this.naslov = naslov; } public void settelefoni(list<telefon> telefoni) { this.telefoni = telefoni; } Uporaba knjiţnice za pretvorbo iz JSON formata (jsonstring) v objekt (osebamiha): Gson gson = new Gson(); Oseba osebamiha = gson.fromjson(jsonstring, Oseba.class); Uporaba knjiţnice za pretvorbo iz objekta (osebamiha) v JSON format (jsonstring): Gson gson = new Gson(); String jsonstring = gson.tojson(osebamiha); Uporaba zagonskih datotek JNLP JNLP - Java Network Launching Protocol (Javanski zagonski protokol preko omreţja) [19] datoteka se uporablja za zagon javanskih aplikacij z Java web start tehnologijo. Za zagon aplikacije preko omreţja je dovolj, da se na uporabnikov sistem prenese zagonska datoteka. Ta vsebuje vse potrebne podatke za prenos potrebnih knjiţnic in zagon aplikacije. Primer JNLP datoteke: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase=" href="dndwidget.jnlp"> <information> <title>dndwidget</title> <vendor>ramsak</vendor> <homepage href=" <description>dndwidget</description> <icon kind="splash" href=" <offline-allowed/> </information> <resources> <j2se version="1.5+"/> <extension name="javafx Runtime" href=" <jar href="dndwidget_as13.jar" main="true" size="335211"/> </resources> <application-desc main-class="com.sun.javafx.runtime.main.main" progressclass="com.javafx.progressbar.progressmanager"> <argument>mainjavafxscript=si.iskratel.widget.dnd.main</argument> </application-desc>

40 <update check="always"/> </jnlp> Ključni podatki v JNLP datoteki so lokacije korenske mape za dostop do.jar datoteke, imena.jar datoteke in imena razreda z zagonsko kodo. Ostali argumenti vsebujejo naslov programa, ime avtorja, spletno stran in poljubne dodatne argumente. Te sem uporabil za prenos podatkov s spleta in shranjevanje na uporabniškem računalniku. Tako ni potreben dodaten zapis v ločeno datoteko ali na katero drugo mesto v sistemu. Podatki, ki so specifični za uporabnika, za omreţje ali postavitev, se tako nahajajo v skupni datoteki. Primer datoteke z argumenti: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase=" href="dndwidget.jnlp"> <information> <title>dndwidget</title> <vendor>ramsak</vendor> <homepage href=" <description>dndwidget</description> <icon kind="splash" href=" <offline-allowed/> </information> <resources> <j2se version="1.5+"/> <extension name="javafx Runtime" href=" <jar href="dndwidget_as13.jar" main="true" size="335211"/> </resources> <application-desc main-class="com.sun.javafx.runtime.main.main" progressclass="com.javafx.progressbar.progressmanager"> <argument>mainjavafxscript=si.iskratel.widget.dnd.main</argument> <argument> user-data->userdata& numbers->1111;2222& area-code->040& prefix->0& widget-source-> on-screen-position->100.0;100.0& logging-level->log& as-host-> </argument> </application-desc>

41 <update check="always"/> </jnlp> Za prekrivanje podatkov pri prenosu sem argumente zakodiral:... <argument> dxnlci1kyxrhlt51c2vyzgf0yszudw1izxjzlt4xmtexoziymjimyxjlys1jb2rllt4wndamchjlzml4lt4wjndp ZGdldC1zb3VyY2UtPmh0dHA6Ly9sb2NhbGhvc3Qvd2lkZ2V0cy9ETkRXaWRnZXQvJm9uLXNjcmVlbi1wb3NpdGlv bi0+mtawlja7mtawljambg9nz2luzy1szxzlbc0+te9hjmfzlwhvc3qtpjeyny4wljaumq&& </argument>

42 7.4 Razvoj funkcionalnosti pripomočkov V tem poglavju bom opisal programsko logiko uporabljeno v pripomočkih, v naslednjem pa razvoj grafičnega vmesnika pripomočka. Ločeno jih bom opisal zato, ker se lahko programska logika pripomočka uporabi na drugih grafičnih vmesnikih Osnovne funkcionalnosti pripomočka Zagon pripomočka brez "namestitve" Ker so pripomočki "lahki" programi in običajno ne potrebujejo klasične namestitve, sem za namestitev izkoristil obstoječ princip, ki ga uporablja Java. V zagonski JNLP datoteki ali JavaScript kodi za zagon applet-a 1 je naveden naslov, kjer se nahaja JAR datoteka s kodo programa. Ob zagonu se prenese JAR datoteka na uporabnikov računalnik v java cache Javin začasni pomnilnik. Tako se ob naslednjem zagonu programa zaţene program z JAR datoteko, ki je ţe na napravi. Če uporabnik iz pomnilnika izbriše JAR datoteko, se ob novem zagonu programa zopet prenese z navedenega naslova. Tako je za zagon programa potrebno shraniti le zagonsko datoteko Avtomatski zagon ob zagonu računalnika Za pripomoček je običajno, da se prikaţe na zaslonu ţe ob zagonu operacijskega sistema. Tako za ta namen zagonske datoteke shranim v mapo zagon - startup, ki je v operacijskem sistemu Windows običajno na naslovu : Za Windows 7: [C:\Users\Username\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup] Za Windows XP: [C:\Documents and Settings\Username\Start Menu\Programs\Startup] Datoteke, shranjene v tej mapi, se ob zagonu operacijskega sistema same zaţenejo Shranjevanje podatkov o uporabniku in nastavitev Da se uporabniku ni potrebno ob vsakem zagonu pripomočka prijaviti oziroma avtorizirati, sem podatke shranil v zagonsko datoteko. Ti podatki se napolnijo ob generiranju datoteke na portalu. Poleg podatkov za avtorizacijo se shranijo še drugi podatki: uporabnikove telefonske številke, številka omreţne skupine, naslov aplikativnega streţnika, naslov lokacije datotek, potrebnih za zagon pripomočka, pozicija na zaslonu, zadnje klicane številke, ipd. 1 Applet je program napisan v programskem jeziku Java in je lahko vključen v spletno stran [32]

43 Za prepoznavanje vrednosti argumentov sem uporabil sistem ključa in njegove vrednosti (skupaj predstavljata spremenljivko). Podoben sistem se uporablja pri JSON formatu. Za nek ključ spremenljivke, ki je sestavljen iz niza znakov, je določena neka vrednost spremenljivke. Za ključ "uporabniškoime" določim vrednost "Uporabnik". Oblika takšnega zapisa v zagonski datoteki bi bila: uporabniškoime=uporabnik Spremenljivke se med sabo ločijo z znakom "&", na primer: uporabniškoime=uporabnik&geslo=mojegeslo Za spremenljivke, ki vsebujejo polje vrednosti, sem vrednosti znotraj polja ločil z znakom ";", na primer: telefonskeštevilke= ; Ker JavaFX ni pravilno brala takšnega formata sem moral prilagoditi ločila. Namesto znaka "=" sem se odločil za "->". Prav tako sem moral iz niza izločiti presledke, ki sem jih nadomestil z znakom"-". Ker gre pri zagonski JNLP datoteki za tekstovno oziroma XML datoteko in jo lahko odpremo in pregledamo z vsakim urejevalnikom besedila in ker se podatki pošiljajo po omreţju, sem vse podatke zakodiral z BASE64 metodo. Tako sem nekoliko povišal varnost podatkov in preprečil običajnemu uporabniku spreminjanje teh podatkov "Drag and drop to desktop" ali "drag to install" JavaFX omogoča, da pripomoček povlečemo iz brskalnika na namizje, delovanje pripomočka pa se pri tem ne prekine in naprej teče na namizju. Tako dobimo pripomoček, ki deluje na spletni strani v brskalniku (web widget) in namizju (desktop widget), kar je precejšnja prednost v delovanju pred ostalimi pripomočki. Ti običajno tečejo le na spletni strani znotraj brskalnika ali na namizju, za kar potrebujejo namestitev. Na podlagi lokacije pripomočka (namizje ali brskalnik) se lahko spremeni obnašanje oziroma delovanje pripomočka. Ker je JavaFX še nedovršen jezik, je zaradi nekaterih pomanjkljivosti te funkcije nisem mogel najbolje uporabiti. Zaradi tega sem se odločil, da izdelam pripomočke, ki delujejo na namizju in kasneje prilagodim delovanje znotraj brskalnika. Več o tem v poglavju Pridobitev zagonske JNLP datoteke Storitev za pridobivanje zagonske JNLP datoteke se nahaja na aplikativnem streţniku. Aplikativni streţnik avtorizira uporabnika in na podlagi njegovih podatkov napolni predlogo zagonske datoteka za posamezen pripomoček

44 Zahteve za pridobitev zagonske datoteke se generirajo ob kliku na ikono pripomočka znotraj pripomočka zabojnik in na portalu za pridobivanje pripomočkov. Ob kliku se zahteva se pošlje na aplikativni streţnik, ki vrne zagonsko datoteko za pripomoček. Zahteva za zagonsko datoteko vsebuje ime pripomočka (WidgetContainer) in uporabniško ime (ramsak) : GET /sdpweb/rest/widget?widgetname=widgetcontainer&username=ramsak HTTP/1.1 Content-Type: text/xml;charset=utf-8 Authorization: <user-authorization-data> User-Agent: Java/1.6.0_24 Host: <hostaddress> Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Kot odgovor se vrne napolnjena zagonska datoteka, s katero je mogoče zagnati pripomoček: HTTP/ Created Server: Apache-Coyote/1.1 Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan :00:00 CET X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=3566ECF F204126AA631125E08; Path=/sdpweb Content-Disposition: attachment; filename=cfwidget.jnlp Content-Type: application/x-java-jnlp-file Transfer-Encoding: chunked Date: Fri, 12 Aug :14:53 GMT <?xml version='1.0' encoding='utf-8'?> <jnlp spec='1.0+' codebase='./cfwidget.jnlp'> <information> <title>cfwidget</title> <vendor>iskratel</vendor> <homepage href=' <description>cfwidget</description> <offline-allowed/> </information> <security> <all-permissions/> </security> <resources> <j2se version='1.5+'/> <extension name='javafx Runtime' href=' <extension name='lib' href='

45 <jar href=' main='true'/> </resources> <application-desc main-class='com.sun.javafx.runtime.main.main'> <argument>mainjavafxscript=si.iskratel.widget.cf.main</argument> <argument> dxnlci1kyxrhlt51c2vyzgf0yszudw1izxjzlt4xmtexoziymjimyxjlys1jb2rllt4wndamchjlzml4lt4wjndp ZGdldC1zb3VyY2UtPmh0dHA6Ly9sb2NhbGhvc3Qvd2lkZ2V0cy9ETkRXaWRnZXQvJm9uLXNjcmVlbi1wb3NpdGlv bi0+mtawlja7mtawljambg9nz2luzy1szxzlbc0+te9hjmfzlwhvc3qtpjeyny4wljaumq&& </argument> </application-desc> <update check='always'/> </jnlp> Poenotenje pripomočkov, skupno ogrodje Parametri za nastavitve pripomočkov se med seboj razlikujejo, nekateri so tudi specifični za posamezen pripomoček, vendar pa je večina parametrov enakih. Za enake parametre je smiselno, da so poimenovani enako, saj je del kode, ki upravlja s temi parametri, lahko enak pri vseh pripomočkih. Tudi deli kode, ki so potrebni za osnovno delovanje pripomočkov, so enaki. Tako sem pripravil ogrodje, ki predstavlja osnovno strukturo pripomočka in podpira osnovne funkcije pripomočka. V praksi je to pripomoček s praznim ozadjem, delujočim menijem in podprtimi osnovnimi funkcijami pripomočka (prenos, zagon, shranjevanje, ), na katerega sem kasneje dodajal elemente in implementiral funkcionalnosti pripomočka Prikaz seznama klicev CallLog Widget Za prikaz seznama klicev sem moral pridobiti podatke o klicih uporabnika, ki se hranijo na CDR streţniku (Call Detail Records zapisi podrobnosti klicev). Podatke generira telefonska centrala, ti pa se beleţijo na CDR streţniku. Podatki, ki se beleţijo, so čas in datum začetka klica, trajanje klica, telefonska številka klicatelja in klicanega, tip klica ipd. Do teh podatkov sem dostopal preko SOAP vmesnika. V SOAP zahtevi sem definiral podatke uporabnika ter koliko in kakšne tipe klicev ţelim v odgovoru. Zaradi omejene velikosti končne datoteke pripomočka (hitrejši prenos prek spleta) za generiranje SOAP zahtev nisem uporabil knjiţnic, kot so Axis [29] in CXF [30]. Zahteve sem generiral ročno in jih pošiljal s HTTP zahtevami HTTP request. Prav tako sem ročno prebral odgovore in jih pretvoril v seznam, primeren za prikaz v programu

46 Primer zahteve: <soapenv:envelope xmlns:soapenv=" xmlns:cdr=" <soapenv:header> <wsse:security soapenv:mustunderstand="1" xmlns:wsse=" <wsse:usernametoken wsu:id="usernametoken-1" xmlns:wsu=" <wsse:username><cdr-username></wsse:username> <wsse:password Type=" wss-username-token-profile-1.0#passwordtext"><cdr-password></wsse:password> <wsse:nonce EncodingType=" wss-soap-message-security-1.0#Base64Binary"><nonce></wsse:Nonce> <wsu:created> t13:06:12.276z</wsu:created> </wsse:usernametoken> </wsse:security> </soapenv:header> <soapenv:body> <cdr:retrievecalls> <!-- From Date --> <arg0> t00:00:00+02:00</arg0> <!-- To Date --> <arg1> t14:20:16+02:00</arg1> <!-- Phone number --> <arg2> </arg2> <!-- Type of call --> <arg3>3</arg3> <!-- Limit --> <arg4>2</arg4> <!-- Order --> <arg5>0</arg5> </cdr:retrievecalls> </soapenv:body> </soapenv:envelope> Zahteva vsebuje element s parametri za avtorizacijo (<wsse:security>) in element s telesom zahteve, v katerem so podatki za prikaz rezultatov. Posamezni parametri zahteve so: interval datuma - začetni in končni datum (<arg0>, <arg1>), določena telefonska številka, tip klica (3 - vsi klici), število prikazov (2) in zaporedje razvrščanja (0)

47 Za zgornjo zahtevo sem dobil odgovor: <soap:envelope xmlns:soap=" <soap:body> <ns2:retrievecallsresponse xmlns:ns2=" <return> <callduration>32960</callduration> <callreleasecause>16</callreleasecause> <callednumber> </callednumber> <enddatetime> t15:36:59+02:00</enddatetime> <id>57356</id> <numberofchargingunits>0</numberofchargingunits> <ownernumber> </ownernumber> <price>0.0</price> <startdatetime> t15:36:26+02:00</startdatetime> <typeofcall>2</typeofcall> </return> <return> <callduration>4260</callduration> <callreleasecause>16</callreleasecause> <callednumber> </callednumber> <enddatetime> t13:33:30+02:00</enddatetime> <id>55677</id> <numberofchargingunits>0</numberofchargingunits> <ownernumber> </ownernumber> <price>0.0</price> <startdatetime> t13:33:26+02:00</startdatetime> <typeofcall>0</typeofcall> </return> </ns2:retrievecallsresponse> </soap:body> </soap:envelope> V odgovoru sta zapisa dveh klicev: prvi je bil proţen iz številke (owner number) na (called number), tip klica (type of call) je sprejeti klic s pričetkom ob T15:36:26+02:00 (start date time; format zapisa: <datum>t<ura><časovna cona>) in zaključkom ob T15:36:59+02:00 (end date time). Klic je trajal milisekund (call duration). Ker je šlo za interni klic, sta število obračunanih enot (number of charging units) in cena (price) enaki nič. Drugi zapis klica beleţi klic v nasprotni smeri odhodni klic na isti številki

48 Pridobljene podatke glede na nastavitve uporabnika prikazujem v seznamu klicev. Ločeno se prikazujejo zgrešeni, sprejeti in sproţeni klici. Te skupine se lahko prikazujejo za posamezne ali vse številke. Uporabnik lahko nastavlja interval osveţevanja ali izklopi avtomatsko osveţevanje in ročno sproţi zahtevo za podatke s CDR streţnika, kadar to ţeli Klic na zahtevo C2D Widget Proţenje klica je izvedeno s pošiljanjem zahteve za vzpostavitev third party call na vmesnik Parlay X. Za vzpostavitev klica so potrebni klicna številka, klicana številka in tako imenovan api-key (application key) ključ programa. Ključ je potreben za preverjanje uporabnika in je unikaten ključ, sestavljen iz uporabniškega imena in gesla uporabnika. Ti podatki se pošljejo preko HTTP protokola z GET metodo na REST vmesnik aplikativnega streţnika. Primer zahteve: Klic, ki se sproţi preko Parlay X vmesnika, se izvede s pomočjo CSTA - Computer- Supported Telecommunications Applications - računalniško podprtega telekomunikacijskega programa: Zahteva: &apikey=smFsc2trO3oDMjAAMGVnZWU2zjBj6DVAOTc5Y2L25zE4OmY4MWSxZAE= Streţnik kot odgovor v primeru uspešno rešene zahteve vrne identifikacijsko številko klica, v primeru neuspeha pa opis napake. Odgovor je v JSON formatu. Primer odgovora: {"result":"1001"} Med razvojem pripomočka se je na streţniku za proţenje klicev uporabljal drug servis, ki je za izvajanje klicev uporabljal SIP protokol, spremenil pa se je tudi vmesnik. Tako sem prilagodil zahtevo in branje odgovora na spremenjen vmesnik. Zahteva: POST /sdpweb/rest/thirdpartycall/callsessions HTTP/1.1 Accept-Charset: UTF-8 authorization: <user-authorization-data>

49 User-Agent: Java/1.6.0_24 Host: <hostaddress> Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-type: application/x-www-form-urlencoded Content-Length: 190 { "callsessioninformation": { "clientcorrelator":"511357", "participant":[ { "participantaddress":"<phonenumber>", "participantname":"ramsak" },{ "participantaddress":"<phonenumber>", "participantname":"" } ] } } Odgovor: HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=<session-id>; Path=/sdpweb Content-Type: application/json Transfer-Encoding: chunked Date: Fri, 12 Aug :20:55 GMT { "resourceurl":" ee72-4a85-a d842cc159:<hostaddress>.clicktocallsip)", "participant":[ { "starttime":" t10:20:55", "resourceurl": " "participantaddress":" ",

50 "participantstatus":"callparticipantconnected", "participantname":"ramsak" }, { "starttime":null, "resourceurl": " "participantaddress":"<phonenumber>", "participantstatus":"callparticipantinitial", "participantname":"" } ], "terminated":"false", "clientcorrelator":"511357" } Opis in izvedba klica je opisana v poglavju Grafični vmesnik uporabniku ponuja vnosno polje za številko, gumb za izvršitev klica in gumb, ki zaţene pripomoček z imenikom. Program shrani zadnjih deset unikatnih klicanih številk. Prvotna različica je vsebovala grafično številčno tipkovnico za vnos številke, vendar se je izkazala za manj uporabno Oddaljeno nadziranje (upravljanje) klica - RCC Widget Z oddaljenim nadzorom klica nastavljamo, s katere številke (naprave) ţelimo klicati. Glede na nastavitve centrale ta preveri RCC nastavitve in najprej pokliče številko, ki je nastavljena. Ko odgovorimo na ta klic centrale, centrala pokliče številko, ki smo jo klicali. Slika 7.1: Shema uporabe oddaljenega nadzora klica

51 Slika 7.1 prikazuje potek klica ob aktiviranem servisu za oddaljeno nadziranje (upravljanje) klica. Servis je aktiviran za A številko na primarnem uporabnikovem telefonu in je nastavljen na B številko (na primer mobilni telefon). Ko uporabnik proţi klic s telefona (če to telefon dopušča) ali preko pripomočka (na primer "klic na zahtevo"), se pošlje centrali zahteva za proţenje klica (1). Ker je servis aktiviran, se klic ne bo pričel na A številki ampak bo posredovan na nastavljeno B številko (2). Telefon uporabnika z B številko zazvoni in prikaţe klicano številko C. Ko uporabnik odgovori na klic centrale, se proţi klic proti telefonu s številko C (3). Metoda se uporablja z namenom, da uporabnik preko programskega klienta poišče klicno številko iz imenika. Ker pa ne ţeli uporabljati programskega klienta za izvajanje klica (na primer uporaba slušalk na računalniku) ali ročno odtipkati številko v stacionarni telefon, ima na številki klienta (A številka) aktiviran servis na stacionarni telefon (številka B). Ko s klienta proţi klic se namesto preko klienta ta izvede preko stacionarnega telefona. Način spreminjanja RCC nastavitev, ki sem ga uporabil, se izvaja preko odprtega vmesnika OpenMN. Komunikacija med pripomočkom in odprtim vmesnikom OpenMN poteka preko storitve na aplikativnem streţniku. RCC servis se nastavlja preko metode 'modifysupplementaryservices'. Ta metoda omogoča spremembo telefonske številke, vključitev in izključitev servisa. Z metodo 'getsupplementaryservices' pa se preveri stanje servisa. Pri začetni različici pripomočka je uporabnik lahko nastavljal številko za svojo stacionarno številko. Zaradi nastavitev na aplikativnem streţniku je uporabnik lahko nastavljal le svoje številke. Kasneje sem funkcionalnost razširil tako, da je lahko uporabnik nastavil servis še za svojo številko, ki je namenjena za PC SIP klienta. Ker SIP klient deluje preko aplikativnega streţnika, uporabnik lahko nastavi katerokoli številko, s katere ţeli klicati Upoštevanje zankanja Med razvojem je bilo nastavljanje storitve dovoljeno le na uporabnikove telefonske številke, zahteve za nastavljanje servisa pa so bile razširjene na uporabnikove številke (npr. Mobilni telefon, namizni telefon, Softphone,...). Zaradi omejenega števila uporabnikovih številk je tako lahko prišlo do zankanja med številkami

52 Slika 7.2: Shema zankanja pri proženju klica Slika 7.2 prikazuje princip zankanja ob nepravilni nastavitvi servisa za oddaljeno nadziranje klica. Primer, kako pride do zankanja, je sledeč: Uporabnik A preko pripomočka (ali AS-a) sproţi klic proti uporabniku C (1). Ker je na A nastavljeno (2-3) oddaljeno nadziranje klica na številko B poskuša centrala poklicati B številko (4). Na B številki je prav tako nastavljen servis vendar na A številko (5). Centrala zopet poskuša poklicati številko A (6). Tako se klic na C številko nikoli ne sproţi. Centrala po nekaj obhodih preneha s poskušanjem klica. Iz tega razloga sem dodal preverjanje številk ob nastavitvi servisa. Ko uporabnik nastavi servis za A številko na B, program preveri če je za B ţe nastavljen servis in na katero številko. Če je za B nastavljen servis na A številko in bi prišlo do zankanja, zato onemogočim servis na B številki in nastavim servis na A številki (kar uporabnik trenutno nastavlja). Zahteva za preverjanje stanja: <soapenv:envelope xmlns:soapenv=" xmlns:urn="urn:iskratel-si:itnbsp-1-0"> <soapenv:header/> <soapenv:body> <urn:getsupplementaryservicesrequest> <subscriber node="" countrycode="0" areacode="4207" dn="4852" mndomainid=""> <service oid="rcc"/> </subscriber> </urn:getsupplementaryservicesrequest> </soapenv:body> </soapenv:envelope>

53 Odgovor: <soapenv:envelope xmlns:soapenv=" <soapenv:body> <getsupplementaryservicesresponse xmlns="urn:iskratel-si:itnbsp-1-0"> <subscriber node="6111" areacode="4207" dn="4852" xmlns=""> <service oid="rcc"> <param value="yes" key="authorization"/> <param value="no" key="activation"/> </service> </subscriber> </getsupplementaryservicesresponse> </soapenv:body> </soapenv:envelope> Zahteva za aktiviranje:... <subscriber node="" countrycode="0" areacode="4207" dn="7122" mndomainid=""> <service oid="rcc"> <param key="authorization" value="yes"/> <param key="activation" value="no"/> <param key="rccdn" value="7222" unit=""/> </service> </subscriber>... Odgovor: <soapenv:envelope xmlns:soapenv=" <soapenv:body> <modifysupplementaryservicesresponse xmlns="urn:iskratel-si:itnbsp-1-0"/> </soapenv:body> </soapenv:envelope> Zahteva za deaktiviranje:... <subscriber node="" countrycode="0" areacode="4207" dn="7122" mndomainid=""> <service oid="rcc"> <param key="authorization" value="yes"/> <param key="activation" value="no"/> </service> </subscriber>

54 Odgovor: <soapenv:envelope xmlns:soapenv=" <soapenv:body> <modifysupplementaryservicesresponse xmlns="urn:iskratel-si:itnbsp-1-0"/> </soapenv:body> </soapenv:envelope> 'Ne moti' pripomoček - DND Widget 'Ne moti' pripomoček ima samo eno funkcionalnost - aktiviranje ali deaktiviranje storitve 'Ne moti'. Aktivirana storitev "Ne moti" pomeni, da uporabnik ne ţeli sprejemati klicev, deaktiviranje te storitve pa pomeni, da uporabnik spet ţeli prejemati klice. Tako se preko OpenMN vmesnika vklopi oziroma izklopi stanje za določeno številko. Slika 7.3: Shema uporabe "ne moti" funkcije Slika 7.3 prikazuje potek klica ob aktivnem servisu. Uporabnik s številko A ţeli poklicati številko B (1). Ker je na B številki aktiviran servis "Ne moti", centrala pošlje znak "zasedeno" na številko A. Servis se aktivira preko aplikativnega streţnika. Pripomoček generira zahtevo za aktiviranje servisa s pomočjo shranjenih podatkov in jo pošlje na aplikativni streţnik, ki vrne potrditev spremembe ali napako. Primer zahteve za aktiviranje servisa: PUT /sdpweb/rest/sp/modifysupplementaryservices?dn=7122&areacode=4207&oid=dnd HTTP/1.1 Authorization: <user-authorization-data> User-Agent: Java/1.6.0_24 Host: <hostaddress> Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 166 { "subscriber":

55 } { } "areacode":"4207", "dn":"7122", "oid":"dnd", "parameters":[ { "key":"authorization", "value":"yes" }, { "key":"activation", "value":"yes" } ], "parameterlists":[] Odgovor streţnika je HTTP statusna koda "200 OK" v primeru, da je bila zahteva uspešno izvedena. Primer odgovora aplikativnega streţnika: HTTP/ OK Server: Apache-Coyote/1.1 Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan :00:00 CET X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=<session-id>; Path=/sdpweb Content-Type: application/json Content-Length: 0 Date: Fri, 12 Aug :50:34 GMT Zahteva za izklop servisa je generirana na enak način in z istimi podatki, razlika je le v parametru za aktivacijo activation = "no", na primer: PUT /sdpweb/rest/sp/modifysupplementaryservices?dn=7122&areacode=4207&oid=dnd... {"subscriber":{"areacode":"4207","dn":"7122","oid":"dnd","parameters":[{"key":"authoriza tion","value":"yes"},{"key":"activation","value":"no"}],"parameterlists":[]}}

56 Za preverjanje stanja servisa se s pomočjo GET metode pošlje zahteva, ki od streţnika pridobi stanje servisa. Podatki, potrebni za generiranje zahteve, so isti kot pri prejšnjih zahtevah. GET /sdpweb/rest/sp/getsupplementaryservices?dn=7122&areacode=4207&oid=dnd HTTP/1.1 Authorization: <user-authorization-data> User-Agent: Java/1.6.0_24 Host: <hostaddress> Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Odgovor v tem primeru vsebuje podatke o servisu, ki jih preberem in ustrezno prikaţem na grafičnem vmesniku pripomočka. HTTP/ OK Server: Apache-Coyote/1.1 Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan :00:00 CET X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=<session-id>; Path=/sdpweb Content-Type: application/json Transfer-Encoding: chunked Date: Fri, 12 Aug :53:58 GMT {"error":null,"subscriber":{"parameters":[{"value":"yes","key":"authorization"},{"value" :"no","key":"activation"}],"node":6111,"oid":"dnd","areacode":"4207","dn":"7122","mndoma inid":null,"countrycode":null,"parameterlists":[]}} Preusmerjanje klica CF Widget Pripomoček za preusmerjanje klicev zdruţuje ţe omenjene funkcionalnosti opisane v poglavju 7.1. Za vsako funkcionalnost sem moral dodati prikazovalnik stanja. Ta prikazuje samo stanje servisa, ne pa tudi njegovih nastavitev. Nastavitve oziroma številka, na katero je klic preusmerjen, je prikazana ob preletu kazalca miške. Pošiljanje zahtev je enako kot pri pripomočku za oddaljeno nadziranje klica in nastavljanje stanja "ne moti", vendar z drugimi oziroma dodatnimi parametri

57 V zahtevi se spremeni parameter oid na CFB, CFU ali CFNR... { "subscriber":{ "areacode":"4207", "dn":"7122", "oid":"cfb", "parameters": [ {"key":"authorization","value":"yes"}, {"key":"activation","value":"yes"} ], "parameterlists":[] } } Pri zahtevi za aktiviranje preusmerjanja klica, ko uporabnik ne odgovori, je potreben dodaten parameter, ki določa čas zakasnitve pred preusmeritvijo klica. {"key":"destinationdn","value":"7222"} {"key":"delaytime","value":"32"} d=cfb { "subscriber":{ "areacode":"4207", "dn":"7122", "oid":"cfb", "parameters": [ {"key":"authorization","value":"yes"}, {"key":"activation","value":"yes"}, {"key":"destinationdn","value":"7222"} ], "parameterlists":[] } } d=cfnr { "subscriber":{ "areacode":"4207", "dn":"7122",

58 } } "oid":"cfnr", "parameters": [ {"key":"authorization","value":"yes"}, {"key":"activation","value":"yes"}, {"key":"destinationdn","value":"7222"}, {"key":"delaytime","value":"34"} ], "parameterlists":[] Imenik PB Widget Prenos imenika Za prikazovanje imenika je potreben prenos podatkov s streţnika. Preko HTTP protokola pošljem zahtevo na servis, nameščen na aplikacijskem streţniku - AS. Od servisa dobim odgovor v obliki XML zapisa in v JSON formatu. Potek pridobivanja podatkov prikazuje Slika 7.4.: 1. S pripomočka se pošlje zahteva za imenik kontaktov na AS 2. AS poišče vse skupine in kontakte v bazi 3. AS generira odgovor in ga pošlje pripomočku Slika 7.4: Potek pošiljanja zahteve za imenik kontaktov Dobljene podatke je potrebno prebrati in jih pretvoriti v primerno obliko. Pretvarjanje iz JSON formata sem ţe opisal v poglavju Preverjanje iz XML formata je podobno pretvorbi iz JSON formata. V tem primeru sem se odločil za JSON format. Primer zahteve za pridobitev imenika: GET /sdpweb/rest/phonebook/users/ramsak/contactlists HTTP/1.1 Accept-Charset: UTF-8 Authorization: <user-authorization-data> User-Agent: Java/1.6.0_24 Host: <hostaddress> Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Kot odgovor servis pošlje seznam kontaktov v JSON in XML formatu: [ { "contacts": [

59 { "address": null, "description": null, "firstname": "Gregor", "lastname": "Ramšak", " ": "businessnumber": " ", "mobilenumber": "<mobilenumber>", "contactid": null, "contacttype": null, "middlename": null }, { "address": null, "description": null, "firstname": "3", "lastname": "Barcelona", " ": "barcelona3@iskratel.si", "businessnumber": " ", "mobilenumber": null, "contactid": null, "contacttype": null, "middlename": null } ], "contactlistname": "log_c2c_mail_perm", "contactlistid": 4, "contactlistversion": "XNqhc+TB5HhaoBQ4FG1beg==", "contactlisttype": 2, "xmlcontacts": " <?xml version=\"1.0\" encoding=\"utf-8\"?> <resource-lists xmlns=\"urn:ietf:params:xml:ns:resource-lists\" xmlns:cp="counterpath:properties"> <list name=\"contact List\"> <entry> <display-name>ramšak Gregor</display-name> <cp:prop name=\"contactid\" value=\"0\" /> <cp:prop name=\"given_name\" value=\"gregor\" /> <cp:prop name=\"surname\" value=\"ramšak\" /> <cp:prop name=\"business_number\" value=\" \" /> <cp:prop name=\"mobile_number\" value=\"<mobilenumber>\" /> <cp:prop name=\" _address\" value=\"ramsak@iskratel.si\" /> <cp:prop name=\"category\" value=\"work\" /> <cp:prop name=\"ispresencesubscribed\" value=\"true\" />

60 ] } </entry> <entry> <display-name>barcelona 3</display-name> <cp:prop name=\"contactid\" value=\"0\" /> <cp:prop name=\"given_name\" value=\"3\" /> <cp:prop name=\"surname\" value=\"barcelona\" /> <cp:prop name=\"business_number\" value=\" \" /> <cp:prop name=\" _address\" value=\"barcelona3@iskratel.si\" /> <cp:prop name=\"category\" value=\"work\" /> <cp:prop name=\"ispresencesubscribed\" value=\"true\" /> </entry> <cp:prop name=\"category\" value=\"work\" /> </list> </resource-lists>" Iskanje po kontaktih Prikazovanje na pripomočku je izvedeno z uporabo posebne komponente seznama, opisane v poglavju Za iskanje kontaktov je pripomočku dodana funkcija za sprotno iskanje 2 po kontaktih. Prva različica je po kontaktih iskala za vsako spremenljivko posebej (ime, priimek, elektronski naslov, telefonska številka,...). Takšno iskanje je bilo prepočasno, zato sem uvedel novo spremenljivko v razredu Contact, SearchData podatki za iskanje. Ta vrne vse podatke, ki so predvideni za iskanje. Tako je iskanje hitrejše, med tem pa ne prihaja do podvajanja kontaktov Pošiljanje SMS sporočil Pripomoček s telefonskim imenikom vsebuje funkcijo pošiljanja SMS sporočil. Vnos besedila je omogočen z vnosnim poljem. Ob potrditvi pošiljanja pripomoček generira zahtevo za pošiljanje sporočil. Podatki, potrebni za uspešno razrešitev zahteve, so telefonska številka pošiljatelja (uporabnik pripomočka), številka prejemnika, uporabniško ime pošiljatelja in besedilo sporočila. Zahteva se pošlje servisu za pošiljanje SMS sporočil, ki je nameščen na aplikativnem streţniku. Primer zahteve za pošiljanje SMS sporočila: POST /sdpweb/1/smsmessaging/outbound/tel:%2b /requests HTTP/1.1 Content-Type: application/xml Authorization: <user-authorization-data> 2 Iskanje med tipkanjem iskalnega niza

61 Accept: application/json User-Agent: Java/1.6.0_24 Host: <hostaddress> Connection: keep-alive Content-Length: 88 address=tel:%2b &senderaddress=tel:%2b &message=test&sendername=ramsak Iz odgovora servisa je razvidno, ali je bila zahteva uspešno posredovana in sporočilo poslano. Ob uspešni razrešitvi je statusna koda 201 (Created). V primeru napake pa se pošlje temu ustrezna koda (na primer 400 Bad Request) in opis napake. Primer uspešnega odgovora: HTTP/ Created Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=<session-id>; Path=/sdpweb Location: msmsmsmessa/outbound/tel:%2b /requests/ Content-Type: application/json Transfer-Encoding: chunked Date: Fri, 12 Aug :11:14 GMT {"resourcereference":{"resourceurl":"/sdpweb/1/smsmessaging/outbound/tel:%2b /re quests/ "}} Container Widget - zabojnik Funkcionalnost container-ja je, da generira oziroma kliče servis za generiranje zagonske datoteke izbranega pripomočka. Ob izbiri pripomočka s seznama container preveri, ali je zagonska datoteka za izbran pripomoček ţe shranjena na računalniku in jo zaţene, ali pa jo prenese s streţnika oziroma kliče servis, ki generira zagonsko datoteko za pripomoček. Ker container zdruţuje vse pripomočke sem mu dodal funkcionalnost remove all. Ta poišče vse nameščene pripomočke na uporabnikovem sistemu in jih pobriše Portal Struktura portala Portal je sestavljen iz programske logike in repozitorija s programskim paketom pripomočkov. V programski logiki je koda za pridobivanje podatkov z aplikativnega streţnika in koda za generiranje spletne strani portala. Repozitorij je razdeljen na posamezne pripomočke določene z imenom pripomočka. Znotraj dela posameznega pripomočka je JAR datoteka s programom pripomočka, predloga zagonske

62 datoteke, ikona pripomočka, JNLP datoteka za vključitev dodatnh knjiţnic za delovanje pripomočka in dodatne knjiţnice (na primer gson-1.6.jar). Widgets - D2DWidget C2DWidget.jar icon.png template.jnlp lib lib.jnlp gson-1.6.jar - CallLogWidget REST vmesnik za upravljanje pripomočkov Na aplikativnem streţniku je nameščena storitev, ki je dostopna preko REST vmesnika, in skrbi za upravljanje pripomočkov. Metodi, ki ju nudi storitev, sta metoda za pridobivanje seznama pripomočkov in metoda za pridobivanje zagonske datoteke pripomočka. Sama storitev za generiranje kliče druge storitve na aplikativnem streţniku, od katerih pridobi podatke, potrebne za delovanje pripomočka. Postopek generiranja zagonske datoteke je sledeč. Uporabnik se je avtoriziral ob prihodu na portal. Tako lahko servis preveri uporabnika preko druge storitve na aplikativnem streţniku. Prav tako od ostalih storitev pridobi podatke potrebne za delovanje pripomočka. Iz repozitorija prebere predlogo zagonske datoteke in jo napolni s pridobljenimi podatki. To datoteko nato pošlje uporabniku na naslov, s katerega je prišla zahteva Postavitev portala na spletni strežnik Uporabljata se lahko dve vrsti portala. Prvi je portal z neposredno povezavo na repozitorij s pripomočki. Takšen portal mora biti z naslovom vnesen v konfiguracijo aplikativnega streţnika, kar je potrebno za pravilno generiranje zagonske datoteke. Običajno se portal nahaja na istem streţniku kot aplikativni streţnik. Druga vrsta portala je portal s posrednim dostopom. Portal se generira s pomočjo servisa na aplikativnem streţniku pridobi seznam pripomočkov in generira povezave, ki kličejo metode za generiranje zagonske datoteke. Pri teh se uporabnik avtorizira ob kliku na povezavo, ki kliče metodo servisa. Portal se lahko postavi na kateri koli streţnik, vendar ob pogoju, da je s streţnika dostopen aplikativni streţnik

63 7.5 Razvoj grafičnega vmesnika Za testiranje osnovnih funkcionalnosti sem uporabil ţe izdelane komponente vključene v JavaFX SDK. Večina teh komponent je velikih in izdelanih s pomočjo CSS-a. Predelava je moţna, vendar dokumentacija še ni popolna, zato bi bila predelava zamudna, nekaj komponent pa SDK niti ni vključeval. Tako sem nekaj komponent izdelal po grafični predlogi, kasneje pa sem jih zaradi izboljšanja videza oblikoval sam. Glavni cilj pri oblikovanju mi je bil razvoj enostavnega vmesnika z minimalnim številom gumbov na osnovnem pogledu pripomočka, prikaz najosnovnejših informacij o stanju funkcije in prikaz drugih informacij Razvoj grafičnega vmesnika pripomočkov Kot prvi pripomoček sem izdelal seznam klicev po grafični predlogi. Zaradi večjega nabora nastavitev sem moral dodati dve okni za urejanje nastavitev (prikazano na Slika 8.5 in Slika 8.6). Slika 7.5: Prva različica seznama klicev Prva različica "Klic na zahtevo" pripomočka je vsebovala numerično tipkovnico za vnos telefonske številke in gumbe za brisanje ter proţenje klica, vendar se je izkazala za motečo in je zavzemala večino velikosti pripomočka (Slika 7.6). Slika 7.6: Prva različica "Klic na zahtevo" pripomočka Naslednja različica je vsebovala le vnosno polje in gumb za proţenje klica (Slika 7.7)

64 Slika 7.7: Zmanjšana različica "Klic na zahtevo" pripomočka Ti pripomočki so imeli klasično obliko okna. Naslednja stopnja je bila opustitev grafične predloge in uvedba modernejšega videza, ki sem ga dosegel z uporabo zaobljenih oken, senčenjem in prosojnostjo elementov. Ker je imel pripomoček "Klic na zahtevo" precej manj elementov za prikaz, sem ga preoblikoval prvega. Za ozadje sem dodal prosojen zaobljen kvadrat s senco. Vnosno polje za številko sem nadgradil v vnosno polje s spustnim seznamom za prikazovanje ţe klicanih številk, gumb z napisom pa preoblikoval v gumb z animirano ikono. Za prikazovanje opisa orodij sem izdelal in dodal novo komponento, prikazano na Slika 7.8 b. kvadrat z besedilom "Call", ki se pojavi na vrhu pripomočka. a. b. Slika 7.8: Preoblikovana različica "Klic na zahtevo" pripomočka Z manjšimi popravki videza komponent sem prišel do končne oblike pripomočka in osnove za nadaljnje pripomočke. Slika 7.9: Zaključena oblika komponent "Klic na zahtevo" pripomočka

65 7.5.2 Komponente gradniki grafičnega uporabniškega vmesnika Meni Vsi pripomočki vsebujejo spustni meni popup menu, proţen na desni klik miške. Meni ponuja osnovne funkcije izhod - exit, odstrani - remove in postavi v ospredje - bring to front / postavi v ozadje - send to back. a. b. Slika 7.10: Primer menija Meni je sestavljen iz komponente za vertikalno postavitev in iz gumbov, ki predstavljajo posamezne funkcije. Za večjo preglednost menija je dodan še ločevalnik separator. Izdelani meniji podpirajo le en nivo (gumb ne odpre svojega podmenija) Kombinirani seznam Combo box Za izbiranje s seznama sem izdelal spustni seznam. Vidni del je sestavljen iz vnosnega polja in gumba, ki odpre in zapre seznam. Za prikaz seznama sem uporabil isto komponento kot za meni. a. b. Slika 7.11: Primer spustnega seznama Seznamu je potrebno določiti širino in višino vidnega seznama oziroma število prikazanih elementov. Če je seznam večji kot vidno območje, se na strani prikaţe drsnik, s katerim se premika seznam Potrditveno polje Check box Komponenta je sestavljena iz oznake label in polja za potrditev. Slika 7.12: Primer potrditvenega polja Običajno se polje za potrditev nahaja pred oznako. Zaradi enotnosti videza pa sem ga postavil na desno stran oznake, kot prikazuje Slika

66 Tabela Ta komponenta je nujna, če je potrebno prikazati več podatkov v obliki seznama. Za prikaz seznama klicev sem izdelal tabelo, ki podpira le fiksne širine stolpcev. To pa je povzročalo teţave pri predolgih nizih znakov, saj se nizi prekrivajo oziroma so premaknjeni. Pri omenjeni tabeli sem poznal največje število znakov in s tem dolţino niza, tako da teh teţav nisem imel. Slika 7.13: Primer tabele Za prikaz imenika sem moral iz tega razloga izdelati drugo tabelo, ki je podpirala poljubno širino niza. Zaradi prevelikega števila podatkov je bila takšna oblika prikaza nepregledna. Tako sem se omejil le na prikaz indikatorja in imena kontakta Seznam - list Slika 7.14: Primer seznama kontaktov

67 Gumbi Namesto gumbov z besedilom sem pri večini gumbov zaradi bolj preglednega videza uporabil gumbe z ikonami. Slika 7.15: Primeri gumbov Zaradi boljše uporabnosti vsi gumbi spremenijo ozadje ob preletu kazalca miške Vnosno polje Je uporabljeno za vnašanje številk oziroma iskalih gesel in ga uporabljam kot sestavni del pri kombiniranem seznamu. Izdelan je na podlagi JavaFX komponente, kateri sem spremenil oziroma dodal obrobo in ozadje. Slika 7.16: Primeri vnosnih polj Prikaz opisa orodja Za boljšo preglednost programa je nujno gumbe in polja opremiti s kratkim opisom - tako imenovan tooltip text. Običajni opisi se pojavijo, če dlje časa s kazalcem miške stojimo nad orodjem (gumb, polje, ). Opis se izriše pod kazalcem in izgine čez nekaj časa. Ker v takratni različici SDK te komponente še ni bilo na voljo, sem opis orodja izdelal sam. Pri opisanih pripomočkih sem opis postavil na zgornji rob pripomočka. Tudi delovanje opisa se razlikuje od običajnega. Opisi se prikazujejo ţe ob preletu s kazalcem in počasi izginejo, ko se kazalec premakne izven območja komponente. a. b. c. Slika 7.17: Opis orodja: a. Kazalec je izven območja pripomočka; b. Kazalec je nad pripomočkom; c. Kazalec je nad gumbom za aktiviranje servisa Ista komponenta je uporabljena za obveščanje uporabnika o napaki pripomočka. V večini primerov je pri napakah šlo za nedostopnost streţnika (napačen naslov streţnika ali nedosegljivost). Programsko je izklopljen prikaz napake z opisom v stanju mirovanja (Slika 7.17 a). Tako opisom orodja dodam le ikono, ki opozarja na napako. Opis napake in odprava napake sta napisana v navodilih pripomočka

68 Slika 7.18: Prikaz napake z opisom orodja - tooltip text Grafični vmesnik portala Ţe prej opisane pridobljene podatke o pripomočkih sem na spletni strani prikazal s pomočjo ikon pripomočkov in njihovega imena. Število in vrsta pripomočkov je lahko različna glede na uporabnikova dovoljenja. Slika 7.19: Prikaz portala za prenos pripomočkov Slika 7.19 prikazuje portal namenjen za testiranje pravilnega generiranja zagonskih datotek in njihovega prenosa Delovanje pripomočkov znotraj brskalnika Pripomoček se lahko poţene znotraj brskalnika, vendar se pojavi teţava pri grafičnem prikazu pripomočka znotraj brskalnika. Problem bom opisal v poglavju Programska logika pripomočka, ki deluje znotraj brskalnika, deluje enako kot pri pripomočku, zagnanem na namizju operacijskega sistema. Neuporabne postanejo le nekatere funkcije pripomočka, kot so izhod, postavi v ospredje (ozadje), premikanje pripomočka, ipd. Delna rešitev za delovanje in prikazovanje pripomočka je opisana v poglavju Težave pri realizaciji zahtev Težave pri prikazu pripomočkov na namizju Prikazovanje pripomočka v brskalniku in namizju je različno. Ker je brskalnik ţe omejen z okvirjem je pripomoček brez okvirja (Slika 7.20, desno). Na namizju pa se pripomoček prikazuje kot samostojen program in je tako omejen z okvirjem (Slika 7.20, levo)

69 Slika 7.20: Prikaz programa - pripomočka z okvirjem (levo) in brez okvirja (desno) To ne predstavlja večjega problema za pripomočke pravokotne oblike. Bolj problematično je bilo prikazati pripomoček z zaobljenimi robovi. Pri razliki med oblino in kotom okna se je vedno prikazalo črno ozadje, kot kaţe Slika Slika 7.21: Prikaz pripomočka brez okvirja Tako sem prve pripomočke izdelal v pravokotni obliki in se tako izognil teţavi. Takšno obliko pripomočka prikazuje Slika Rešitev pa je bila le začasna, saj je takšen prikaz imel tudi druge pomanjkljivosti, opisane v poglavju Slika 7.22: Prikaz pripomočka pravokotne oblike brez standardnega okvirja Za rešitev tega problema sem uporabil knjiţnico, uporabljeno pri WidgetFX projektu [31]. Ta omogoča postavitev JavaFX komponente na prosojno okno. Tako sem lahko prikazal pripomoček poljubne oblike in s prosojnim ozadjem Težave pri prikazovanju pripomočka znotraj brskalnika Z vključitvijo knjiţnice iz WidgetFX projekta sem dodal pripomočku funkcionalnost, ki je ni mogoče uporabiti v brskalniku. Problem pri brskalniku je, da JavaFX prikaz prosojnosti onemogočen. Grafični prikaz deluje tako, da se ob osveţitvi elementa element ponovno izriše. Ker pa se obstoječ element ne izbriše in se nov (osveţen) element izriše nad obstoječega, se elementi izrisujejo eden čez drugega, kar se pri prosojnih elementih pozna kot vedno temnejša barva. Slika 7.23 prikazuje pripomoček pred in po osveţitvi

70 Slika 7.23: Prikaz pripomočka pred osveževanjem (levo) prikaz pripomočka po nekajkratnem osveževanju(desno) Tako sem se osredotočil na razvoj pripomočkov, ki bodo prikazani primarno na namizju. Delna rešitev prikazovanja pripomočka v brskalniku in namizju operacijskega sistema je opisana v poglavju Prikazovanje programa kot pripomoček na namizju. Za prikazovanje programa s poljubnim videzom in/ali obliko se uporabljajo različne metode in tehnologije. Sama Java lahko prikaţe okno brez okvirja, vendar le pravokotne oblike. Posledica in rešitev tega problema sta ţe opisana v poglavju Poleg tega sem naletel na teţavo pri prikazovanju pripomočka v opravilni vrstici - taskbar operacijskega sistema Windows. Za pripomoček je običajno, da se oznaka, ki predstavlja program, ne pojavi v opravilni vrstici. Prav tako je neobičajno da se ikona pojavi v tako imenovani notification area - območje za obvestila (v opravilni vrstici poleg ure). Oba problema sem rešil z uporabo WidgetFX knjiţnice, ki pripomoček postavi na prosojno okno oziroma dialog window pogovorno okno, ki je gradnik Jave Realiziranje funkcionalnosti "drag to install" povleci za namestitev Povleci za namestitev- drag to install funkcionalnost omogoča, da se applet z miško (Shift + drag) povleče iz brskalnika na namizje. Ob tem je delovanje neprekinjeno. Po prikazu okna na namizju se lahko brskalnik zapre in javanski proces bo še naprej deloval. Slabost pri tej metodi je, da se ob oknu pojavi gumb za zaprtje programa. Tega programsko ni mogoče odstraniti. Problem nastane, če okno ni pravokotne oblike ali če je med vidnim delom okna in desnim robom dejanskega okna prazen prostor (namenjen za meni, opis orodja,...). Tako je gumb prikazan predaleč od vidnega okna, kar moti pri uporabi pripomočka. Tudi premikanje pripomočka po namizju na klasičen način (premik z miško), pri čemer je potrebno programsko določiti območje na katerem deluje klik za premik, je oteţeno, saj se gumb ne premakne s pripomočkom, ampak ostane na mestu. Za premikanje applet-a po namizju se drugače uporablja shift + drag. Delna rešitev problema je opisana v poglavju

71 8 OPIS REŠITVE IN REZULTATI Za dostop do pripomočkov sem izdelal testno okolje za prenos pripomočkov. Na Apache Tomcat streţnik sem namestil stran, s katere se prenesejo JNLP datoteke za zagon pripomočkov s podatki uporabnika. Nastavitve, potrebne za delovanje posameznega pripomočka, sem prvotno dodal iz statičnega zapisa, kasneje pa jih pridobil z aplikacijskega streţnika. Uporabnik se za prenos pripomočka identificira-avtorizira z uporabniškim imenom in geslom. To je prav tako nujno za avtoriziranje na servisih, ki jih kliče pripomoček za izvajanje funkcij. 8.1 Končni izdelek V naslednjih poglavjih bom predstavil delovanje pripomočkov z vidika uporabnika, način uporabe in razloţil delovanje posameznih funkcij Delovanje posameznih pripomočkov Klic na zahtevo Pripomoček omogoča proţenje klicev iz uporabnikove številke na ţelene številke. Uporabnikova številka je uporabljena prva (A številka). Ob kliku na desni gumb s slušalko se proţi klic na vneseno številko. Številko lahko uporabnik vnese ali izbere iz seznama zadnjih klicanih številk. Slika 8.1: Pripomoček Klic na zahtevo Ob kliku na gumb s knjigo se odpre pripomoček z imenikom

72 Funkcije menija pripomočka omogočajo postavitev pripomočka v ospredje zaslona (vedno na vrhu) bring to front in obratno funkcijo Send to back, ki postavi pripomoček v ozadje oziroma v običajno postavitev. Funkcija Click to Call via SIP in obratna funkcija Click to Call via CSTA omogoča isto funkcionalnost in je bila vgrajena iz istih razlogov, kot pri pripomočku za prikaz seznama klicev. Prav tako imata isto funkcijo Remove odstrani in Exit izhod, le da klik na Exit izhod zapre pripomoček brez nadaljnje potrditve Proţenje klica Proţenje klica se izvaja pri večih pripomočkih (pripomoček za prikaz klicev, klic na zahtevo, telefonski imenik), princip proţenja klica pa je pri vseh enak. Na Slika 8.2 je prikazana shema poteka proţenja klica. Slika 8.2: Potek proženja klica 1. Uporabnik proţi klic preko pripomočka. Pripomoček pošlje zahtevo za proţenje klica na AS. AS preveri uporabnika tako, da preveri avtorizacijo za proţenje klica in avtorizacijo za uporabo klicne številke. Če se uporabnik uspešno avtorizira, se postopek proţenja nadaljuje. 2. AS pošlje zahtevo za klic na CS 3. CS pošlje invite povabilo na A številko (uporabnikovo). Uporabnikov telefon zazvoni s prikazom B številke (klicana številka) 4. Uporabnik sprejme klic 5. Pošlje še povabilo B številki. Telefon klicanega zazvoni s prikazom A številke (klicne številke) 6. Klicani (B) sprejme klic 7. Zveza se vzpostavi

73 Prikaz seznama klicev Osnovni zaslon pripomočka prikazuje seznam klicev za nastavljeno kategorijo klicev. V spodnjem desnem kotu je prikazana številka uporabnika, za katero je prikazan seznam klicev. Iz seznama klicev lahko izberemo številko, ki jo ţelimo klicati. S klikom na vrstico z ţeleno številko sproţimo klic. Slika 8.3: Pripomoček za prikaz seznama klicev Z desnim klikom na okvir (ozadje) pripomočka se odpre meni, s katerega lahko izberemo različne zaslone pripomočka ali funkcije. Slika 8.4: Prikaz menija Za prikaz klicev v časovnem obdobju lahko uporabnik izbere Archive arhiv. Odpre se okno, v katerem določi začetni in končni datum prikazanih klicev. Število prikazanih klicev je omejeno in se ga trenutno lahko določi le programsko. Datum lahko uporabnik vnese preko tipkovnice ali izbere s koledarja. S klikom na gumb Apply omogoči se prikaţe seznam klicev v ţelenem obdobju. S klikom na gumb Cancel prekliči se prikaţe privzeto okno

74 Slika 8.5: Prikaz izbire časovnega intervala arhiva Za spreminjanje nastavitev pripomočka mora uporabnik iz menija izbrati Settings nastavitve. Odpre se okno za nastavljanje številke, za katero je prikazan seznam klicev. Lahko se izbere tudi moţnost All vse številke, kjer se na seznamu prikaţejo klici za vse uporabnikove številke. Naslednje polje (Call type) omogoča nastavljanje privzetega tipa klicev. Ta se prikaţe ob zagonu oziroma ob kliku na Default view privzet pogled v meniju. Polje Refresh interval interval osveţevanja nastavlja časovni zamik osveţevanja seznama klicev. Izbrati je moţno intervale od 1 s do 300 s. Zadnja nastavitev (Click to Call via SIP) omogoča nastavitev, preko katerega servisa se bodo proţili klici. Vgradil sem jo med menjavo servisa za preverjanje funkcionalnosti servisa. Kot pri prejšnjem oknu se spremembe potrdi ali pa zavrţe

75 Slika 8.6: Prikaz nastavitev Funkcija menija Remove (odstrani) odstrani pripomoček s sistema izbriše se zagonska datoteka pripomočka. Funkcija Save (shrani) shrani nastavitve pripomočka v zagonsko datoteko. Z funkcijo Exit (izhod) se odpre izhodno okno, kjer od uporabnika zahteva potrditev izhoda. Podane so še moţnosti za odstranitev pripomočka Remove widget in Save shrani. Slika 8.7: Izhodno okno

76 Oddaljeno upravljanje klica Pripomoček uporabniku omogoča, da določi, katera številka bo klicana ob proţenju klica z njegove A (ali softphone) številke. To pomeni, da takrat, ko je njegova A številka 1 in ţeli, da bo ob proţenju klica namesto 1 zvonila 2, mora za številko 1 nastaviti RCC servis na 2. Tako bo ob proţenju klica preko pripomočka Klic na zahtevo zvonila številka 2. Uporabnik lahko načeloma vnese poljubno številko, vendar je običajno omejen z avtorizacijo na njegove številke. Slika 8.8: Pripomoček za oddaljen nadzor klica Servis se aktivira s klikom na potrditveno polje na desni. Če je aktivacija uspešna, se na polju pojavi kljukica. Vnos številke je onemogočen do izklopa servisa klik na potrditveno polje. Slika 8.9: Prikaz aktivnega stanja Pripomoček omogoča nastavljanje servisa za A številko uporabnika in njegovo softphone številko. Preklapljanje med številkami je omogočeno z funkcijo v meniju Set for SIP PC Client (Bria) - softphone številka oziroma Set for Click to Call widget A številka. Slika 8.10: Prikaz menija Ostale funkcije menija so iste kot pri prejšnjem pripomočku

77 'Ne moti' Pripomoček omogoča upravljanje in prikaz statusa "ne moti". Uporabnik s klikom na gumb vklopi oziroma izklopi status "ne moti" Do not Disturb. Trenutno stanje je prikazano na gumbu. Polovično prečrtana slušalka predstavlja stanje "dosegljiv" (Slika 8.11) - servis ni omogočen (Slušalka je delno prečrtana zaradi vizualne predstavitve delovanja pripomočka). Prečrtana slušalka pa predstavlja stanje "ne moti" in servis je omogočen, takšno stanje prikazuje Slika V primeru, ko uporabnik kliče drugega uporabnika, ki ima aktiviran servis, bo prvem uporabniku poslan signal "zasedeno". Slika 8.11: Prikaz stanja "dosegljiv" Slika 8.12: Prikaz stanja "ne moti" Ker uporabnik sam nastavlja stanje, je samodejno osveţevanje stanja programsko onemogočeno. Za ročno osveţitev stanja sem v meni dodal funkcijo Refresh osveţi. Ostale funkcije v meniju so iste kot v prejšnjih pripomočkih. Slika 8.13: Prikaz menija Preusmerjanje klica Pripomoček omogoča upravljanje nastavitev za preusmerjanje klicev. Podprti so trije tipi preusmeritev: Call Forwarding Busy preusmerjanje klica, ko je uporabnik zaseden Call Forwarding Unconditional brezpogojno preusmerjanje klica (preusmeri se vsak klic) Call Forwarding No Reply preusmerjanje klica, ko uporabnik ne odgovori (klic se preusmeri, ko se uporabnik ne javi v določenem času)

78 Slika 8.14: Pripomoček za preusmerjanje klicev Za aktiviranje posameznega servisa uporabnik klikne na ţelen tip preusmeritve. Na sliki je prikaz za aktiviranje preusmeritve klica, ko je uporabnik zaseden. V vnosno polje vpiše številko, na katero se klic preusmeri, in potrdi oziroma prekliče aktivacijo. Slika 8.15: Pripomoček za preusmerjanje klicev - prikaz nastavitev Če je bila aktivacija uspešna, se v polju pokaţe kljukica, ki prikazuje, da je servis omogočen. Slika 8.16: Pripomoček za preusmerjanje klicev - prikaz aktiviranega servisa Uporabnik lahko servis onemogoči s klikom na polje, ki predstavlja posamezen servis. Aktivacija brezpogojnega preusmerjanja klica je enaka kot pri prej opisanem postopku. Pri aktiviranju servisa preusmerjanje klica, ko uporabnik ne odgovori, je postopek podoben. Nastaviti je potrebno še dodaten parameter. Ta določa čas, po katerem se klic preusmeri (na Slika 8.17 je nastavljen na 32 s). Slika 8.17: Pripomoček za preusmerjanje klicev - prikaz nastavitev

79 Slika 8.18: Pripomoček za preusmerjanje klicev - prikaz aktiviranega servisa Funkcije menija so enake kot pri prejšnjem pripomočku. Slika 8.19: Pripomoček za preusmerjanje klicev - prikaz menija

80 Imenik Pripomoček s telefonskim imenikom prikazuje kontakte, ki so v isti skupini kot uporabnik. Uporabnik lahko med kontakti išče ročno ali s pomočjo iskalnika. Vnosno polje za iskanje je na spodnjem robu pripomočka. Iskalnik deluje sprotno med tipkanjem prikaţe rezultate. Med različnimi skupinami se uporabnik premika s klikom na zavihke tab skupine, ki so postavljeni na spodnjem robu polja z imenikom. Indikator pred imenom kontakta je pripravljen za prikazovanje stanja kontakta, ki pa v začetni fazi še ni delujoč. Manjka streţniški del servisa, ki posodablja in posreduje stanja kontaktov. a. b. Slika 8.20: Pripomoček s telefonskim imenikom Za delo s posameznim kontaktom uporabnik izbere kontakt in z desnim klikom odpre orodno vrstico kontakta - Slika 8.20 b. Funkcije, ki jih ponuja, so: Edit contact uredi kontakt Show contact prikaţi kontakt Call contact pokliči kontakt Send SMS to contact pošlji SMS kontaktu Delete contact izbriši kontakt Funkciji Edit contact uredi kontakt in Delete contact izbriši kontakt v tej fazi še nista bili podprti in sta zato onemogočeni

81 Funkcija Show contact prikaţi kontakt odpre okni s prikazom podatkov kontakta. V zgornjem delu okna je indikator stanja, ime kontakta in gumb za zaprtje okna, v spodnjem pa podatki kontakta: Name ime, Last name priimek, Business number sluţbena številka, Mobile number mobilna številka in elektronski naslov. Ob poljih s telefonskimi številkami je gumb za klic na to številko, pri mobilni številki pa še gumb za pošiljanje SMS sporočila. Slika 8.21: Okno s prikazom podatkov kontakta Funkcija Call contact pokliči kontakt izvede klic na telefonsko številko kontakta. Za klic iz orodne vrstice kontakta se uporabi sluţbena številka kontakta. Za klic na druge številke mora uporabnik odpreti okno s podatki o kontaktu (Show contact prikaţi kontakt). Funkcija Send SMS to contact pošlji SMS kontaktu odpre okno za pošiljanje SMS sporočil. V primeru, da kontakt nima zapisane mobilne številke, je gumb onemogočen. a. b. Slika 8.22: Okno za pošiljanje SMS sporočil V oknu je prikazano ime kontakta, kateremu pošiljamo sporočilo, vnosno polje za besedilo sporočila, števec znakov sporočila in gumb za pošiljanje. Za pošiljanje sporočil na poljubno mobilno številko je na osnovnem oknu v spodnjem levem kotu gumb, ki odpre okno za pošiljanje SMS sporočil, kot prikazuje Slika 8.22 b. V zgornjem delu je namesto imena kontakta vnosno polje za mobilno številko. Klik na gumb Send Pošlji pošlje podatke servisu za pošiljanje SMS sporočil

82 Potek pošiljanja SMS sporočila Pošiljanje zahteve za SMS sporočilo sproţi pripomoček takrat, ko uporabnik potrdi vnos sporočila. Potek pošiljanja zahteve in sporočila prikazuje Slika Slika 8.23: Potek pošiljanja SMS sporočila 1. Uporabnik pošlje sporočilo s pripomočka. Pripomoček pošlje zahtevo na aplikativni streţnik. Ta preveri, če je uporabniku dovoljeno pošiljanje sporočil (1/2 potrditev zahteve) 2. Aplikativni streţnik pošlje zahtevo na servis za pošiljanje sporočil v mobilno omreţje 3. Sporočilo se pošlje na mobilno napravo Funkcije menija Funkcije menija so enake kot pri ostalih pripomočkih. Dodana je funkcija Settings nastavitve, ta odpre okno z nastavitvami

83 Slika 8.24: Pripomoček s telefonskim imenikom - prikaz menija Okno z nastavitvami prikaţe nastavitve pripomočka. V zgornjem oknu sta gumb za zapiranje okna in gumb za prikaz pomoči o pripomočku. Za pomoč se odpre spletna stran v brskalniku. Nastavitve so iste kot v zagonski datoteki in njihov pomen je bil ţe razloţen. Nekatere je dovoljeno spreminjati, drugih ne. Ključavnica ob vnosnem polju označuje, da je spreminjanje nastavitve onemogočeno. Klik na gumb Refresh osveţi sproţi osveţitev imenika, prikazanega v pripomočku. Slika 8.25: Okno z nastavitvami

84 Container - Zabojnik Ta pripomoček omogoča zagon posameznih pripomočkov. S klikom na gumb, ki predstavlja pripomoček, uporabnik zaţene pripomoček. Če je pripomoček ţe nameščen na uporabnikovem sistemu, se uporabi ţe prenesena zagonska datoteka. V nasprotnem primeru se pripomoček prenese s streţnika. Slika 8.26: Orodna vrstica s pripomočki Pripomoček ima v meniju poleg ţe naštetih še funkcijo Remove all odstrani vse. Ta odstrani vse pripomočke z uporabnikovega sistema. Slika 8.27: Orodna vrstica s pripomočki. Prikaz menija

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

Elektronska pošta

Elektronska pošta Elektronska pošta ZGODOVINA Prvo sporočilo je bilo poslano leta 1971. Besedilo, ki ga je vsebovalo, je bilo QWERTYUIOP. Pošiljatelj je bil Ray Tomlinson, računalnika med katerima je bilo sporočilo poslano

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite

Prikaži več

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CN-BTU4 Quick Guide_SI Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost

Prikaži več

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko UPORABLJENE TEHNOLOGIJE Za izdelavo predstavitvene spletne strani smo izbrali tehnologije, ki zagotavljajo: Hitro delovanje spletne

Prikaži več

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika Gimnazija Bežigrad Peričeva 4 1000 Ljubljana OPERACIJSKI SISTEM Predmet: informatika KAZALO 1. Uvod...3 2. Predstavitev programa Windows 98...5 3. Raziskovanje računalnika...5 4. Raziskovanje Interneta...6

Prikaži več

DCS-2330L_A1_QIG_v1.00(EU).indd

DCS-2330L_A1_QIG_v1.00(EU).indd HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L KRATKA NAVODILA ZA UPORABO VSEBINA PAKETA HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L NAPAJALNI ADAPTER ADAPTER ETHERNET KABEL (CAT5 UTP) MED POSTAVITVIJO,

Prikaži več

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnovno sporočilo. Izogibajte se daljših besedil in predolgih

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Microsoft Exchange 2013

Microsoft Exchange 2013 Cumulative update 1 (CU1) for Exchange Server 2013 - izdan včeraj 2.4.2013. Get-AdminAuditLogConfig Get-SendConnector "Internet" Remove- ADPermission -AccessRight ExtendedRight - ExtendedRights "ms-exch-send-headers-

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Uporaba storitve Office 365 v napravi iphone ali ipad Priročnik za hiter začetek dela Ogled e-pošte Nastavite napravo iphone ali ipad tako, da boste lahko pošiljali in prejemali e-pošto iz računa v storitvi

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev TIK terminal nima povezave s strežnikom Ob vpisu v TIK Admin se pojavi napis ni povezave s strežnikom Na terminalu je ikona 1. preverimo ali je pravilno nastavljen IP strežnika 1. Preverimo datoteko TIKSAdmin.INI

Prikaži več

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC Državni zbor v številkah 90 poslancev 9 + 1 poslanska skupina 150+ mobilnih naprav (OS Android, ios) 500+ internih uporabnikov, 650+ osebnih računalnikov, 1100+

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev IZKUŠNJE PRI PRILAGODITVI E-STORITEV AJPES ZAHTEVAM EIDAS ZA ČEZMEJNO PRIZNAVANJE MARJAN BABIČ, AJPES Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije s SI-PASS

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Novosti Državnega centra za storitve zaupanja SI-TRUST Mag. Aleš Pelan, Ministrstvo za javno upravo 11.12.2018 ... 2000 2001 2015 2018 Overitelj na MJU Državni center za storitve zaupanja Novosti v letu

Prikaži več

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. A Analitična orodja: Programska oprema, s katero je mogoče zbirati in meriti poslovne podatke ter o njih poročati.

Prikaži več

Microsoft PowerPoint - Objekti_gradnja.ppt

Microsoft PowerPoint - Objekti_gradnja.ppt Naredimo razred Katera so stanja/lastnosti Kaj hočemo o objektih te vrste vedeti Kakšne lastnosti imajo Katere so metode Kakšno je znanje objektov Na katere ukaze se odzovejo Način predstavitve lastnosti

Prikaži več

Slajd 1

Slajd 1 REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO 1 EU ENOTNI DIGITALNI PORTAL: PRIHAJA NOVA EU UREDBA Alenka Žužek Nemec, Tina Kuliš DNEVI SLOVENSKE INFORMATIKE 18. april 2018 Ko podjetja ali državljani

Prikaži več

ARRS-BI-FR-PROTEUS-JR-Prijava/2011 Stran 1 od 7 Oznaka prijave: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slov

ARRS-BI-FR-PROTEUS-JR-Prijava/2011 Stran 1 od 7 Oznaka prijave: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slov Stran 1 od 7 Oznaka prijave: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slovenijo in Francosko republiko Program PROTEUS v letih 2012-2013 (Uradni list RS, št. 10/2011,

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Izkušnje pri prilagoditvi e-storitev AJPES zahtevam eidas za čezmejno priznavanje Marjan Babič, AJPES 11. 12. 2018 Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INTRANET - DETEKTIV Detektivska zbornica Republike Slovenije Pozdravljeni, v kratki predstaviti in navodilih za delo z intranet sistemom Detektiv. Intranet članom Detektivske zbornice RS omogoča, da: -

Prikaži več

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte Navodila za uporabo programske opreme OTRS verzija 2.2.3 Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski

Prikaži več

PowerApps

PowerApps ko tehnologija postane brezmejna strast Microsoft PowerApps Uporabniška navodila Avtorji Brina Gomboc, Lucija Kos, Damjana Krampač Mentorici dr. Simona Sternad Zabukovšek Sara Cokan, mag. ekon. in posl.

Prikaži več

NETGEAR R6100 WiFi Router Installation Guide

NETGEAR R6100 WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

PowerPoint Presentation

PowerPoint Presentation INFORMACIJSKI SISTEM MFERAC - LETA 2022 mag. Andreja Sladoje Jemec, Sanja Štumberger Kovačič Ministrstvo za finance 10.12.2018 Vsebina predstavitve 1. Projekt MFERAC05 in izhodišča prenove 2. Izvajanje

Prikaži več

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc) MORSE UČENJE PO KOCHOVI METODI Računalniški program za učenje skupaj z nekaterimi dodatnimi datotekami dobite na spletni strani avtorja: http://www.g4fon.net/. Zanimive strani so tudi: - http://www.qsl.net/n1irz/finley.morse.html

Prikaži več

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Pomen posameznih oken uporabniškega vmesnika, urejevalnik

Prikaži več

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Identifikacijska oznaka dokumenta: n/a Različica dokumenta:

Prikaži več

CODEKS IP KAMERA

CODEKS IP KAMERA CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,

Prikaži več

Macoma katalog copy

Macoma katalog copy POSLOVNE APLIKACIJE PO ŽELJAH NAROČNIKA Poročilni sistem Finance in kontroling Poprodaja Podatkovna skladišča Prodaja Proizvodnja Obstoječi ERP Partnerji Implementacija rešitev prilagojena po željah naročnika

Prikaži več

Microsoft Word - Navodila za uporabo 1.1.doc

Microsoft Word - Navodila za uporabo 1.1.doc PhotoOrder Navodila za uporabo 1 Kazalo 1 Kazalo... 2 2 Kazalo slik... 3 3 PhotoOrder... 4 4 Nameščanje programa... 5 4.1 Internet Explorer... 5 4.1.1 "Save" ("Shrani")... 5 4.1.2 "Run" ("Odpri")... 6

Prikaži več

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta 1.0 22.11.2013 Prva verzija dokumenta 1.1 15.04.2015 Dodana možnost

Prikaži več

Oblikovanje in razvijanje spletnih strani

Oblikovanje in razvijanje spletnih strani Uporabniški vmesnik načrtovanje in izdelava Interaktivni mediji Doc. dr. Aleš Hladnik Načrtovanje uporabniškega vmesnika (UV) Načrtovanje oz. zasnova UV (User( interface design or engineering) je načrtovanje

Prikaži več

Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010

Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010 Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010 I Diplomsko delo univerzitetnega študijskega programa PROFILIRANJE SPLETNIH APLIKACIJ Študent: Študijski program:

Prikaži več

Zadeva: Ponudba

Zadeva: Ponudba Navodila za urejanje Spletne strani CTEK.si 1. Dodajanje novega polnilnika Za dodajanje novega polnilnika nikoli ne prepisujte že objavljenih vsebin, ampak sledite tem navodilom. Ta so zagotovilo, da bodo

Prikaži več

Microsoft Word - CNR-MPV2 Quick Guide_SI

Microsoft Word - CNR-MPV2 Quick Guide_SI Canyon multimedijski MP3 predvajalnik Artikel: CNR-MPV2 Opozorilo: Pred uporabo pozorno preberite navodila za uporabo. Podrobna navodila se nahajajo na priloženem CD mediju. Opozorilo: Pred uporabo napolnite

Prikaži več

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA KATALOG ZNANJA 1. IME PREDMETA ZBIRKE PODATKOV I ZBIRKE PODATKOV II 2. SPLOŠNI CILJI Splošni cilji predmeta so: razvijanje sposobnosti za uporabo znanstvenih metod in sredstev, razvijanje odgovornosti

Prikaži več

Linksys PLEK500 User Guide

Linksys PLEK500 User Guide Uporabniški priročnik Linksys PLEK500 Omrežni vmesnik Powerline Vsebina Pregled............... 2 Funkcije..................... 2 Kako deluje omrežje Powerline 3 Primer namestitve 3 Namestitev omrežja Powerline.....

Prikaži več

Microsoft Word - NAVODILA ZA UPORABO.docx

Microsoft Word - NAVODILA ZA UPORABO.docx NAVODILA ZA UPORABO VODILO CCM-18A/N-E (K02-MODBUS) Hvala ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shranite za prihodnjo rabo. Vsebina

Prikaži več

Analiza in primerjava spletnih storitev SOAP in protokola gRPC v okolju mikrostoritev

Analiza in primerjava spletnih storitev SOAP in protokola gRPC v okolju mikrostoritev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Gregor Poročnik Analiza in primerjava spletnih storitev SOAP in protokola grpc v okolju mikrostoritev MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE

Prikaži več

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomočjo aplikacije Outlook, katero lahko prenesete s pomočjo trgovine App Store. Ko aplikacijo zaženete se vam pojavi naslednje

Prikaži več

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ment

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ment UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr. Marko Bajec Ljubljana, 2011 Rezultati

Prikaži več

Navodila za uporabo Mini snemalnik

Navodila za uporabo Mini snemalnik Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nina Krmac IZBIRA ORODJA IN KNJIŽNIC ZA IMPLEMENTACIJO POROČIL V POSLOVNI APLIKACIJI Di

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nina Krmac IZBIRA ORODJA IN KNJIŽNIC ZA IMPLEMENTACIJO POROČIL V POSLOVNI APLIKACIJI Di UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nina Krmac IZBIRA ORODJA IN KNJIŽNIC ZA IMPLEMENTACIJO POROČIL V POSLOVNI APLIKACIJI Diplomska naloga na univerzitetnem študiju Mentor: doc.

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in

Prikaži več

Vaja04_Ver02

Vaja04_Ver02 Vaja 04 Varnost: Zaščita aplikacije, omejitev dostopa 1. Uredite prijavo in odjavo uporabnika brez uporabe menuja Special/Security. Nadgradite aplikacijo iz vaje 2. Kreirajte okno tipa Replace Začetno

Prikaži več

Modem in krajevno omrežje Uporabniški priročnik

Modem in krajevno omrežje Uporabniški priročnik Modem in krajevno omrežje Uporabniški priročnik Copyright 2008 Hewlett-Packard Development Company, L.P. Informacije v tem priročniku se lahko spremenijo brez prejšnjega obvestila. Edine garancije za HP-jeve

Prikaži več

Spoznajmo PowerPoint 2013

Spoznajmo PowerPoint 2013 Spoznajmo PowerPoint 2013 13 Nova predstavitev Besedilo v predstavitvi Besedilo, ki se pojavlja v predstavitvah lahko premaknemo kamorkoli v diapozitivu. Kadar izdelamo diapozitiv z že ustvarjenimi okvirji

Prikaži več

VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informatika informatika POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V podjetju Oblikovanje.com d.o.o. Murska Sob

VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informatika informatika POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V podjetju Oblikovanje.com d.o.o. Murska Sob VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informatika informatika POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V podjetju Oblikovanje.com d.o.o. Murska Sobota Čas opravljanja prakse 1.9.2012 do 28.2.2013 Mentor

Prikaži več

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013 David Zakelšek Diplomsko delo Maribor, september 2013 Diplomsko delo Študent: Študijski program: Smer: Mentor: Lektorica: David Zakelšek Univerzitetni študijski program Informatika in tehnologije komuniciranja

Prikaži več

Microsoft Word - M _mod..docx

Microsoft Word - M _mod..docx Državni izpitni center *M17278113* JESENSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Ponedeljek, 28. avgust 2017 SPLOŠNA MATURA Državni izpitni center Vse pravice pridržane. M172-781-1-3 2 IZPITNA POLA 1 1

Prikaži več

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak, Sfera IT d.o.o. 1 Priprava na: Vzpostavitev več nivojske

Prikaži več

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavčič Matjaž Jerman 8. februar 2006 Kazalo 1 Uvod 2 2

Prikaži več

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan Vsebina današnjih vaj: ARP, NAT, ICMP 1. ARP

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc Splošni pogoji in navodila za uporabnike storitev ONA V veljavi od 25.08.2015 1. Splošne določbe Splošni pogoji in navodila določajo način uporabe storitev ONA, ki jih nudi tehnični izvajalec (v nadaljevanju

Prikaži več

TNUV Lab

TNUV Lab TNUV - VAJA 5 doc. dr. Marko Meža 2013/14 Cilji vaje Predvajanje multimedijskih vsebin MediaPlayer http://developer.android.com/training/building-multimedia.html http://developer.android.com/guide/topics/media/mediaplayer.html

Prikaži več

Microsoft Word - Trust-CDsize-12052_12579_14070-al-cp_v5.0.doc

Microsoft Word - Trust-CDsize-12052_12579_14070-al-cp_v5.0.doc PRIROČNIK ZA UPORABO manual Version 5.0 SI TABLET TB-1100 / TB2100 TABLET TB-3100 / TB-4200 1 A B TABLET TB-2100-3100-4200 2 3 4 5 A 6 7 B 8 9 10 11 B A C D 12 A B 13 14 C 15 16 17 18 PRIROČNIK ZA UPORABO

Prikaži več

PowerPoint Presentation

PowerPoint Presentation SAFE.SI VODIČ Nastavitve zasebnosti in varnosti na Instagramu 2017/1 Nastavitev zasebnega računa Račun na Instagramu je privzeto nastavljen tako, da lahko objave vidi vsakdo. Zato moramo nastavitve zasebnosti

Prikaži več

innbox_f60_navodila.indd

innbox_f60_navodila.indd Osnovna navodila Komunikacijski prehod Innbox F60 SFP AC Varnostna opozorila Pri uporabi opreme upoštevajte naslednja opozorila in varnostne ukrepe. Da bi v največji meri izkoristili najnovejšo tehnologijo

Prikaži več

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, marec 2019 Vsebina 1 Dostop do aplikacije... 3 1.1 Android...

Prikaži več

ISOFT , računalniški inženiring

ISOFT , računalniški inženiring ISOFT, računalniški inženiring Marko Kastelic s.p. Sad 2, 1296 Šentvid pri stični Spletna stran podjetja:http://www.isoft.si podjetja ISOFT Spletna stran sistema sledenja vozil track.si: http://www.track.si

Prikaži več

Si.mobil Si.most Najkrajša pot do vaših strank. Ljubljana,

Si.mobil Si.most Najkrajša pot do vaših strank. Ljubljana, Si.mobil Si.most Najkrajša pot do vaših strank. Ljubljana, 3. 06. 13 Si.most SMS nagradna igra SMS nagradna igra Dostop do aplikacije http://www.simost.si SMS nagradna igra Ko se logirate v aplikacijo

Prikaži več

Vedno pod nadzorom, kjerkoli že ste

Vedno pod nadzorom, kjerkoli že ste Vedno pod nadzorom, kjerkoli že ste 02 Vedno pod nadzorom, kjerkoli že ste Daikin zagotavlja novo rešitev za nadzorovanje in krmiljenje glavnih funkcij stanovanjskih notranjih enot. Sistem deluje na uporabniku

Prikaži več

Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018

Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018 Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018 RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Študent: Študijski program: Smer: Mentor: Lektor: Nejc Rebernjak visokošolski

Prikaži več

Diapozitiv 1

Diapozitiv 1 REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO Dnevi slovenske informatike 2019 NOVOSTI NA PODROČJU STORTEV ZAUPANJA DRŽAVNEGA CENTRA SI-TRUST Dr. Alenka Žužek Nemec 16. april 2019 e-identitete v Sloveniji

Prikaži več

Microsoft PowerPoint - seminar_ pptx

Microsoft PowerPoint - seminar_ pptx Leatalske informacije in ARO Slovenia Control Igor Čučnik, ARO Aleš Omahne, NOTAM Uroš Grošelj, AIP Brnik, 12.5.2018 Letalske informacije AIP AIP AMDT AIP SUP AIC NOTAM Serija A, B in C VFR karta Spletna

Prikaži več

Izdelava spletnih aplikacij z ogrodjem Angular

Izdelava spletnih aplikacij z ogrodjem Angular Univerza v Ljubljani Fakulteta za računalništvo in informatiko Vid Stoschitzky Izdelava spletnih aplikacij z ogrodjem Angular DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

Prikaži več

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani matej.kristan@fe.uni-lj.si Česa smo se naučili

Prikaži več

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_ Cenik elektronskih storitev Na podlagi 332. člena Zakona o trgu finančnih instrumentov in 34. člena Statuta Ljubljanske borze vrednostnih papirjev, d. d., Ljubljana z dne 27.5.1997, z zadnjimi spremembami

Prikaži več

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Navodila za uporabo Mini prenosna HD kamera s snemalnikom Navodila za uporabo Mini prenosna HD kamera s snemalnikom www.spyshop.eu Izdelku so priložena navodila v angleščini, ki poleg teksta prikazujejo tudi slikovni prikaz sestave in delovanja izdelka. Lastnosti

Prikaži več

Navodilo Telemach

Navodilo Telemach Nastavitve za: MOJ TELEMACH Registracija: Na spletni strani Moj Telemach (http://moj.telemach.si) se pomaknite na spodnji del strani in pritisnite gumb REGISTRIRAJ SE. 1. korak Odpre se novo okence, kamor

Prikaži več

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc)

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc) 1. Pogoji uporabe programske opreme Pred uporabo programske opreme iz programa MSDNAA morate prebrati in se strinjati s pogoji in določili Licenčne pogodbe za končnega uporabnika programske opreme MSDN

Prikaži več

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugimi elektromagnetnimi aparati ne smejo uporabljati tega

Prikaži več

SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE

SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE VSEBINA Spoštovani, 4 GALERIJA Pred vami je katalog gradnikov za SharePoint, ki jih lahko namestite na svoje okolje, bodisi, da uporabljate SharePoint

Prikaži več

Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native

Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Mihelj Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI

Prikaži več

Slide 1

Slide 1 INTERAKTIVNA MULTIMEDIJA P9 doc. dr. Matej Zajc QWERTY 1870 Christopher Latham Sholes Uporaba: tipkarski stroj: Remington Pozicija črk upočasni uporabnika Pogosto uporabljane črke so narazen The popular

Prikaži več

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila Programsko orodje LabVIEW za kreiranje, zajem in obdelavo signalov (statične in dinamične karakteristike hidravličnih proporcionalnih ventilov) Marko Šimic Telefon: +386 1 4771 727 e-mail: marko.simic@fs.uni-lj.si

Prikaži več

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI IZUM, 2015 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Uporaba tiskalnika...

Prikaži več

Razvoj ve\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accent 20 c

Razvoj ve\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accent 20 c Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jan Sušnik Razvoj večplatformnih aplikacij s pomočjo spletnih tehnologij za področje TV sporedov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

Prikaži več

Okolje SupportAssist OS Recovery Navodila za uporabo

Okolje SupportAssist OS Recovery Navodila za uporabo Okolje SupportAssist OS Recovery Navodila za uporabo Opombe, svarila in opozorila OPOMBA: OPOMBA označuje pomembne informacije, s katerimi lahko izboljšate učinkovitost izdelka. POZOR: PREVIDNO označuje

Prikaži več