IZDELAVA SPLETLJAJA ZA KOLAB IN SHAREPOINT 2010

Size: px
Start display at page:

Download "IZDELAVA SPLETLJAJA ZA KOLAB IN SHAREPOINT 2010"

Transcription

1 Denis Kukovič IZDELAVA SPLETLJAJA ZA KOLAB IN SHAREPOINT 2010 Diplomsko delo Maribor, september 2011

2 I Diplomsko delo univerzitetnega študijskega programa IZDELAVA SPLETLJAJA ZA KOLAB IN SHAREPOINT 2010 Študent: Denis Kukovič Študijski program: Računalništvo in informacijske tehnologije (UN) Mentor: red. prof. dr. Viljem Žumer Smer: / Somentor: asist. mag. Aleš Zamuda Maribor, september 2011

3 II

4 III ZAHVALA Zahvaljujem se mentorju red. prof. dr. Viljemu Žumerju za pomoč in vodenje pri opravljanju diplomskega dela. Prav tako se zahvaljujem somentorju asist. mag. Alešu Zamudi. Posebna zahvala velja staršem, ki so mi omogočili študij in me podpirali pri izbranem študiju.

5 IV IZDELAVA SPLETLJAJA ZA KOLAB IN SHAREPOINT 2010 Ključne besede: računalniške arhitekture, spletno programiranje, Apache, KDE, Kolab, Kpart, SharePoint 2010, sistemi za skupinsko delo, spletljaj. UDK: : (043.2) Povzetek Pri pridobivanju, zbiranju in deljenju informacij, je že od nekdaj pomemben proces izmenjave podatkov. Pri tem pa je nujno, da so podatki posredovani na varen način, v čim krajšem času in točno določenemu naslovniku oziroma odjemalcu informacij. Ljudje strmimo k temu, da imamo svoj vir podatkov urejen in pregleden. Za čim lažjo izmenjavo in organizacijo podatkov, so nam na voljo različna programska orodja. Sistemi za izmenjavo in organizacijo podatkov so največkrat vpeti v internih delovnih okoljih podjetij. Dva izmed takšnih sta Kolab in SharePoint V tej diplomski nalogi tako opisujemo značilnosti obeh orodij, za katera izdelamo še dve vgradni razširitvi.

6 V KOLAB AND SHAREPOINT 2010 WEB PART IMPLEMENTATION Key words: computer architecture, web programming, Apache, KDE, Kolab, Kpart, SharePoint 2010, groupware, webpart. UDK: : (043.2) Abstract In information retrivieval, collection, and sharing, an important process is data exchange. However, it is imperative that data is transmitted in a secure manner, as quickly and accurately to a specific recipient or client. People strive towards ensuring that we have our source of data ordered and clear. To handle data across a working group easier, several variants of software tools are available. Systems for exchange and organization of data are mostly embedded in the internal working environment for business. Two of these are Kolab and SharePoint In this diploma work characteristics of these two are described and we demonstrate how to develop a pluggable extension for both.

7 VI VSEBINA 1 UVOD OPIS SORODNIH DEL KOLAB Apache KDE Konfiguracija strežnika Kolab Priprava okolja Kolab SHAREPOINT Priprava okolja OSTALA SORODNA ORODJA IZDELANI SPLETLJAJ ZA KOLAB IN SHAREPOINT DODATEK ZA SISTEM KOLAB SPLETLJAJ ZA SHAREPOINT Postopek kreiranja novega spletljaja za SharePoint KOMUNIKACIJA MED KOMPONENTAMI IN ZNOTRAJ NJIH KODIRANJE IN SHRANJEVANJE INFORMACIJ V PODATKE KOMPRESIJA REZULTATI TABELE PRIMERJAV PRIMERJAVA IZDELKOV ZA SISTEM KOLAB IN SHAREPOINT Slika 15: izgled spletljaja za SharePoint 2010 na lokalni strani. [22] Slika 16: dodatne nastavitve spletljaja za SharePoint SKLEP...25 Programska koda za spletljaj Kolab...28 Programska koda za spletljaj SharePoint literatura...39

8 VII SEZNAM SLIK Slika 1: arhitektura storitev Kolab. [11]...5 Slika 2: spletna stran Microsoft Office SharePoint Slika 3: struktura projekta v KDev4 pri gradnji Kdel-a...11 Slika 4: poenostavljena hierarhija KDel-a. [19]...11 Slika 5: povezava med primeri komponent in sistemom Kolab...12 Slika 6: KDel-i na primeru aplikacije Kontakt...12 Slika 7: izbira šablone v Microsoft Visual Studio Slika 8: izbira lokalne strani za izvrševanje projekta. [10]...14 Slika 9: Solution Explorer v Microsoft Visual Studio Slika 10: dodajanje novega spletljaja na lokalno stran...16 Slika 11: model komponente Kontakt. [24]...18 Slika 12: arhitektura Akonadi. [24]...20 Slika 13: izdelan KDel...23 Slika 14: implementirani Imenik v aplikaciji Kontakt...23 Slika 15: izgled spletljaja za SharePoint 2010 na lokalni strani. [22]...24 Slika 16: dodatne nastavitve spletljaja za SharePoint SEZNAM TABEL Tabela 3.1: primer kodiranja Base Tabela 3.2: primerjava kompresije različnih algoritmov (vir podatkov: [24])...21 Tabela 4.3: primerjava sistema Kolab in SharePoint Tabela 4.4: strojne zahteve...22

9 VIII UPORABLJENE KRATICE ACL Access Control List API Application Programming Interface ASCII American Standard Code for Information Interchange ASP.NET Active Server Pages DCOP Desktop COmmunication Protocol ISS Internet Information Services IMAP Internet Message Access Protocol KDE K Desktop Environment (Namizno okolje K) KDEV4 KDevelop 4 integrirano razvojno okolje LDAP Lightweight Directory Access Protocol OS Operacijski sistem PIM Personal information manager PHP PHP Hypertext Preprocessor RSS Really Simple Syndication SLAPD Standalone LDAP Daemon SLURPD DAEMON Stand-alone LDAP update replication daemon SSL Secure Sockets Layer TLS Transport Layer Security WEBDAV Web-based Distributed Authoring and Versioning XML Extensible Markup Language

10 1 Stran 1 UVOD Izmenjava podatkov je iz dneva v dan večji zalogaj za posrednike ter tudi za prejemnike različnih informacij. Podjetja, društva in ostale organizirane skupnosti težijo k temu, da so njihovi podatki celovito organizirani na enem mestu. Dostop do njih pa naj imajo vsi uporabniki, ki imajo za to potrebna pooblastila oziroma certifikate. V ta namen obstajajo različni konkurenčni programi, ki podpirajo organiziranost in izmenjavo teh podatkov. V takšnih orodjih največkrat operiramo z npr. seznami kontaktov, koledarji, opravili, projekti, elektronskimi sporočili in blogi. Poljubno lahko vstavimo nove dodatke, ki so že napisani in shranjeni v knjižnici. Lahko pa napišemo svoj dodatek (vstavek), ki ga vključimo v knjižnico in nato predstavimo še v spletni obliki. Z usklajevanjem različnih dinamičnih pogledov lahko postavimo spletno okolje za izmenjavo podatkov: - skupnosti, - delovne skupine, - projekte - posamezne uporabnike. [4] in Večinoma gre za interno sodelovanje, ki je dostopno le neki skupnosti, lahko pa se projekt objavi tudi javno. Računalniški sistemi za izmenjavo podatkov običajno delujejo interno, zato se ustanove in podjetja največkrat odločijo za organizacijo svoje lastne skupine, ki skrbi za ustrezno delovanje takšnega sistema ter omogoča vpeljevanje sistema v samo podjetje in nadaljnjo podporo odjemalcem. Za učinkovit sistem za skupinsko delo potrebujemo zmogljiv strežniški računalnik, vezan na omrežje. Konfiguracija okolja in sistema poteka v administratorskem načinu. Namen tega diplomskega dela je opraviti primerjavo med odprto kodnim orodjem Kolab in komercialnim Microsoftovim SharePoint Oba podpirata enostavno izmenjavo podatkov med odjemalci preko spletnega uporabniškega vmesnika. Cilj naloge je izdelati razširitveni vstavek za Kolab in SharePoint Z opravljenimi meritvami in primerjavami ponazorimo specifikacije posameznega sistema. V drugem poglavju diplomskega dela opišemo, kaj predstavlja pojem spletno okolje za izmenjavo in organizacijo podatkov. Narejen je pregled nad aktualnimi sorodnimi spletnimi okolji za izmenjavo in organizacijo podatkov. V tretjem poglavju predstavimo izdelan dodatek za Kolab in SharePoint Sledijo opisi posameznih tehnologij in

11 Stran 2 storitev, ki so vključene v Kolab in SharePoint 2010 ter priprava okolja za pravilno delovanje le teh. Četrto poglavje diplomskega dela zajema celovit pregled in primerjavo med obema sistemoma za izmenjavo in organizacijo podatkov. Osredotočimo se na najdene razlike pri implementaciji dodatkov v komponente posameznega sistema. V petem poglavju sledi zaključek, nato so vstavljene priloge, nakar je navedena še literatura.

12 2 Stran 3 OPIS SORODNIH DEL Sistemsko izmenjevanje in organizacija podatkov je široko področje, zato obstaja veliko različnih programskih rešitev [14]. V tem poglavju spoznamo konkurenčna orodja omenjenega področja. 2.1 Kolab Kolab je bil ustvarjen za potrebe nemške zvezne pisarne za varovanje informacij 1 v letih [19] Je skupek različnih orodij, ki so med sabo povezana. Povezuje esporočila, koledar, kontakte, in opravila. Podpira različna okolja odjemalcev (KDE 2 in Outlook3). Glavne komponente, potrebne za delovanje strežnika Kolab so OpenLdap 4, Postfix5, Cyrus IMAP6, Apache7, Sasl8 in OpenSSL9. [18, 13] Apache Apache je komponenta, ki se uporablja za administratorski spletni vmesnik, kot tudi za zagotavljanje dostopa WEBDAV10 do informacij za poštne odjemalce. Kolab uporablja 1 Federal Office for Information Security (BSI) nemška vladna agencija, ki skrbi za upravljanje računalniške in komunikacijske varnosti 2 K Desktop Environment (KDE) platforma, ki komunicira z aplikacijami na različnih operacijskih sistemih 3 Outlook urejevalnik za e-pošto in osebne podatke 4 OpenLDAP odprto kodna implementacija za aplikacijski protokol LDAP 5 Postfix odprto kodni posrednik pošte 6 Cyrus IMAP strežnik za dostavo pošte lokalnemu prejemniku 7 Apache spletni strežnik za HTTP 8 Sasl okolje za varnostno preverjanje pristnosti in podatkovne varnosti v internetnem protokolu 9 OpenSSL odprto kodna implementacija SSL in TLS kriptografskega protokola za varno komunikacijo na spletu 10 WEBDAV protokol, ki omogoča uporabniku brati in pisati v dokumente na svetovnem spletu

13 Stran 4 Apache skupaj s PHP11, da zagotovi polno funkcionalnost v skupnem sistemu s spletno pošto. [23] KDE KDE je prosto dostopno namizno okolje oz. platforma, ki komunicira z operacijskim sistemom. KDE sestavljajo delavna okolja, platforma in aplikacije. GNOME 12 je sorodni projekt, vendar KDE velja za najbolj razširjeno namizno okolje v operacijskem sistemu Linux. V našem primeru smo uporabili KDE 4.7, ki teče na operacijskem sistemu Linux, distribucije Kubuntu Konfiguracija strežnika Kolab Da bi strežnik Kolab pravilno deloval, je potrebna ustrezna konfiguracija različnih storitev. Kot osrednji storitvi sta slapd14 in LDAP15. Slapd je primer imeniškega strežnika LDAP, ki teče na različnih Unix platformah. Omogoča nam, da v naš imenik shranimo karkoli. Strežnik LDAP vsebuje imeniško drevo, z drugimi besedami hierarhično strukturo. V sistem lahko povežemo več strežnikov LDAP med sabo. Storitev LDAP išče odgovore na zahteve oziroma vprašanja odjemalca. Imeniški strežnik zahteva od odjemalcev njihovo identiteto, kar zagotavlja večjo varnost pred nepooblaščenim vstopom v sistem. Sistem Kolab deluje v ozadju kot pomožni strežnik tipa LDAP. Slapd izpolnjuje zahteve LDAP in je tesno povezan s storitvijo slurpd 16. Storitev slurpd je namenjena za to, da obdrži pomožni LDAP strežnik usklajen z glavnim strežnikom LDAP. Kolab v ozadju prejme posodobitve LDAP. Posledica so ustvarjene nastavitvene datoteke vseh storitev. Predložene datoteke se izpolnijo s podatki LDAP in so nameščene glede na strežniške nastavitve lokacije datotek. V naslednjih Cyrus IMAPD instalacijskih korakih je 11 PHP PHP Hypertext Preprocessor orodja za osebno spletno stran odprto kodni programski jezik 12 GNOME namizno okolje, ki komunicira s komponentami operacijskega sistema 13 Kubuntu različica operacijskega sistema Ubuntu, z namizjem KDE 14 slapd storitev, ki sprejema povezave LDAP na vseh vratih; odzove se operacijam LDAP 15 LDAP imeniški storitveni protokol, ki teče preko TCP/IP; namenjen je shranjevanju vpisov, v katerih se nahaja zbirka atributov s svojimi imeni, tipi in vsebovanimi vrednostmi (npr. atribut mail vsebuje vrednost denis.kukovic@uni-mb.si) 16 slurpd oskrbuje storitvene primerke slapd; odgovoren za razdelitev sprememb, ustvarjenih v glavni podatkovni bazi slapd vsem ostalim primerkom slapd

14 Stran 5 potrebno sprejeti dodajanje, odstranjevanje in spreminjanje uporabnikov ter map v skupni rabi ali ACL17. Program, ki poganja storitev Kolab, teče v neskončni zanki zaradi posodobitev LDAP. S tem se ohranja direktorij LDAP sinhroniziran s preostalo Kolab konfiguracijo. [11] Opisan potek izvajanja storitev prikazuje slika 1. Slika 1: arhitektura storitev Kolab. [11] Priprava okolja Kolab Opisan način instalacije in nastavitev v tem poglavju se lahko v splošnem razlikuje od naše uporabljene distribucije Kubuntu 10.04, kjer je nameščeno namizno okolje KDE 4.7. Ker obstaja več variant namestitve strežnika Kolab, smo naredili več preiskusov različnih variant. Za nas najustreznejša varianta namestitve je bila Kolab v okolju OpenPKG. Za pripravo okolja ukaze izvedemo z uporabo terminala in dodeljenimi pravicami uporabnika root. V začasnem direktoriju imamo shranjen arhiv, ki ga pridobimo v vrstici 3. 1:# mkdir /tmp/kolabtemp 2:# cd /tmp/kolabtemp 3:# wget -r -l1 -nd --no-parent kolab-server-2.2.4/sources/ V tretji vrstici imamo tri parametre: prvi parameter r pomeni rekurzivno pridobivanje, drugi parameter -nd onemogoči izgradnjo hierarhičnih imenikov, tretji --no-parent je namenjen temu, da se ne vračamo na starševski imenik. Sistem Kolab namestimo v privzeti imenik, v priviligiranem uporabniškem načinu. 1:# mkdir /kolab 17 ACL seznam z dovoljenji, priložena posameznim varovanim predmetom

15 Stran 6 2:# sh install-kolab.sh 2>&1 tee /root/kolab-install.log Začetna konfiguracija strežnika imenovana bootstrap zahteva vpis imena domene, e-pošte in kreiranje certifikata. Certifikat omogoča odjemalcu, da ob preverjanju pristnosti lahko dostopa do posameznih storitev, ki jih prikazuje slika 1. 1:# /kolab/sbin/kolab_bootstrap -b Za zagon strežnika so potrebne storitve: Amavisd 18, Apache, Clamav19, Imapd20, Kolab21, OpenLDAP, OpenPKG22, Postfix, ProFTPd23, Sasl in Spamassassin24. 1:# /kolab/bin/openpkg rc all start S tem je začetna konfiguracija Kolab strežnika zaključena. [12] 2.2 SharePoint 2010 SharePoint 2010 je izdelek podjetja Microsoft, ki vključuje: - Microsoft SharePoint Foundation , - SharePoint Server , - SharePoint Online27, - SharePoint Designer , 18 Amavisd vmesnik za preverjanje virusov in nadležne pošte 19 Clamav prosto dostopen antivirusni program, ki deluje na različnih platformah 20 Imapd internetni protokol na aplikacijskem sloju, omogoča dostop do e-pošte na oddaljenem strežniku 21 Kolab strežnik za izmenjavo in organizacijo podatkov 22 OpenPKG odprto kodni upravljalnik sistemskih paketov, za avtomatizirano nalaganje, nadgradnjo, konfiguracijo in odstranjevanje nameščenih paketov; preprečuje medsebojno neujemanje verzij paketov 23 ProFTPd FTP strežnik za operacijski sistem Unix 24 Spamassassin računalniški program za filtriranje nadležne pošte (ang. spam) 25 Microsoft SharePoint Foundation 2010 temeljna tehnologija za vsa SharePoint-ova mesta, brezplačna različica je namenjena uvajanju v prostorih podjetja 26 SharePoint Server 2010 strežniški izdelek, ponuja dosledno in poznano ogrodje za sezname in knjižnice; od SharePoint Foundation se razlikuje v dodatnih funkcijah in boljši zmogljivosti 27 SharePoint Online storitev v oblaku, gosti jo Microsoft; ni potrebno naložiti SharePoint Server

16 Stran 7 - SharePoint Workspace Izdelki se medsebojno razlikujejo v namembnosti in načinu uporabe sistema za izmenjevanje in organizacijo podatkov. [14, 16] Priprava okolja Za začetek je potrebno upoštevati zahteve za postavitev strežnika SharePoint 2010, ki so opisane v tabeli 4.2. Spodaj pripravljeni seznam potrebne programske opreme je namenjen postavitvi strežnika za namene testiranja in razvijanja programske opreme na spletu (spletljajev) v operacijskem sistemu Windows 7. [6] Potrebna programska oprema: - Windows6.1-KB v2-x64.msu30, - Windows6.1-KB x64.msu31, - SharePointFoundation.exe ali SharePoint Server 2010 (setup.exe)32, - Microsoft Sync Framework (Synchtonization.msi)33, - SQL Server Native Client (sqlncli.msi)34, - Windows Identity Foundation (Windows6.1-KB x64.msu)35, - Chart Controls (MSChart.exe)36 ni priporočljivo za SharePoint Foundation 2010, 28 SharePoint Designer brezplačen program, za gradnjo spletnih strani 29 SharePoint Workspace 2010 program namenjen ustvarjanju vsebine tudi takrat, ko ni dostopa do omrežja; vsebina se sinhronizira naknadno 30 Windows6.1-KB v2-x64 popravek za Windows Foundation Classes (WFC): SharePoint Shared Services Roll-up 31 Windows6.1-KB x64.msu posodobitev za.net Framework, priskrbi dodatne značilnosti in razširi funkcionalnost 32 SharePointFoundation.exe ali SharePoint Server 2010 izbrani Microsoftov izdelek 33 Microsoft Sync Framework celovita sinhronizacija platforme, omogoči sodelovanje in dostop do aplikacij, storitev in naprav v nepovezanem načinu 34 zbirka samostojnih namestitvenih paketov za SQL Server Windows Identity Foundation poenostavi dostop z vgrajeno varnostno logiko, ki ga potrebujejo razvijalci v orodju.net 36 Chart Controls namestitev novih naborov krmilnih gradnikov v ASP.NET

17 Stran 8 - SQL Server Analysis Services ADOMD.Net (SQLSERVER2008_ ASADOMD10.MSI)37 ni priporočljivo za SharePoint Foundation Sledi postopek nameščanja potrebne programske opreme in predzahtev. Postopek je podrobneje opisan v [17]. Po opravljeni konfiguraciji je na lokalnem naslovu gostitelja ali localhost38 vidna privzeta spletna stran SharePoint Slika 2 prikazuje že urejeno spletno stran z dodanimi spletljaji. Slika 2: spletna stran Microsoft Office SharePoint Ostala sorodna orodja Kolab in SharePoint 2010 nista edina konkurenta v sistemih za izmenjavo in organizacijo podatkov. Za hiter razvoj na področju izmenjave in organizacije podatkov so zagotovo dodatno zasluženi odprto kodni in prosto dostopni konkurenčni izdelki s podobnimi rešitvami. Naštejmo nekaj sorodnih prosto dostopnih orodij: - BitNami39, 37 SQL Server Analysis Services del Microsoft SQL Server-ja, sistem za upravljanje podatkovnih baz podatkovni dobavitelj 38 localhost ime za lokalni naslov BitNami projekt, ki proizvaja odprto kodne programske pakete za spletne aplikacije

18 Stran 9 - Clear Foundation40, - Citadel41, - Zimbra42, - Open-XChange43, - OpenGroupware44 in - Trac45. Področje izmenjave in organizacije podatkov je zelo široko v smislu namembnosti, kar se pozna tudi pri vseh naštetih konkurenčnih izdelkih. Večina teh izdelkov je odprto kodnih in prosto dostopnih. 40 Clear Foundation odprto kodno orodje, ki zagotavlja varnost, filtriranje in upravljanje; namenjeno je neprofitnim organizacijam in posameznikom 41 Citadel odprto kodna rešitev za e-pošto in sodelovanje; namestitev vsebuje e-pošto, koledar, imenik, oglasne deske, wiki, podporo za več domen, takojšnje sporočanje in spletni vmesnik 42 Zimbra odprto kodni ali komercialni izdelek, ki sestoji iz odjemalca in strežnika; vključuje komponento za sinhronizacijo kontaktov, pošte in koledarja 43 Open-XChange odprto kodni projekt za razvoj in sodelovanje; omogoča npr. e-pošto, koledar, imenik 44 OpenGroupware odprto kodna skupnost, ki vabi v svoj krog nove razvijalce, da pripomorejo k boljši prepoznavnosti in uspešnosti; na voljo so aplikacije: upravitelj kontaktov, skupni koledar, plan virov, upravitelj opravil, e-poštni odjemalec, projekti in dokumenti, novice, orodje za sinhronizacijo podatkov, vmesnik za nastavitve, upravitelj uporabnikov 45 Trac odprto kodni projekt, orodje za upravljanje projekta in sledenje hroščev (ang. bug-tracking); njegove posebnosti so: mejniki, wiki, RSS in izvoz icalendar

19 3 Stran 10 IZDELANI SPLETLJAJ ZA KOLAB IN SHAREPOINT 2010 V tem poglavju predstavljamo razširitveni vstavek oz. spletljaj 46, ki smo ju razvili za Kolab oziroma SharePoint Vizualne elemente vstavkov smo povezali s programsko kodo, ki je napisana v C++ in C#. 3.1 Dodatek za sistem Kolab Sistem Kolab deluje v operacijskem sistemu Linux, v okolju KDE. Komponente, ki ga združujejo so zgrajene iz tako imenovanih KDel-ov47 (ang. KPart-ov). Primer je komponenta Kontakt48 (ang. Kontact), kjer so združeni npr. pošta, kontakti in koledar. Z razvojnim okoljem Kdev4 lahko integriramo svoj KDel v izbrano komponento, ki je napisan v programskem jeziku C++ [20], tako da ga povežemo preko knjižnic programskega sistema Qt. Za izdelavo lastnega KDel-a je pripravljena šablona KDE 4 KPart Application. V direktoriju imenik/src se nahajajo datoteke, ki jih bomo potrebovali pri gradnji KDela. CMakeLists.txt, nam poveže glavne programe s knjižnicami in jih zgradi v izvršljivo aplikacijo. Glavni program je v imenik_part.cpp, kjer imamo pripravljen primerek razreda za izpis na zaslon. Knjižnica imenik_part.h vključi kodo, ki doda funkcionalnost našemu KDel-u. V imenik_part.desktop se nahaja opis KDel-a. Omenjene datoteke prikazuje slika 3. KDel kot takšen nam predstavlja samostojno aplikacijo, ki jo lahko implementiramo v ostale komponente. Za implementacijo našega KDel-a v komponento Kontakt moramo v ta namen implementirati še svoj podrazred, imenovan Kontact::Plugin. Izdelamo objekt kontact_imenikpplugin.so in imenikp_plugin.desktop. 46 Spletljaj vgradna komponenta sistema za serviranje dela spletišča 47 KDel je komponenta v KDE namiznem okolju, ki se uporablja v npr. Koffice (npr. aplikacija Kontact) in v spletnem brskalniku Konqueror 48 Kontakt osebni upravitelj informacij in skupno orodje za KDE; podpira koledarje, kontakte, beležke, opomnike, novice in e-pošto; v Kontakt so lahko vpete različne aplikacije, npr. KPošta, KImenik, KDel

20 Stran 11 Slika 3: struktura projekta v KDev4 pri gradnji Kdel-a. Datoteka CMakeLists.txt poveže ustvarjen vmesnik s prej ustvarjeno knjižnico za KDel. Vmesnik namesti v že obstoječ strežniški direktorij komponente Kontact. Tako kot KDel, tudi vmesnik potrebuje svoj opis, ki se nahaja v imenikp_plugin.desktop. V imenikp_plugin.h je tokrat potrebno vstaviti razred ImenikpPlugin za prikaz objekta. Slika 4 prikazuje hierarhičen položaj kreiranega vmesnika, ki ga določa (KParts::ReadOnlyPart49). [21] Slika 4: poenostavljena hierarhija KDel-a. [19] V glavnem programu našega podrazreda imenikp_plugin.cpp se ustvari povezava s KDel-om ter omogoči njegov prikaz. Razvidno je, da izdelani KDel nima neposredne povezave s sistemom Kolab, temveč posredno preko komponent, ki komunicirajo preko 49 KParts::ReadOnlyPart osnovni razred za prikaz dela (ang. part); skrbi za transparentnost omrežja odjemalca

21 Stran 12 tega sistema z drugimi komponentami. To je tudi prednost, saj lahko obstoječ KDel vključimo v katero koli drugo komponento. Slika 5 kaže na to, kakšna je povezava med strežnikom Kolab, okoli katerega so storitve, ki so nujno potrebne za nemoteno delovanje sistema za izmenjavo in organizacijo podatkov in posamezno komponento. V našem primeru so to Kontakt, Spletni brskalnik in Upravljalec datotek. Slika 5: povezava med primeri komponent in sistemom Kolab. Povezave med posamezno komponento npr. Kontakt in KDel-i Imenik, Pošta, Koledar in Opravila, kaže slika 6. Slika 6: KDel-i na primeru aplikacije Kontakt.

22 3.2 Stran 13 Spletljaj za SharePoint 2010 Ločimo dva tipa spletljajev: - vizualni, - standardni50 ASP.NET. Razlika med vizualnim in standardnim je ta, da imamo pri vizualnem spletljaju vizualni vmesnik, ki omogoča gradnjo spletljaja. Implementacija tega spletljaja zajema ascx uporabniški krmilni gradnik51 vizualnega spletljaja, gostujoč znotraj standardnega ASP.NET spletljaja. Razred spletljaja se podeduje iz imenskega prostora uporabniškega nadzora. [2] Osredotočili se bomo na izdelavo vizualnega spletljaja za SharePoint Za implementacijo lastnega spletljaja je potrebno imeti nameščeno integrirano delovno okolje Microsoft Visual Studio Ta nam omogoča gradnjo vizualnega spletljaja za SharePoint 2010, pregled napak in namestitev projekta direktno na delujoč strežnik Postopek kreiranja novega spletljaja za SharePoint 2010 Omogočimo zagon Microsoft Visual Studio 2010 kot skrbnik, da zadostimo raven pravic, ki jih potrebujemo v nadaljevanju. V glavnem meniju izberemo nov projekt (ang. New Project), nato v že pripravljenih šablonah (ang. Templates) poiščemo SharePoint Na sliki 7 vidimo okno, ki se pojavi ob kreiranju novega projekta, kjer lahko izbiramo med različnimi tipi šablon. V primeru, ko izberemo SharePoint šablono, nas v naslednjem koraku vodič vpraša, katero lokalno stran želimo uporabiti za izvrševanje projekta. Praktičen prikaz je viden na sliki 8. V Solution Explorer-ju se prikažejo že generirane datoteke, kot vidimo na sliki 9. Spodaj so opisani glavni elementi, ki smo jih izdelali. V datoteki Elements.xml se nahaja koda z metapodatki. Izbrana vrstica predstavlja lastnost, v kateri navedemo ime skupine, v kateri se bo spletljaj nahajal. To prikazuje vrstica 5, medtem ko vrstice 1, 2, 3 in 4 opisujejo metapodatke. 1. <?xml version="1.0" encoding="utf-8"?> 2. <Elements xmlns=" > 50 standardni je bolj omejen od vizualnega spletljaja; funkcionalnost potegni in spusti ne deluje, nekateri elementi ne delujejo v določenih spletnih brskalnikih (npr. spustni meni ni prikazan v Firefox brskalniku) 51 krmilni gradnik spletni krmilni gradnik; omogoča dodajanje funkcionalnosti spletni strani

23 3. <Module Name="VisualWebPart1" List="113" Url="_catalogs/wp"> 4. <File Path="VisualWebPart1\VisualWebPart1.webpart" Url="Moj spletljaj_visualwebpart1.webpart" Type="GhostableInLibrary" > 5. <Property Name="Group" Value="MojiWP" /> 6. </File> 7. </Module> 8. </Elements> Slika 7: izbira šablone v Microsoft Visual Studio Slika 8: izbira lokalne strani za izvrševanje projekta. [10] Stran 14

24 Stran 15 Slika 9: Solution Explorer v Microsoft Visual Studio Datoteka VisualWebPart1.cs vsebuje kodo, ki določa dodatne nastavitve v lastnostih spletljaja. [9] Datoteka VisualWebPart1.webpart je dokument XML (Extensible Markup Language), ki opisuje naš spletljaj z lastnostmi, kot sta naslov in opis, kar je razvidno v vrsticah 10 in 11. Vrstica 6 vsebuje privzeto sporočilo, ki ga javi sistem, če pride do napake v povezavi s spletljajem. Vrstica 1 opisuje različico in način kodiranja dokumenta. Vrstica 3 ima privzeto povezavo na spletni naslov, vrstica 5 pa hrani metapodatke. Preostale vrstice 2, 4, 7 9 ter so začetne in končne značke posameznih struktur. 1: 2: 3: 4: 5: <?xml version="1.0" encoding="utf-8"?> <webparts> <webpart xmlns=" <metadata> <type name="moj_spletljaj.visualwebpart1.visualwebpart1, $SharePoint.Project.AssemblyFullName$" /> 6: <importerrormessage>$resources:core,importerrormessage;</importerrormessage> 7: </metadata> 8: <data> 9: <properties> 10: <property name="title" type="string">imenik</property> 11: <property name="description" type="string">moj spletljaj, ki omogoča iskanje zaposlenih v internem imeniku</property> 12: </properties> 13: </data> 14: </webpart> 15: </webparts> V datoteki VisualWebPart1UserControl.ascx smo zapisali kodo vizualnih elementov. Datoteka VisualWebPart1UserControl.ascx.cs je namenjena

25 logičnemu delu aplikacije, ki je Stran 16 nameščen v ozadju vidnega spletljaja. VisualWebPart1UserControl.ascx.designer.cs, je zadnji element, ki vsebuje avtomatsko generirano kodo. Ustvarjen projekt prevedemo, če je semantično in sintaktično pravilno zgrajen, nato ga namestimo na našo lokalno stran. S tem smo ustvarili spletljaj, ki se nahaja v skupini MojiWP, definirani v Elements.xml. Da bo spletljaj viden odjemalcem, ga dodamo na stran. Ob dodajanju spletljaja se določi tudi njegova pozicija (glej sliko 10). [15, 8] Slika 10: dodajanje novega spletljaja na lokalno stran. V primeru, kot je opisan, je spletljaj avtomatsko naložen na strežniku v že omenjeni skupini. Spletljaj, ki ga izvršujemo direktno na lokalno stran, je dosegljiv le v času razvoja. Kadar nameščamo novozgrajeni spletljaj, ki ga je potrebno najprej naložiti na strežnik. [7] 3.3 Komunikacija med komponentami in znotraj njih Komponente KDE potrebujejo možnost komuniciranja med sabo. Zagotovljeno mora biti pošiljanje in prejemanje ukazov in obvestil posameznim komponentam ali pa naboru poslušalcev. Prenos ukazov in obvestil med komponentami in aplikacijami odjemalca je

26 Stran 17 lahko narejen s protokolom IPC52 (Inter-Process Communication). Komunikacija med komponentami in okoljem je odvisna tudi od posrednika, ki shranjuje podatke, to je strežnik Akonadi53. Več o tem strežniku v poglavju 3.4. [24] Ob vpetju aplikacije v komponento morajo veljati standardi in ustrezna kompatibilnost vizualnih gradnikov. Za vpetost aplikacije v komponento poskrbi API. Ta vključuje ikone in navigacijske menije ter določa njihovo pozicijo. Prav tako dodatek API zagotavlja funkcionalnost potegni in spusti. Zato, da lahko samostojno aplikacijo vključimo v komponento, mora biti združljiva z dodatkom Kontakt, ki je posrednik med aplikacijo in okoljem, v katerega jo vpnemo. Ta posrednik razlaga funkcionalnost aplikacije, ki je postala vpeta z implementacijo dodatka Kontakt API in jedrom Kontakt API. Komunikacije med komponentami so narejene preko DCOP54 skozi urejen standardni vmesnik. Komunikacija med procesi je posredovana s pomočjo posebnega procesorskega strežnika. Strežnik se vključi z vsako namizno sejo. Kadar se želijo aplikacije sporazumevati, pošljejo zahtevo strežniku DCOP, kateri odgovori s posredovanjem zahteve na njeno lokacijo. Serializacija podatkov je narejena z uporabo C++ prenosa operatorjev, povezanih z osnovnimi podatkovnimi tipi v Qt. Uporablja se kompakten binarni format, ki je skrit uporabniku DCOP-a. Če uporabimo svoj podatkovni tip, ki bo poslan preko DCOP, se ustvari nov prenos operatorjev, ki morajo biti vključeni. V našem primeru, ko opisujemo komunikacije v komponenti Kontakt, je DCOP glavni mehanizem za komunikacijo med komponentami. Uporabljen je za zunanjo aplikacijsko komunikacijo, ki temelji na konfiguraciji dodatka Kontakt, kar pomeni, da interakcija aplikacij deluje kot zunanji proces z njihovim lastnim uporabniškim vmesnikom (primer aplikacije je slika 13) ali pa deluje vpeta v komponento Kontakt kot notranji proces (primer vpete aplikacije prikazuje slika 14). [5] Slika 11 prikazuje modela komponente Kontakt in razmerja med posameznimi okolji. 52 IPC nabor metod za izmenjevanje podatkov med več nitmi in enim procesom 53 Akonadi strežniška storitev, ki skrbi za shranjevanje in pridobivanje podatkov iz shrambe 54 DCOP namizni komunikacijski protokol; komunikacijski sistem med procesi in komponentami; glavni namen je deljenje opravil med posameznimi aplikacijami

27 Stran 18 Slika 11: model komponente Kontakt. [24] 3.4 Kodiranje in shranjevanje informacij v podatke Pri upravljanju sistema za izmenjavo in organizacijo podatkov se število podatkov neprenehoma povečuje. Največji vpliv na to imajo e-sporočila, dogodki, kontakti, beležka in blogi. Shranjevanje vseh teh tipov podatkov ni preprosto. Ne gre samo za shranjevanje tekstovnih datotek, temveč tudi za binarne oblike datotek (npr. fotografija ali priponka v sporočilu), ki spremljajo te tipe. Pri shranjevanju je pomembno vedeti, kako bomo shranjene podatke najlažje našli dovolj hitro, kakšen je potreben dostop do njih ter kako komunicirati med shrambo in odjemalcem. V okolju KDE 3 ima vsaka aplikacija svojo lastno metodo shranjevanja in pridobivanja podatkov, kar se je izkazalo kot slabost. Nekatere aplikacije shranjujejo podatke v eno samo datoteko. Rezultat je slabša zmogljivost, še posebej pri dokumentih, kjer imamo istočasen dostop do njih. Včasih se zgodi, da se enaki podatki v pomnilniku ponavljajo, to pa povzroči preveč izgubljenega prostora. Povedano v tehnični obliki, KDE 3 uporablja KResources55, kjer je vsaka oblika shranjenih podatkov implementirana z razredom 55 KResources ogrodje, ki pove KDE, kako ravnati s komponentami

28 Stran 19 KResource. Ta vsebuje spletni model, ki pričakuje, da je shramba podatkov vedno na voljo. Kot primer vzemimo, da želi odjemalec odpreti svoj poštni predal, ki uporablja IMAP56, kar predstavlja problem, saj je odjemalec lahko v nepovezanem načinu (ang. offline), in tako storitev nima dostopa do zahtevanega strežnika. Rešitev bi bila na novo napisan model, ki omogoča uporabo aplikacij tudi v nepovezanem načinu. KResources niso ustrezno ločeni od njihovih povezanih predmetov. Opisan način shranjevanja in pridobivanja podatkov iz stare različice, KDE 3, ni primeren za upravljanje s sistemi za izmenjavo in organizacijo podatkov. Akonadi 57 je rešitev vsem tem nezadostnostim za novo različico, KDE 4. Je skupen upravitelj za dostop do podatkov PIM58 in namizja odjemalca. Vsi podatki so dostopni preko centrale na način, ki omogoča možnost sinhronega dostopa, zaklepanja in zmanjševanja uporabe pomnilnika. Akonadi je samostojen strežnik, ločen od aplikacij odjemalca, kar pomeni, da ga lahko uporabljajo aplikacije vseh vrst. V uporabo je prišel z namiznim okoljem KDE 4, kar pomeni, da smo ga lahko v našem testnem okolju tega diplomskega dela tudi uporabljali. Slika 12 predstavlja globalno arhitekturo Akonadi. Shranjevanje podatkov je z uporabo arhitekture Akonadi ustreznejše od opisanega v prvem odstavku poglavja. Poleg že naštetih izboljšav je omogočen nepovezan način shranjevanja podatkov na lokalnem mestu, ki služi za začasen zajem podatkov (ang. catch). Takšen način je trivialen, saj mora biti glavna shramba podatkov na oddaljenem strežniku in ne na lokalnem sistemu odjemalca. Za primer shranjevanja in dostopa do podatkov vzemimo spletno aplikacijo KMail. Kot je bilo omenjeno, se za shranjevanje uporablja skupna oblika, zato ni potrebna kakšna posebno zahtevna nastavitev. V začasen pomnilnik se shranijo glave vseh e-sporočil, skupaj s celotnimi sporočili, ki se nahajajo v pomembnejših datotekah. Ostala celotna sporočila, ki se nahajajo v ostalih datotekah, so prenesena s strežnika le ob zahtevi. Tudi priponke bodo prenesene šele na zahtevo. Aplikacija KMail pridobi znanje o vsebini sporočil in to znanje omogoči, da lahko sama ustvari podatke o izbranem predmetu. S tem dosežemo preglednejše brskanje med sporočili in manj procesiranja, kar pomeni hitrejši odzivni čas. 56 IMAP internetni protokol, ki se uporablja za dostop do e-pošte na oddaljenem strežniku 57 Akonadi storitev za shranjevanje podatkov in metapodatkov sistema za izmenjavo in organizacijo podatkov 58 PIM upravitelj za osebne informacije sistem za izmenjevanje in organizacijo podatkov

29 Stran 20 Slika 12: arhitektura Akonadi. [24] Spletna aplikacija, kot je KMail, uporablja kodiranje Base Takšno kodiranje se uporablja pri prenosu binarnih podatkov preko medija. Namen kodiranja ni, da bi šifrirali podatke in onemogočili pridobitev informacij ostalim odjemalcem, temveč da podatkov ni možno spreminjati (razen ob dekodiranju). [13] Base64 kodiranje lahko kodira simbole AZ, a-z in 0-9 iz ASCII60 sheme. Kodiranje je 6 bitno, zato lahko predstavi največ 64 vrednosti. Besedilo pripravljeno za kodiranje pretvorimo v zaporedni bitni vzorec. Kodiranje poteka od začetka prvih 6 bitov, nato drugih 6 bitov. V primeru, da zadnji blok ni popoln, dopolnimo blok z biti vrednosti 0. Primer kodiranja besedila Feri z Base64 prikazuje tabela 3.1. Tabela 3.1: primer kodiranja Base Base64 skupina podobnih shem, ki kodirajo binarne podatke v alfanumerično obliko. 60 ASCII znakovna shema za prikazovanje besedil v računalništvu in komunikacijski opremi

30 3.5 Stran 21 Kompresija Sistem za izmenjevanje in organizacijo podatkov upravlja z množico podatkov različnih podatkovnih tipov (besedila, fotografije, video). Vse to predstavlja velik zalogaj za procesor in shrambo. Množico podatkov lahko zmanjšamo s kompresijo. Na voljo je kar nekaj prostih algoritmov za kompresiranje podatkov. V tabeli 3.2 so primerjave različnih prostih algoritmov za kompresijo. Tabela 3.2: primerjava kompresije različnih algoritmov (vir podatkov: [24]).

31 4 Stran 22 REZULTATI V tem poglavju so narejene primerjave in opisane bistvene razlike med sistemom Kolab in SharePoint Predstavljena sta izdelana razširitvena vstavka za posamezen sistem. 4.1 Tabele primerjav V primerjavi obravnavanih sistemov v tabeli 4.1 opazimo, da imata nekaj skupnih lastnosti. Najbolj očitna razlika je to, da je SharePoint 2010 plačljiv, kar odvrne marsikaterega uporabnika, ki se odloča o postavitvi sistema za izmenjavo podatkov doma ali v manjšem podjetju. Pozornost velja tudi pri strojnih zahtevah, saj SharePoint 2010 Server ne deluje na 32-bitnih sistemih (če izključimo možnost virtualizacije OS), za procesiranje pa potrebuje vsaj 4 jedrni procesor, ne glede na majhno število uporabnikov sistema. Tabela 4.3: primerjava sistema Kolab in SharePoint Odprtokodni Podpora IMAP Spletni uporabniški vmesnik Podpora za MS Outlook Napisan v Operacijski sistem Kolab61 DA DA DA DA Perl, C++, PHP, Python Linux Podpira slovenski jezik NE SharePoint 2010 NE DA DA DA C# Microsoft SQL Server 2008 R2, Windows 7 / Vista DA Tabela 4.4: strojne zahteve. RAM [GB] Sistemski disk [GB] Procesor Platforma Kolab Ni podatka > 1,5 Ni podatka OpenPKG62 SharePoint 2010 Server bitni, 4 ali 8 jederni x86 61 Kolab Groupware-Server, stabilna izdaja 2.3.2, dne OpenPKG platforma, znotraj katere je nameščen strežnik Kolab [1]

32 4.2 Stran 23 Primerjava izdelkov za sistem Kolab in SharePoint 2010 Primerjava pokaže, da lahko aplikacija za Kolab deluje v namiznem okolju KDE 4.7 kot samostojna in zato ne potrebuje spletnega brskalnika, kot je to pri sistemu SharePoint Razvidno je tudi, da je način delovanja sistemov različen. Microsoftov SharePoint 2010 temelji na delovanju spletnih aplikacij, ki jih poganja SharePoint 2010 Server, katerega arhitekturo lahko definiramo tudi nad oblakom računalnikov. Kolab Server združuje aplikacije in komponente, ki so nameščene na operacijskem sistemu. Primer samostojne aplikacije prikazuje slika 13, primer implementacije KDel-a kot dodatek v aplikacijo Kontakt prikazuje slika 14. Slika 13: izdelan KDel. Slika 14: implementirani Imenik v aplikaciji Kontakt.

33 Stran 24 Slika 15 prikazuje dva spletljaja za SharePoint Prvi je pozdravna vrstica, ki pozdravi odjemalca z njegovim uporabniškim imenom. Drug spletljaj predstavlja imenik zaposlenih v nekem podjetju. Slika 15: izgled spletljaja za SharePoint 2010 na lokalni strani. [22] V lastnostih spletljaja so dodatne nastavitve, ki nudijo odjemalcu poljuben prikaz rezultatov (glej sliko 16). Slika 16: dodatne nastavitve spletljaja za SharePoint 2010.

34 5 Stran 25 SKLEP Kolab in SharePoint 2010 sta nadzorna sistema, ki omogočata administratorju vpogled nad uporabniki odjemalci. Oba omogočata prilagajanje izgleda in izbire uporabljanih storitev, z drugimi besedami, prilagoditev sistema, s katerim operira posamezen odjemalec, ki pa je omejen z dodeljenimi dovoljenji za dostop. Primerjava obeh nam pokaže, da v funkcionalnosti ni bistvenih razlik. Uporabnik obeh sistemov lahko poljubno dodaja spletljaje oziroma dele, ter tako zgradi svoj sistem za izmenjevanje in organizacijo podatkov, ki mu omogoča celovit in organiziran pregled nad podatki, ki jih, če želi, deli tudi z drugimi. Kolab sicer ne vsebuje tako imenovanih spletljajev, kot jih poznamo v sistemu SharePoint 2010, imenujemo jih raje kar deli, razširljivi vstavki. Oba sistema delujeta v oblaku računalnikov, ki so povezani v omrežje, na katerega se povezujemo. Ta temelji na spletnih storitvah, ki nudijo večjo fleksibilnost, boljši izkoristek strežniških zmogljivosti, večjo produktivnost administratorjev računalniških sistemov in nižje stroške upravljanja z računalniško infrastrukturo. V obeh so odprte tudi nove možnosti za nove storitve. [3] Pri pripravi zadane naloge sta bila namestitev in nastavljanje strežnika Kolab zahtevnejša od strežnika SharePoint Razlog za to je, da obstaja več variant namestitve strežnika Kolab. Za nas najustreznejša rešitev je bila namestitev različice Kolab v okolju OpenPKG. Razlog temu je bila dokumentacija, ki se je pri SharePoint 2010 zdela boljša kot pri prosto dostopnem sistemu Kolab. Kot smo omenili v podpoglavju 4.1, je SharePoint 2010 plačljiv. V tem delu smo uporabili razvojno različico, ki se razlikuje od običajne v tem, da ta ne podpira več instalacij, ampak je samostojna. Tako smo se izognili licenčnemu nakupu. Za uspešno testiranje smo bili prisiljeni kupiti zmogljivejšo strojno opremo. Spoznali smo, da ima vsak sistem prednosti in slabosti, ima pa tudi svoj krog uporabnikov, ki s pridom uporabljajo njihove zmogljivosti. Glede na osebno izkušnjo in do sedaj pridobljena znanja bi lahko sklepali, da je uporaba sistema SharePoint 2010 bolj prijazna do uporabnikov in tudi do administratorjev, ki skrbijo za instalacijo sistema. Pri testiranju smo bili namreč omejeni na programsko in strojno opremo, zato okolje ni identično tistemu, ki bi ga uporabljali v primeru potrebnih izdatnih sredstev za temeljitejšo raziskavo, ki presega meje tega dela.

35 Stran 26 Raziskovanje bi lahko nadaljevali s primerjavo polno opremljenih sistemov za izmenjavo in organizacijo podatkov, kjer je prisotnih več odjemalcev. Primerna bi bila natančna analiza učinkovitosti sistema glede na porabljena sredstva za vpeljevanje in postavitev sistema Kolab in SharePoint 2010 v delovno okolje podjetja. S pomočjo rezultatov analize bi podjetje lažje sprejelo odločitev, kateri sistem za izmenjavo in organizacijo podatkov je primernejši.

36 Stran 27 KAZALO PRILOG Programska koda za spletljaj Kolab : CMakeLists.txt (imenik) : Imenik_part.cpp (imenik) : Imenik_part.desktop (imenik) : Imenik_part.h (imenik) : CMakeLists.txt (imenikp) : Imenikp_plugin.cpp (imenikp) : Imenik_plugin.desktop (imenikp) : Imenikp_plugin.h (imenikp) Programska koda za spletljaj SharePoint : Elements.xml : VisualWebPart1.cs : VisualWebPart1.webpart : VisualWebPart1UserControl.ascx : VisualWebPart1UserControl.ascx.cs....38

37 Stran 28 PROGRAMSKA KODA ZA SPLETLJAJ KOLAB. 1: CMakeLists.txt (imenik) set(imenik_srcs main.cpp imenik.cpp ) kde4_add_executable(imenik $imenik_srcs) target_link_libraries(imenik $KDE4_KDEUI_LIBS $KDE4_KPARTS_LIBS) ########### namesčanje ############### install(targets imenik $INSTALL_TARGETS_DEFAULT_ARGS ) install( FILES imenik.desktop install( FILES imenik_shell.rc DESTINATION $XDG_APPS_INSTALL_DIR ) DESTINATION ################################# KPART $DATA_INSTALL_DIR/imenik ) ######################################## #kde_module_ltlibraries = libimenikpart.la set(imenik_part_srcs imenik_part.cpp ) kde4_add_plugin(imenikpart WITH_PREFIX $imenik_part_srcs) target_link_libraries(imenikpart $KDE4_KDEUI_LIBS $KDE4_KPARTS_LIBS ) install( FILES imenik_part.desktop install( FILES imenik_part.rc install(targets imenikpart DESTINATION $XDG_APPS_INSTALL_DIR ) DESTINATION $DATA_INSTALL_DIR/imenikpart ) DESTINATION $PLUGIN_INSTALL_DIR ) 2: Imenik_part.cpp (imenik) #include "imenik_part.h" #include "imenik_part.moc" #include <kaction.h> #include <kactioncollection.h> #include <kcomponentdata.h> #include <kfiledialog.h> #include <kparts/genericfactory.h> #include <kstandardaction.h> #include <kdemacros.h> #include <QtCore/QFile> #include <QtCore/QTextStream> #include <QtGui/QTextEdit> typedef KParts::GenericFactory<imenikPart> imenikpartfactory; K_EXPORT_COMPONENT_FACTORY( libimenikpart, imenikpartfactory ) imenikpart::imenikpart( QWidget *parentwidget, QObject *parent, const QStringList & /*args*/ ) : KParts::ReadWritePart(parent) KGlobal::locale()->insertCatalog("Imenik"); //instanca setcomponentdata( imenikpartfactory::componentdata() ); QString niz = "Tukaj se izpiše imenik!"; QFile datoteka("/home/denis/projects/imenik/src/imenik.txt"); if (!datoteka.open(qiodevice::text QIODevice::ReadOnly QIODevice::ReadWrite))

38 niz="napaka! \nimenik ne obstaja."; datoteka.close(); else QTextStream stream(&datoteka); QString str="kontakti v imeniku:\n"; while (!stream.atend()) str += stream.readline() + "\n"; datoteka.close(); niz=str; m_widget = new QTextEdit( parentwidget); //m_widget->settext("test"); mmainwidget=new QLabel(); mmainwidget->settext(niz); setwidget(m_widget); setwidget(mmainwidget); // akcije KStandardAction::saveAs(this, SLOT(fileSaveAs()), actioncollection()); save = KStandardAction::save(this, SLOT(save()), actioncollection()); // XML-UI setxmlfile("imenik_part.rc"); setreadwrite(true); setmodified(false); imenikpart::~imenikpart() void imenikpart::setreadwrite(bool rw) m_widget->setreadonly(!rw); if (rw) connect(m_widget, SIGNAL(textChanged()), this, SLOT(setModified())); else disconnect(m_widget, SIGNAL(textChanged()), this, SLOT(setModified())); ReadWritePart::setReadWrite(rw); void imenikpart::setmodified(bool modified) if (!save) return; if (modified) save->setenabled(true); else save->setenabled(false); //parent ReadWritePart::setModified(modified); KAboutData *imenikpart::createaboutdata() Stran 29

39 Stran 30 KAboutData *aboutdata = new KAboutData("imenikpart", "imenik", ki18n("imenikpart"), "%1.1"); aboutdata->addauthor(ki18n("%denis K."), KLocalizedString(), "%deniskukovic@gmail.com"); return aboutdata; bool imenikpart::openfile() QFile file("m_file"); if (!file.open(qiodevice::text QIODevice::ReadOnly QIODevice::ReadWrite)) //če je datečni tok OK. return false; QTextStream stream(&file); QString str; while (!stream.atend()) str += stream.readline() + "\n"; file.close(); // izpis m_widget->setplaintext("str"); mmainwidget->settext(str); return true; bool imenikpart::savefile() if (isreadwrite() == false) return false; QFile file("m_file"); if (!file.open(qiodevice::readonly QIODevice::Text)) return false; QTextStream stream(&file); stream << m_widget->document(); file.close(); return true; void imenikpart::filesaveas() QString file_name = KFileDialog::getSaveFileName(); if (file_name.isempty() == false) saveas(file_name); 3: Imenik_part.desktop (imenik) [Desktop Entry] Name=imenikPart Name[ca]=imenikPart Name[ca@valencia]=imenikPart Name[cs]=imenikPart Name[da]=imenikPart Name[de]=imenik-Teil Name[el]=imenikPart Name[en_GB]=imenikPart Name[es]=imenikPart Name[et]=imenikPart Name[fr]=imenikPart Name[ga]=imenikPart Name[gl]=imenikPart Name[hu]=imenikPart Name[it]=imenikPart Name[ja]=imenikPart Name[km]=imenikPart

40 Stran 31 Name[ko]=imenik 부분 Name[lv]=imenikPart Name[nb]=imenik-del Name[nds]=imenikKomponent Name[nl]=imenikPart Name[nn]=imenik-del Name[pa]=imenikPart Name[pl]=imenikPart Name[pt]=imenikPart Name[pt_BR]=imenikPart Name[ro]=imenikPart Name[ru]=Компонент imenik Name[sr]=imenik део део deo deo Name[sv]=imenik-delprogram Name[tr]=imenikPart Name[uk]=imenikPart Name[x-test]=xximenikPartxx Name[zh_CN]=imenikPart Name[zh_TW]=imenikPart MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/xcsrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/xc;text/x-c++; ServiceTypes=KParts/ReadOnlyPart,KParts/ReadWritePart X-KDE-Library=libimenikpart Type=Service X-Ubuntu-Gettext-Domain=desktop_kdesdk 4: Imenik_part.h (imenik) #ifndef IMENIKPART_H #define IMENIKPART_H #include <kparts/part.h> #include <kparts/factory.h> #include <QLabel> class QWidget; class QPainter; class KUrl; class QTextEdit; class KAboutData; class KAction; /** Main Part %Denis K. <%deniskukovic@gmail.com> $APP_VERSION */ class imenikpart : public KParts::ReadWritePart Q_OBJECT public: /** * Privzeti konstruktor */ imenikpart(qwidget *parentwidget,qobject *parent, const QStringList &); QLabel *MainWidget()return mmainwidget;; /** * Destruktor

41 */ virtual ~imenikpart(); virtual void setreadwrite(bool rw); virtual void setmodified(bool modified); static KAboutData *createaboutdata(); protected: virtual bool openfile(); virtual bool savefile(); KAction *save; protected slots: void filesaveas(); private: QTextEdit *m_widget; QLabel *mmainwidget; //labela s katero izpišemo besedilo ; #endif // IMENIKPART_H 5: CMakeLists.txt (imenikp) include_directories($cmake_source_dir/imenikp) set(kontact_imenik_part_srcs imenikp_plugin.cpp) kde4_add_plugin(kontact_imenikpplugin $kontact_imenik_part_srcs) target_link_libraries(kontact_imenikpplugin $KDE4_KDEUI_LIBS kontactinterfaces) install(targets kontact_imenikpplugin install(files imenikp_plugin.desktop DESTINATION $PLUGIN_INSTALL_DIR) DESTINATION $SERVICES_INSTALL_DIR/kontact) 6: Imenikp_plugin.cpp (imenikp) #include "imenikp_plugin.h" #include <imenik_part.h> #include <kontactinterfaces/core.h> #include <kontactinterfaces/plugin.h> #include <kactioncollection.h> #include <kgenericfactory.h> #include <kicon.h> #include <kparts/componentfactory.h> EXPORT_KONTACT_PLUGIN( ImenikpPlugin, imenikp ) ImenikpPlugin::ImenikpPlugin( Kontact::Core *core, const QVariantList & ) : Kontact::Plugin( core, core, "Imenik" ) setcomponentdata( KontactPluginFactory::componentData() ); ImenikpPlugin::~ImenikpPlugin() KParts::ReadOnlyPart *ImenikpPlugin::createPart() KParts::ReadOnlyPart *part = loadpart(); connect( part, SIGNAL(showPart()), this, SLOT(showPart()) ); return part; void ImenikpPlugin::readProperties( const KConfigGroup &config ) if ( part() ) imenikpart *mypart = static_cast<imenikpart*>( part() ); void ImenikpPlugin::saveProperties( KConfigGroup &config ) if ( part() ) Stran 32

42 Stran 33 imenikpart *mypart = static_cast<imenikpart*>( part() ); void ImenikpPlugin::showPart() core()->selectplugin( this ); #include "imenikp_plugin.moc" 7: Imenik_plugin.desktop (imenikp) [Desktop Entry] Type=Service Icon=whatever X-KDE-ServiceTypes=Kontact/Plugin,KPluginInfo X-KDE-Library=kontact_imenikpplugin X-KDE-KontactPluginVersion=7 X-KDE-KontactPartLibraryName=libimenikpart X-KDE-KontactPluginHasSummary=false X-KDE-PluginInfo-Name=kontact_imenikpplugin X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true Comment=Izpis obstoječega imenika Name=imenikp 8: Imenikp_plugin.h (imenikp) #ifndef IMENIKP_PLUGIN_H #define IMENIKP_PLUGIN_H #include <kontactinterfaces/plugin.h> #include <kparts/part.h> class ImenikpPlugin : public Kontact::Plugin Q_OBJECT public: ImenikpPlugin( Kontact::Core *core, const QVariantList & ); ~ImenikpPlugin(); virtual void readproperties( const KConfigGroup &config ); virtual void saveproperties( KConfigGroup &config ); private slots: void showpart(); protected: KParts::ReadOnlyPart *createpart(); ; #endif PROGRAMSKA KODA ZA SPLETLJAJ SHAREPOINT : Elements.xml <?xml version="1.0" encoding="utf-8"?> <Elements xmlns=" > <Module Name="VisualWebPart1" List="113" Url="_catalogs/wp"> <File Path="VisualWebPart1\VisualWebPart1.webpart" Url="Moj spletljaj_visualwebpart1.webpart" Type="GhostableInLibrary" > <Property Name="Group" Value="MojiWP" /> </File> </Module> </Elements> 2: VisualWebPart1.cs using System;

43 Stran 34 using System.ComponentModel; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; namespace Moj_spletljaj.VisualWebPart1 [ToolboxItemAttribute(false)] public class VisualWebPart1 : WebPart // Visual Studio might automatically update this path when you change the Visual Web Part //project item. private const string _ascxpath protected override void CreateChildControls() Control control = Page.LoadControl(_ascxPath); Controls.Add(control); public static Boolean ID; [Category("Dodatne nastavitve"), Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Prikaži ID"), WebDescription("Izberi, če želiš, da prikaže ID!")] public Boolean _ID get return ID; set ID = value; public static Boolean IME; [Category("Dodatne nastavitve"), Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Prikaži ime zaposlenega"), WebDescription("Izberi, če želiš, da prikaže ime zaposlenega!")] public Boolean _IME get return IME; set IME = value; public static Boolean PRIIMEK; [Category("Dodatne nastavitve"), Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Prikaži priimek zaposlenega"), WebDescription("Izberi, če želiš, da prikaže priimek zaposlenega!")] public Boolean _PRIIMEK get return PRIIMEK; set PRIIMEK = value; public static Boolean TEL; [Category("Dodatne nastavitve"), Personalizable(PersonalizationScope.Shared), WebBrowsable(true),

44 Stran 35 WebDisplayName("Prikaži telefon zaposlenega"), WebDescription("Izberi, če želiš, da prikaže telefon zaposlenega!")] public Boolean _TEL get return TEL; set TEL = value; public static Boolean ODDELEK; [Category("Dodatne nastavitve"), Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Prikaži oddelek zaposlenega"), WebDescription("Izberi, če želiš, da prikaže oddelek zaposlenega!")] public Boolean _ODDELEK get return ODDELEK; set ODDELEK = value; 3: VisualWebPart1.webpart <?xml version="1.0" encoding="utf-8"?> <webparts> <webpart xmlns=" <metadata> <type name="moj_spletljaj.visualwebpart1.visualwebpart1, $SharePoint.Project.AssemblyFullName$" /> <importerrormessage>$resources:core,importerrormessage;</importerrormessage> </metadata> <data> <properties> <property name="title" type="string">imenik</property> <property name="description" type="string">moj spletljaj, ki omogoča iskanje zaposlenih v internem imeniku</property> </properties> </data> </webpart> </webparts> 4: VisualWebPart1UserControl.ascx <%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version= , Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version= , Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version= , Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version= , Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="Moj_spletljaj.VisualWebPart1.VisualWebPart1UserControl" %> <style type="text/css">.style1

45 Stran 36 font-family: "Arial Black";.style2 font-family: Arial; </style> <p> <asp:label ID="Label1" runat="server" CssClass="style2" Text="Vpišite ime iskane osebe:"></asp:label> <asp:textbox ID="TextBox1" runat="server" ontextchanged="textbox1_textchanged"></asp:textbox> </p> <p> <br /> </p> <table> <tr> <td class="style1"> Rezultati: </td> </tr> <tr> <td> <asp:gridview ID="datagrdStoreData" runat="server" BackColor="White" style="font-family: Calibri; font-size: small"> <AlternatingRowStyle BackColor="#99FFFF" ForeColor="Black" /> <HeaderStyle BackColor="#0099FF" ForeColor="White" /> </asp:gridview> </td> </tr> <tr> <td> <asp:linkbutton ID="Isci_po_bazi" runat="server" style="font-family: Arial Baltic; font-size: small" onclick="isci_po_bazi_click">išči po bazi</asp:linkbutton> </td> </tr> <tr> <td> <asp:linkbutton ID="Prikazi_vse" runat="server" style="font-family: Arial Black; font-size: small" onclick="prikazi_vse_click">prikaži vse</asp:linkbutton> </td> </tr> </table> <asp:label ID="Label2" runat="server" Text="Label"></asp:Label> 5: VisualWebPart1UserControl.ascx.cs using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data; using System.Data.SqlClient; namespace Moj_spletljaj.VisualWebPart1 public partial class VisualWebPart1UserControl : UserControl

46 Stran 37 DataSet podatkovni_set = new DataSet(); protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) public string QueryString() //Funkcija, ki oblikuje "SELECT" stavek za SQL poizvedbo. //v ta string se bodo shranjevali nizi vkolikor so bili izbran parametri v Dodatnih //nastavitvah string izbor_parametrov=null; if (VisualWebPart1.ID == true) //če je izbran parameter za prikaz ID izbor_parametrov = "ID_ZAPOSLENEGA"; //potem se v SELECT niz doda ID_ZAPOSLENEGA if (VisualWebPart1.IME == true) //če je izbran parameter za prikaz IME if (izbor_parametrov!= null) //in če niz ni več prazen izbor_parametrov += ","; //doda vejico, zaradi naštevanja izbranih parametrov izbor_parametrov += "IME"; //doda ime if (VisualWebPart1.PRIIMEK == true) if (izbor_parametrov!= null) izbor_parametrov += ","; izbor_parametrov += "PRIIMEK"; if (VisualWebPart1.TEL == true) if (izbor_parametrov!= null) izbor_parametrov += ","; izbor_parametrov += "TEL"; if (VisualWebPart1.ODDELEK == true) if (izbor_parametrov!= null) izbor_parametrov += ","; izbor_parametrov += "ODDELEK"; //vrne urejen stavek "SELECT [IZBRANE LASTNOSTI] FROM Zaposleni_TB" if (izbor_parametrov!= null) return "SELECT " + izbor_parametrov + " from Zaposleni_TB"; else //če ni bil izbran noben parameter, vrže "SELECT * FROM Zaposleni_TB" return "SELECT * from Zaposleni_TB"; protected void Isci_po_bazi_Click(object sender, EventArgs e)

47 Stran 38 string isci = TextBox1.Text; string querystring; //moja funkcija, ki vrne sql select string, glede na izbiro lastnosti (ID, IME, PRIIMEK,...) querystring = QueryString(); querystring += " where Zaposleni_TB.IME='" + isci + "';"; //POVEZAVA Z SQL BAZO NA STREŽNIKU DENIS-PC string connectionstring = "Data Source=denis-pc\\sqlexpress;Initial Catalog=Zaposleni_DB;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString); SqlDataAdapter adaptor = new SqlDataAdapter(); using (SqlCommand command = new SqlCommand(queryString, connection)) adaptor.selectcommand = command; adaptor.fill(podatkovni_set); datagrdstoredata.datasource = podatkovni_set; datagrdstoredata.databind(); //Omogoči vidnost Label2, ki izpiše rdeče opozorilo "V bazi ni tega imena!". if (datagrdstoredata.rows.count == 0) Label2.Visible = true; protected void TextBox1_TextChanged(object sender, EventArgs e) //V primeru, da spremenimo iskalni niz, se vidnost Label2 onemogoči. Label2.Visible = false; protected void Prikazi_vse_Click(object sender, EventArgs e) Label2.Visible = false; string isci = TextBox1.Text; //iskalni niz string querystring; //poizvedovalni niz //moja funkcija, ki vrne sql select string, glede na izbiro lastnosti (ID, IME, //PRIIMEK,...) querystring = QueryString(); querystring += ";"; //na koncu poizvedovalnega niza sledi podpičje string connectionstring = "Data Source=denis-pc\\sqlexpress;Initial Catalog=Zaposleni_DB;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString); SqlDataAdapter adaptor = new SqlDataAdapter(); using (SqlCommand command = new SqlCommand(queryString, connection)) adaptor.selectcommand = command; adaptor.fill(podatkovni_set); datagrdstoredata.datasource = podatkovni_set; datagrdstoredata.databind();

48 Stran 39 LITERATURA [1] Mahboob in N. Ikram: How to Overcome the Challenges to Large Scale Adoption of Open Source Software and Systems in Pakistan Business and Industrial Environment. Pakistan Navy Engineering College, National University of Sciences & Technology, Karachi (Online) e_the_challenges_to_large_scale_adoption_of_open_source.pdf (datum dostopa ). [2] Hemetsberger in C. Reinhardt: Sharing and creating knowledge in open-source communities: the case of KDE. Fifth European Conference on Organizational Knowledge, Learning, and Capabilities, Innsbruck (Online) (datum dostopa ). [3] M. Štrukelj in M. Lazar: 18. konferenca Dnevi slovenske informatike; Postavitev zasebnega oblaka z odprtokodnimi rešitvami (Online), Portorož %20oblaku/Strukelj_Marko.pdf (datum dostopa ). [4] L. Suhrbier in M. Hasaric: Draft list of suitable communication / work group tools for platform environment. Freie Universität Berlin, Department Computer Science Networked Information System (Online) (datum dostopa ). [5] D. Faure, I. Klöcker, T. König, D. Molkentin, Z Rusin, D. Sanders in C. Schumacher: KDE Kontact: An Application Integration Framework PIM Components Get Together. Proceedings of USENIX 2004: FREENIX Track. [6] Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008, SharePoint 2010 (Online). Microsoft MSDN. May (datum dostopa ). [7] C. Roth: Intro to SharePoint 2010 Development: How to Build and Deploy a Web Part. Dot Net Mafia (Online)

49 Stran 40 sharepoint-2010-development-how-to-build-and-deploy-a-web-part.aspx (datum dostopa ). [8] B. Massi (Online): Creating a SharePoint Visual Web Part using Visual Studio MSDN Blogs. Microsoft Corporation (datum dostopa ). [9] J. Laik: Create a Custom Web Part for SharePoint Concurency, Inc (Online) (datum dostopa ). [10]J. Destin: Creatin Web parts for SharePoint 2010 using Visual Studio C# Corner (Online) (datum dostopa ). [11]Kolab Server: Technical Description. Kroupware Contract (Online) (datum dostopa ). [12] Kolab2 Installation Source Kolab wiki (Online) (datum dostopa ). [13]Y. Hilewitz in R. B. Lee: Advanced Bit Manipulation Instruction Set Architecture. Princeton Architecture Laboratory for Multimedia and Security Department of Electrical Engineering. November [14] Attlee Labels: Sharepoint 2010 WebPart Tutorial, SharePoint Programming, A blog about SharePoint 2007,SharePoint 2010,.Net Framework 4.0, Office 2010 and lot more... (Online). myshaepointwork.blogspot.com (datum dostopa ). [15] G. Sinai: Getting started with SharePoint 2007 Web Parts (Online), 7 Apr (datum dostopa ). [16] M. Evans: Kaj je SharePoint? Microsoft Corporation (Online) (datum dostopa ).

50 Stran 41 [17]Microsoft SharePoint. Wikipedia, The Free Encyclopedia (Online) (datum dostopa ). [18]Kolab. Wikipedia, TheFree Encyclopedia (Online) (datum dostopa ). [19]Kolab, Groupware Solution for s, Appointments, Contacts and more (Online) (datum dostopa ). [20] KDE Platform. Wikipedia, The Free Encyclopedia (Online) (datum dostopa ). [21]de Groot in A. Winter: KParts::ReadOnlyPart Class Reference. KDE 4.0 API Reference (Online) html#_details (datum dostopa ). [22]Exercise 4: Creating a Visual Web Part that is Integrated with SQL Azure. Microsoft MSDN (Online) (datum dostopa ). [23]The Apache Software Foundation (Online) (datum dostopa ). [24]R. Zwerus: Storing Personal Information Management data; Akonadi unifying PIM data for KDE. University of Twente The Netherlands. 2007

51 Stran 42

52 Stran 43

53 Stran 44

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

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

More information

Sistemske zahteve za SAOP

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

More information

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

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

More information

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

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

More information

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

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

More information

Hitra rast hranjenih podatkov

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

More information

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

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

More information

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

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

More information

Navodila za uporabo izdelkov programske opreme Microsoft

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

More information

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov

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

More information

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

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

More information

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

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

More information

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

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

More information

Prirejanje in preverjanje tipov

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

More information

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

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

More information

Uvod v svetovni splet

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

More information

Navodila za nastavitev varne povezave po protokolu SSH

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

More information

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

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

More information

Prometno načrtovanje xdsl

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

More information

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

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

More information

Naslavljanje v IP. Miran Meža

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

More information

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

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

More information

Navodila za interaktivne naloge Bober

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

More information

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

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

More information

Sistemske zahteve za Saop icenter

Sistemske zahteve za Saop icenter Sistemske zahteve za Saop icenter Izdaja 27 080 13 20 info@saop.si www.saop.si 18.6.2018 Sistemske zahteve 2 Samostojna delovna postaja icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi

More information

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server

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

More information

APLIKACIJE ZA SOCIALNA

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

More information

Metodologija migracije iz Exchange v Office 365

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

More information

DB2 podatkovna baza v praksi

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

More information

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

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

More information

Povezava DEQ v omrežje

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

More information

Povezava regulatorja DEQ v omrežje

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

More information

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev

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

More information

Navodila za namestitev CREO 3.0 in Audax nastavitev

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

More information

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

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

More information

Primerjava orodij za razvoj mobilnih aplikacij

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

More information

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

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

More information

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

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

More information

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti

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

More information

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

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

More information

Izdelava spletne aplikacije za video klepet

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

More information

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Rajnar Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami DIPLOMSKO DELO NA UNIVERZITETNEM

More information

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

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

More information

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

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

More information

Razvoj orodja za centralni nadzor posodobitev v platformi WordPress

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

More information

Razvoj spletne trgovine z vključitvijo naprednih storitev

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

More information

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ

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

More information

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

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

More information

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov

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

More information

NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ

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

More information

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

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

More information

Andrej Jamšek. Namestitev programske opreme s poudarkom na tehnologiji MSI

Andrej Jamšek. Namestitev programske opreme s poudarkom na tehnologiji MSI UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andrej Jamšek Namestitev programske opreme s poudarkom na tehnologiji MSI DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: izr.

More information

POSTAVITEV SPLETNEGA SISTEMA ZA PRIKAZ NAČRTA PROIZVODNJE

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

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Poljanšek Analiza modela platforme kot storitve in razvoj aplikacije v oblaku na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM

More information

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA

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

More information

Transakcije v MariaDB/MySQL (transakcija A)

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

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje Web programming Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic

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

More information

Mobilna aplikacija za pregledovanje slik visokih ločljivosti

Mobilna aplikacija za pregledovanje slik visokih ločljivosti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anže Sršen Mobilna aplikacija za pregledovanje slik visokih ločljivosti DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV O FILMIH

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

More information

SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV

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

More information

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku

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

More information

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami IMAGINE d.o.o. Podjetje za računalniški inženiring Gosposvetska cesta 84, 2000 Maribor Tel.: 02 320 60 60 Fax: 02 320 60 70 www.imagine.si, prodaja@imagine.si Minimalne/optimalne zahteve za delovanje informacijskega

More information

Ime in priimek: Kazalo

Ime in priimek: Kazalo Ime in priimek: Datum: Naloga: Multicast Kazalo Naloga... 1 1. Uvod... 1 1.1. IP multicast... 1 1.2. Protokol IGMP... 1 1.3. Unicast in multicast usmerjanje/posredovanje... 2 1.4. Ethernet multicast (IGMP

More information

Oddaljen dostop do namiznega računalnika

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

More information

Mobilna aplikacija za pregled informacij o prometu v Sloveniji

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

More information

IoT v stavbah ob uporabi SNMP

IoT v stavbah ob uporabi SNMP Univerza v Ljubljani Fakulteta za računalništvo in informatiko Mitja Golob IoT v stavbah ob uporabi SNMP DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: dr. Andrej Brodnik Ljubljana, 2016 Rezultati

More information

Razvoj aplikacij na platformi Google App Engine

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

More information

Marko Kovač. Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih

Marko Kovač. Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Marko Kovač Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor:

More information

Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov. Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija

Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov. Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija Vsebina Stanje in trendi na tržišču Lotus Quickr pregled Konektorji

More information

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA Diplomski projekt RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS Cloud Computing for Human

More information

Preregistracija 2013

Preregistracija 2013 Preregistracija 2013 Priprava dokumentov in slik za uporabo v spletni aplikaciji NZS December 2012 1 Preregistracija 2013 Kazalo: Fotografija osnovne informacije; Priprava fotografije; Dokumenti skeniranje

More information

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

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

More information

Časovno omejevanje dostopa do interneta

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

More information

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

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

More information

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

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

More information

Razvoj spletnih storitev v Javi

Razvoj spletnih storitev v Javi UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dane Porenta Razvoj spletnih storitev v Javi DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

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

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

More information

Aplikacija za prikaz prostorskih podatkov

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

More information

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

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

More information

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

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

More information

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

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

More information

Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django

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

More information

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL

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

More information

Testiranje spletne aplikacije z orodji Selenium in Windmill

Testiranje spletne aplikacije z orodji Selenium in Windmill UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Bogdan Urdih Testiranje spletne aplikacije z orodji Selenium in Windmill DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

IBM Lotus Notes in Domino 8

IBM Lotus Notes in Domino 8 IBM Lotus Notes in Domino 8 Spoznajte namizje prihodnosti danes Janko Štefančič, GENIS janko.stefancic@genis.si 2007 IBM Corporation Agenda O podjetju Genis Kratka zgodovina Kaj zmore Notes/Domino 8 Podprte

More information

Informatika v medijih

Informatika v medijih 3.1. Osnove operacijskih sistemov. Sistemska programska oprema. Hiter neumen stroj Računalniki: Strojna oprema (hardware) Omejene sposobnosti Znajo računati samo osnovne matematične operacije in logične

More information

PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV

PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV ICES VIŠJA STROKOVNA ŠOLA Program: Informatika PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV Mentor: mag. Miran Novak Lektorica: Ana Peklenik, prof. slov. Kandidat: Igor Majer

More information

Primerjava izvornega in hibridnega razvoja mobilne aplikacije

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

More information

Sistem za dinamično upravljanje izgleda klienta IPTV

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

More information

IZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN

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

More information

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Mobilne multimedijske storitve mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Uvod Mobilne storitve danes Multimedijske storitve Sistemske zahteve Nova generacija

More information

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

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

More information

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

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

More information

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

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

More information

Razširitve CMS z lastnimi moduli

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

More information

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme,

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme, Vsebina predmeta Podatki, informacije in informacijski sistemi Infrastruktura informacijskih sistemov Tipi podatkov Načini zapisa in shranjevanja podatkov Načini dostopa do podatkov (prenos) Poizvedbe

More information

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN I Tine Uršič UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN Diplomsko delo Visokošolski strokovni študijski program Maribor, januar 2013 II Diplomsko delo visokošolskega strokovnega študijskega

More information

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

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

More information

Okostje za testiranje PHP aplikacij z oblačnimi storitvami

Okostje za testiranje PHP aplikacij z oblačnimi storitvami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleksandra Bersan Okostje za testiranje PHP aplikacij z oblačnimi storitvami DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE

More information