Razvoj partnerskega sistema na temelju modernih razvojnih metodologij

Velikost: px
Začni prikazovanje s strani:

Download "Razvoj partnerskega sistema na temelju modernih razvojnih metodologij"

Transkripcija

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aljaž Fajmut Razvoj partnerskega sistema na temelju modernih razvojnih metodologij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor: izr. prof. dr. Peter Peer Ljubljana, 2016

2

3 Fakulteta za računalništvo in informatiko izdaja naslednjo nalogo: Razvoj partnerskega sistema na temelju modernih razvojnih metodologij Tematika naloge: Partnerstvo med različnimi prodajalci in uporabniki je zelo razširjena in popularna metoda trženja. Uporabniki veliko lažje in hitreje kupijo nek izdelek, če jim izdelek priporoča nekdo, ki mu zaupajo. Sistem s to funkcionalnostjo imenujemo partnerski sistem. V diplomi implementirajte spletni partnerski sistem, ki zaslugo za obisk strani ali nakup izdelka pripiše ustreznemu promotorju ter vodi evidenco provizij. Naredite pregled obstoječih sistemov ter zasnujte svojega na podlagi modernih razvojnih metodologij, pri tem pa sledite cilju, da bo razvit sistem enostaven za integracijo v obstoječe sorodne spletne storitve.

4

5 Rad bi se zahvalil svojima staršema - Irmi in Stanku, ki sta mi nudila podporo in razumevanje na poti šolanja in odraščanja. Zahvalil bi se tudi izr. prof. dr. Petru Peeru za odprtost, razumevanje, strokovnost ter podporo pri izobraževanju in nastajanju diplomskega dela. Želim si, da bi takih profesorjev bilo več.

6

7 Diplomo posvečam svoji mami Irmi.

8

9 Kazalo Povzetek Abstract 1 Uvod Partnerski sistemi Pregled obstoječih partnerskih sistemov Motivacija in pregled naloge Načrt Metodologije razvoja Uporabljene tehnologije Struktura baze Integracije z zunanjimi orodji Razvoj Razvoj funkcionalnosti sistema Pregled iteracij razvoja Priprava na produkcijsko okolje Uporaba Končni izdelek Integracija v obstoječo rešitev Test na produkcijskem okolju Primer uporabe

10 5 Zaključek Napake in popravki Nadaljni razvoj Učne lekcije Literatura 51

11 Povzetek Naslov: Razvoj partnerskega sistema na temelju modernih razvojnih metodologij Partnersko sodelovanje je priljubljena in učinkovita vrsta trženja izdelka ali storitve prek poslovnih partnerjev. Diplomsko delo opisuje razvoj produkta, ki nam omogoča, da lahko v obstoječo spletno aplikacijo (bodisi trgovino ali storitev) enostavno implementiramo funkcionalnost partnerskega sistema, kar nam omogoči vrsto novih možnosti pri trženju naših storitev ali izdelkov. Sistem je zasnovan tako, da zahteva minimalno količino posegov za integracijo v obstoječo aplikacijo, razvoj produkta pa je potekal na temelju modernih razvojih metodologij, ki smo jih uporabili tako, da smo na čimbolj učinkovit način prišli do minimalnega fukcionalnega produkta v čimkrajšem času. Ključne besede: partnerski sistem, zagonsko podjetje, podjetništvo, trženje, moderne razvojne metodologije.

12

13 Abstract Title: Development of the affiliate system based on modern development methodologies Affiliate partnership is a popular and effective method of online marketing through affiliate partners. The thesis describes the development of a product, which allows us to easily integrate affiliate system into an existing platform (e-commerce or service). This kind of functionality opens up growth opportunities for the business. The system is designed in a way that it requires minimal amount of changes for the implementation into an existing application. The development of the product is based on the modern development methodologies, which are used so that we get the minimum viable product in the most efficient and quickest way. Keywords: affiliate system, startup, business, marketing, modern development methodologies.

14

15 Poglavje 1 Uvod Partnerski sistem (angl. affiliate system) je funkcionalnost, ki omogoča, da določen izdelek ali storitev lahko promovirajo njegovi uporabniki ali prodajalci, ki so za to specializirani in ob vsaki prodaji tega izdelka zaslužijo provizijo. Partnerstvo je med različnimi prodajalci in uporabniki [1] (angl. affiliate marketing) zelo razširjena in popularna metoda trženja. Uporabniki, če jim izdelek priporoča nekdo, ki mu zaupajo, tudi veliko lažje in hitreje kupijo. Tovrstno partnerstvo se na spletu ponavadi pojavlja v obliki križanih promocij [2] (angl. cross-promotion). Povežeta se dve podjetji, ki imata podoben segment uporabnikov in vsak svoji uporabniški bazi priporoča izdelek svojega partnerja. Tako lahko obe enostavno razširita krog svojih uporabnikov in hkrati zaslužita provizijo s promocijo partnerskega izdelka. Takšne akcije so običajno veliko bolj učinkovite kot pa kakršnokoli oglaševanje na spletu. Poleg tega načina je na spletu tudi ogromno posameznikov, ki so specializirani in služijo izključno samo od partnerskih promocij (angl. affiliates). Takšni promotorji so ponavadi pisalci blogov (predvsem ocen in primerjav izdelkov), lastniki raznih nišnih forumov ali portalov. Na spletu se partnerski sistemi vežejo na spletne strani in delujejo tako, da po registraciji uporabnik (promotor) dobi posebno povezavo na spletno stran, kjer se izdelek prodaja. Povezava vključuje identifikacijski atribut, 1

16 2 POGLAVJE 1. UVOD ki zaslugo za obisk strani ali nakup izdelka pripiše določenemu promotorju. Tak partnerski sistem omogoča promotorjem pregled nad statistiko obiskov in prodaj uporabnikov, ki so jih napotili k določenemu izdelku ali storitvi. Obstaja veliko različnih partnerskih sistemov, ki se v glavnem ločijo na samo-gostovane [3] (angl. self-hosted) in upravljano-gostovane sisteme [4] (angl. managed-hosted). Večina prvih je spisanih v PHP jeziku in so večinoma zastareli, zato je tudi njihova prilagoditev zelo otežena. Problem z upravljanogostovanimi sistemi pa je, da ponudniki zaračunavajo visoke zneske za uporabo, poleg tega pa v večini poberejo tudi svojo provizijo od prodaj. Druga velika pomanljivost obeh sistemov je, da zahtevajo radikalne spremembe v funkcionalnosti nakupnega procesa spletne strani za implementacijo partnerskega sistema. V podjetju se s partnerskimi programi ukvarjamo od leta 2007, resno pa smo se začeli ukvarjati z razvojem SaaS (Software as a Service) orodij leta V tem času smo opazili omenjene pomankljivosti tovrstnih sistemov in spoznal načine, kako bi bilo mogoče nekatere med njimi učinkovito odpraviti. Zaznali smo tudi potrebo po takšnemu sistemu v povezavi z našimi obstoječimi rešitvami. Prejeli smo veliko elektronskih sporočil od uporabnikov, ki jim je naša storitev všeč. Sprašujejo nas o takšnem sistemu in iščejo ustrezno rešitev. Ideja, kako to težavo odpraviti (za nas in tudi za druge) na veliko bolj učinkovit način, kot pa je to mogoče z obstoječimi rešitvami, je predstavljena in ovrednotena v tem delu. Prišli smo tudi do spoznanja, da lahko z analitičnim orodjem Mixpanel [5] poenostavimo implementacijo partnerskega sistema z minimalnimi spremembami v kodi. Poleg tega nam ta integracija omogoča še mnoge prednosti, ki bodo razložene v nadaljevanju diplomske naloge. 1.1 Partnerski sistemi V grobem lahko partnerske sisteme razdelimo na samo-gostovane [3] (angl. self-hosted) in upravljano-gostovane [4] (angl. managed-hosted). Vsaka vrsta

17 1.2. PREGLED OBSTOJEČIH PARTNERSKIH SISTEMOV 3 ima določene prednosti uporabe. Prednosti samo-gostovanih partnerskih sistemov: Običajno ne plačujemo mesečne najemnine, pač pa plačamo licenco in po možnosti posodobitve. Zahtevajo tehnično znanje za namestitev na svoje strežnike, kar pogosto predstavlja dodatno breme za upravljalca oz administratorja. Primerni so v primerih, ko ima uporabnik zelo specifične zahteve, ki jih je težko realizirati na generalnem nivoju, sistem pa zahteva veliko prilagoditev. Prednosti upravljano-gostovanih partnerskih sistemov: Uporabniku ni potrebno skrbeti za namestitev in delovanje sistema. Ponavadi se za njihovo uporabo plačuje mesečno najemnino, pogosto pa tudi provizijo od prodaje. Navadno so enostavnejši za uporabo in hitrejši za implementacijo. Primerni so za enostavnejšo uporabo. 1.2 Pregled obstoječih partnerskih sistemov Samo-gostovani partnerski sistemi idevaffiliate idevaffiliate [6] je star partnerski sistem, ki ga je leta 1999 zasnovalo podjetje idevdirect. Ima širok razpon funkcionalnosti: od prodajnih orodij, poročil in naprednih nastavitev, ki omogočajo visoko stopnjo prilagodljivosti partnerskega sistema. Prednosti:

18 4 POGLAVJE 1. UVOD Fleksibilnost nastavitev. Plačamo enkrat. Relativno-enostavna konfiguracija. Slabosti: Posodobitve so brezplačne samo do enega leta. Za dodatne funkcionalnosti moramo kupiti dodatke. Post Affiliate Pro Post Affiliate Pro [7] je glavna konkurenca idevaffiliate sistemu. Je zelo dodelana celovita rešitev, ki omogoča ogromno prilagoditev, vendar zahteva več tehničnega znanja kot pa druge rešitve. S tem omogoča tudi reševanje problemov in prilagoditve, ki so pri večini ostalih sistemov nemogoče. Prednosti: Izjemno visoka stopnja prilagoditev. Možnost implementacije na več različnih spletnih strani (znotraj ene namestitve). Dobra podpora za večnivojske partnerske programe. Fleksibilna možnost plačila (omogočajo licenco z enkratnim in mesečnim plačilom). Podprta z mobilno aplikacijo. Slabosti: Zahteva visoko stopnjo tehničnega znanja. Relativno dolga pot učenja v primerjavi z drugimi sistemi.

19 1.3. MOTIVACIJA IN PREGLED NALOGE Upravljano-gostovani partnerski sistemi V diplomski nalogi se bomo osredotočili na primerjavo upravljano-gostovanih sistemov. Ti sistemi so tudi zaradi njihovih prednosti osrednji del diplomske naloge. Upravljano-gostovani sistemi so se začeli na spletu pojavljati v zadnjih letih vzporedno z razvojem SaaS (Software as a Service) poslovnega modela in pojavom zavedanja prednosti rešitev v računalniškem oblaku. Ambassador Ambassador [8] je verjetno najbolj razširjena in priljubljena rešitev partnerskega sistema v oblaku, ki omogoča vse osnovne funkcionalnosti partnerskega sistema in je relativno enostavna za implementacijo. Ambassador je nastal leta 2010, vendar se je dobro razširil šele v zadnjih dveh letih. Prednosti: Enostavna integracija. Prijazen uporabniški vmesnik. Dobra podpora osnovnim partnerskim funkcionalnostim. Slabosti: Visoka cena mesečni paketi se začnejo pri 200 USD na mesec. Ozek nabor možnih dodatnih prilagoditev (še posebej glede na ceno). 1.3 Motivacija in pregled naloge V uvodu smo spoznali prednosti in slabosti obeh vrst partnerskih sistemov. Glavni del naloge pa je posvečen razvoju partnerskega sistema, s katerim želimo odpraviti nekatere omejitve obstoječih rešitev (prekompleksno funkcionalnost za večino primerov, nefleksibilnost sistemov in visoke cene uporabe) in narediti korak naprej pri enostavnejši integraciji z obstoječimi sistemi.

20 6 POGLAVJE 1. UVOD Drugo poglavje obravnava načrt razvoja sistema. V poglavju bomo predstavili agilen razvoj [9] in metodologije, ki omogočajo učinkovit razvoj podobnih aplikacij ali programskih rešitev. Predstavili bomo tudi programski jezik Ruby, podporno okolje Ruby on Rails [10] in vse ostale tehnologije in orodja, ki bodo uporabljene pri realizaciji naše programske rešitve. V tretjem poglavju bomo opisali konkretno izvedbo načrta. Izvedba bo predstavljena po delih, obenem pa bodo prikazane tudi različne iteracije in razvoj projekta po posameznih delih funkcionalnosti. V četrtem poglavju bomo prikazali uporabo končnega izdelka in integracijo s ostalimi sistemi. V zadnjem, petem poglavju zaključujemo s pridobljenimi izkušnjami, ugotovljenimi napakami in načrtovanimi popravki. Za konec bomo pregledali še različne možnosti za nadaljni razvoj, izboljšave na partnerskem sistemu, kot tudi tržni pristop, promocijo tovrstnega orodja na spletu ter učne lekcije.

21 Poglavje 2 Načrt 2.1 Metodologije razvoja V tem delu bomo predstavili različne metodologije razvoja, po katerih smo se ravnali ob razvoju programske rešitve. Metodologija [11] je skupek metod, principov in pravil, ki jih uporabimo na nekem področju z namenom regulacije postopkov. Določa jo analiza glavnega dela metod in principov povezanih z znanjem, ki je bilo pridobljeno na tem področju dela. Pri razvoju programske opreme metodologijo razvoja lahko definiramo kot razdelitev procesa razvoja v različne faze (korake), ki vsebujejo aktivnosti z nameom oziroma ciljem boljšega načrtovanja in upravljanja razvoja. V glavni razdelitvi metodlogije glede na težavnost (slika 2.1) ločimo na agilne in planske metodologije [12]. Agilne metodologije uporabimo, kadar imamo odgovorne, disciplinirane in izkušene razvijalce, nepredvidljive in spreminjajoče zahteve ter stranko, ki je odprta za načine dela, ki zahtevajo aktivno sodelovanje in je pripravljena sodelovati pri razvoju programske rešitve. Planske metodologije uporabimo, ko imamo opravka z relativno kompleksnimi sistemi in rešitvami, imamo manj izkušene razvijalce in ko imamo opravka z naročnikom, ki zahteva visoko stopnjo formalnosti (dokumentira- 7

22 8 POGLAVJE 2. NAČRT Slika 2.1: Prikaz metodologij

23 2.1. METODOLOGIJE RAZVOJA 9 nosti projekta) Agilen pristop Osnovni principi agilnih metod [9] so: prilagajanje in kontroliranje na konstantni bazi in filozofija, ki stremi k timskem delu in spodbujanju ter samoorganizaciji skupine oziroma posameznikov, ki delajo na posameznem projektu. Agilne metode so sestavljene iz najboljših praks, ki omogočajo hiter in učinkovit razvoj ter poslovni pristop, ki omogoča hitre in učinkovite prilagoditve rešitev končnemu uporabniku. Agilne metode se značajsko precej razlikujejo od tradicionalnih načrtnousmerjenih, planskih metod razvoja [12]. Najizrazitejša razlika je, da se tovrstne metode fokusirajo k manj popolni dokumentaciji za dani problem in so osredotočene bolj na sam razvoj (pisanju kode ali ostalim aktivnostim, katerih rezultat je programska oprema). Posledica takšne filozofije je, da pri razvoju projekta hitreje pridemo do uporabnih rezultatov in rešitev, se hitreje prilagodimo na dejanske probleme uporabnika (in trga), saj pri tovrstnem razvoju sodelujemo neposredno s končnim uporabnikom. Zahteve oziroma potrebe hitreje prilagodimo na bolj optimalen način kot pri tradicionalnih metodah razvoja. Zaradi narave in načel agilnih metodlogij so takšne metode primerne predvsem za manjše razvojne skupine, kjer lahko člani med seboj učinkovito komunicirajo in imajo več izkušenj. Osnovne vrednote agilnih metod, ki so jih avtorji definirali (manifest agilnih metodologij [14]) so: Posamezniki in interakcije so pomembnejše od procesov in orodij. Delujoča programska oprema je pomembnejša od popolne dokumentacije. Sodelovanje s stranko je pomembnejše od pogodbenih pogajanj.

24 10 POGLAVJE 2. NAČRT Odzivnost na spremembe je pomembnejša od togega sledenja načrtom. Ob tem zapišimo še 12 principov agilnega razvoja [14]: Naša najvišja prioriteta je zadovoljiti stranko s hitrim in nepretrganim izdajanjem funkcionalnosti programske opreme. Sprejemamo spremembe zahtev, celo v poznih fazah razvoja. Agilni procesi vprežejo tovrstne spremembe v prid konkurenčnosti naše stranke. Delujočo programsko opremo izdajamo pogosto, znotraj obdobja nekaj tednov, do nekaj mesecev, s preferenco po krajšem časovnem okvirju. Poslovneži, naročniki in razvijalci morajo skozi celoten projekt dnevno sodelovati. Projekte gradimo okrog motiviranih posameznikov. Omogočimo jim delovno okolje, nudimo podporo in jim zaupamo, da bodo svoje delo opravili. Najboljša in najučinkovitejša metoda posredovanja informacij razvojni ekipi in znotraj ekipe same je pogovor iz oči v oči. Delujoča programska oprema je primarno merilo napredka. Agilni procesi promovirajo trajnostni razvoj. Naročniki, razvijalci in uporabniki morajo biti zmožni konstantnega tempa za nedoločen čas. Nenehna težnja k tehnični odličnosti in k dobremu načrtovanju izboljša agilnost. Preprostost umetnost zmanjševanja količine nepotrebnega dela je bistvena. Najboljše arhitekture, zahteve in načrti izhajajo iz tistih ekip, ki so samoorganizirane.

25 2.1. METODOLOGIJE RAZVOJA 11 Slika 2.2: Prikaz metodologije Scrum V rednih časovnih razdobjih ekipa išče načine, kako postati učinkovitejša ob rednem prilagajanju svojega delovanja. Obstaja veliko agilnih metodologij, vendar se bomo v diplomski nalogi osredotočili na Scrum metodologijo, saj je ta najbolj primerna in relevantna za tovrstne projekte in način razvoja Scrum Scrum [15] je bolj znana agilna metodologija, ki se navadno uporablja pri upravljanju projekta oziroma programskega razvoja. Pogosto se Scrum dojema kot metodologijo, a v resnici je bolj podporno ogrodje pri upravljanju procesa razvoja programske rešitve [9]. Scrum definira fleksibilni in holistični pristop pri razvoju programske opreme, kjer razvojna ekipa deluje kot enota, da doseže določen zastavljeni cilj (slika 2.2). Metodologijo lahko razumemo kot odgovor na tradicionalne, sekvenčne metodologije in njihove predpostavke, ki so v določenih pogojih zelo okorne in neprimerne za doseganje učinkovitega razvoja.

26 12 POGLAVJE 2. NAČRT Scrum spodbuja tesno in aktivno sodelovanje med vsemi člani ekipe [18], zato je metodologija primerna za manjše in izkušene ekipe. Ključni princip metodologije je zavedanje, da se med razvojnim procesom zahteve razvoja (oziroma zahteve uporabnikov) lahko spremenijo in da nepredvidljive situacije ne morejo vedno biti predvidene in pričakovane, kot predvidevajo tradicionalne planske razvojne metode, ki se zaradi tega bolj posvečajo pripravi dokumentacije. Scrum zagovarja empirični pristop, ki sprejema predpostavko, da problem ne more biti v celoti razumljen. Zato je bolj pomembno osredotočanje na maksimiziranje zmožnosti ekipe, da čimprej priskrbi osnovno funkcionalnost, na podlagi katere reagira na dodatne potrebne spremembe in razširitve, ki se skozi uporabo osnovne verzije ob aktivnem sodelovanju končnega uporabnika pokažejo. Zgradba Projekti, ki jih vodimo po Scrum metodologiji napredujejo skozi zaporedje delov, ki jih imenujemo sprinti ali interacije [18]. Običajno je priporočena dolžina trajanja sprinta konstantne dolžine in navadno traja od 1 do 4 tedne ali največ 1 mesec. Cilj vsakega sprinta je načrtovan, izdelan in prezkušen izdelek oziroma njegov del. Navadno med sprintom ne sprejemamo sprememb. Če želimo spremembe na projekt pogosteje uvajati, uvedemo za delo na projektu krajše sprinte, ki nam omogočajo krajše povratne zanke dela. Vloge V Scrum metodologiji dodelimo vloge osebam, ki sodelujejo pri razvoju. Scrum ponavadi vsebuje 3 glavne vloge. Te vloge so: Lastnik produkta predstavlja investitorje in ostale lastnike, naročnike produkta. Je glas uporabnikov ter odgovorna oseba za opredelitev lastnosti izdelka. Skrbi, da ekipa z razvojem rešitve ustvarja ROI (Return On

27 2.1. METODOLOGIJE RAZVOJA 13 Investment). Običajno lastnik produkta napiše uporabniške zgodbe (zahteve). Lastnik produkta je eden in se načeloma naj ne bi vpletal v delo ekipe oziroma tehnični razvoj, saj je to vloga Scrum vodje. Razvojna ekipa je odgovorna za dostavo delov produkta (angl. P.S.I.) na koncu vsakega sprinta. Ekipo navadno sestavlja od 3 do 9 posameznikov, ki opravljajo konkretno delo (dizajn, programiranje, načrtovanje, testiranje, komunikacija ipd.). Ekipe so samo-organizirane, z vsemi znanji, ki jih delo na projektu zahteva. Scrum vodja (angl. Scrum master) skrbi za izvedbo Scrum metodologije znotraj ekipe. Je oseba, ki je odgovorna za odpravljanje ovir za tekoče in nemoteno dostavljanje delov produkta in splošno delo na produktu. Vloga Scrum vodje ni samo tradicionalna vloga vodje projekta, pač pa ima bolj obširno vlogo, ki se razprostira od ustreznega izvajanja metodologije, do povezovanja članov ekipe, spodbujanja k izboljšanju in skrbi za zmanjšanje motečih dejavnikov na ekipo. Sestanki Ključni del metodologije so sestanki, ki imajo različne namene: Planiranje sprinta obsega določanje prioritet z vidika analize in ocene dnevnika izdelka. V sklopu planiranja sprinta se odloči, kako želimo doseči cilje sprinta (planiranje) skozi dnevnik sprinta, ki obsega opravila, pri čemer izhajamo iz uporabniških zgodb (zahtev). V tem delu predvidimo trajanje dnevnika sprinta (navadno v urah). Planiranje sprinta poteka tako, da razvojna ekipa izbere posamezne postavke dnevnika izdelka, ki jih bodo izdelali v izbranem sprintu. Na podlagi teh postavk se izdela dnevnik sprinta, v katerem so identificirana posamezna opravila v časovnem obsegu od 1 do 16 ur. Dnevnik sprinta izdela razvojna ekipa s pomočjo Scrum vodje. Dnevni sestanek je namenjen hitremu obveščanju o poteku dela med člani razvojne ekipe in pomaga, da člani ekipe dobijo občutek, kaj je od

28 14 POGLAVJE 2. NAČRT prejšnjega sestanka bilo narejeno. Glavni predmet tega sestanka je pogovor o tem, kaj je vsak član naredil včeraj, kaj planira za danes in hkrati informiranje o doseganju ciljev ter morebitnih težavah, s katerimi se posamezni član sreča. Na dnevnem sestanku se lahko dopolni dnevnik sprinta in navadno traja do 15 minut. Retrospektiva sprinta je kritično samo-ocenjevanje skupine in preverjanje tega kaj deluje in kaj ne. Na retrospektivi sodeluje celotna razvojna ekipa in se opravi na koncu vsakega sprinta. Ponavadi traja od 15 do 30 minut, ekipa pa se na njem pogovori tudi o tem, katero delo bi radi pričeli, prenehali ali nadaljevali naprej. Pregled sprinta je namenjen temu, da razvojna ekipa predstavi, kaj je bilo doseženo med sprintom. Gre za neformalno predstavitev, katere priprava lahko traja navadno do 2 uri in poteka brez prosojnic. Sestanek je namenjen vsem udeležencem, katerim se navadno v obliki demonstracije prikaže nove lastnosti, arhitekturo oziroma posodobitve, ki so bile opravljene na nekem izdelku. Prilagojen pristop V diplomski nalogi smo uporabili prilagojeno verzijo Scrum metodologije, saj smo programsko rešitev razvijali po lastnih zahtevah, zato smo imel hkratno vlogo lastnika produkta, razvojne ekipe in Scrum vodje. Projekt smo vodili sami, sledili pa smo ostalim praksam in priporočilom vodenja projekta po Scrum metodologiji [13]. Preden smo projekt začeli razvijati, smo napisali vse uporabniške zgodbe. Te zajemajo opis funkcionalnosti programske opreme iz vidikov vseh uporabniških vlog, ki bodo sistem uporabljale. Te so: promotor, lastnik izdelka, administrator. Posamezne uporabniške zgodbe smo razdelili v sprinte in jih ustrezno ovrednotili glede na število ur pričakovanega dela na posamezni uporabniški zgodbi.

29 2.1. METODOLOGIJE RAZVOJA 15 Pri delu in vodenju projekta smo si pomagali s orodjem Pivotal Tracker [16], ki omogoča vodenje in delo na projektu po metodologiji Scrum. Orodje omogoča zapis uporabniških zgodb in razporeditev v 3 glavne segmente: Current, Backlog, Icebox. Current obsega trenutne zgodbe, ki so bile narejene in čakajo potrditev iz strani lastnika produkta (čigar vlogo sem imel jaz), Backlog obsega zgodbe, na katerih bomo začeli delati v nadaljevanju dela na projektu, Icebox pa obsega zgodbe, katere so pomembne za nadaljni razvoj in niso ključnega pomena v danem trenutku Testno usmerjen razvoj Testno usmerjen razvoj (angl. test driven development) [17] je način razvoja programske opreme, ki temelji na programiranju testa (testov), ki opisuje novo funkcionalnost (zahtevo) ali določeno izboljšavo, nato pa se šele napiše minimalno količino kode rešitve, ki je potrebna, da je test uspešen. Na koncu ta del kode programer izboljša tako, da ustreza standardom kodiranja. Ta način razvoja naj bi spodbujal enostavne vzorce pisanja kode in samozavest razvijalca Uporabniške zgodbe V začetni fazi projekta smo opisali uporabniške zgodbe, kot jih priporoča Scrum metodologija [19]. Uporabniške zgodbe za našo rešitev zajemajo 3 različne vloge uporabnikov: Lastnik izdelka je uporabnik, ki storitev oziroma partnerski sistem uporablja za upravljanje in sledenje svojih promotorjev ter celotne statistike promocij svojih partnerjev.

30 16 POGLAVJE 2. NAČRT Promotor je uporabnik, ki sistem uporablja zato, da lahko spremlja svoje prodaje, izplačila in druge dejavnosti, kot so dostop do informacij. Administrator je uporabnik, ki skrbi in upravlja sistem ter ima pregled nad vsemi uporabniki (lastniki izdelkov in promotorji). Promotor (angl. affiliate) Uporabniške zahteve: Kot promotor se lahko registriram na spletni strani. Kot promotor lahko ustvarim novo promocijo za določen izdelek. Kot promotor lahko dobim promocijsko povezavo za določen izdelek. Kot promotor lahko promocijsko povezavo pošljem. Lastnik izdelka Uporabniške zahteve: Kot lastnik izdelka se lahko registriram na spletni strani. Kot lastnik izdelka lahko v sistem dodam nov izdelek. Kot lastnik izdelka lahko za dodan nov izdelek dobim kodo za enostavno spremljanje statistike na spletni strani, ki jo dodam v nogo HTML strukture. Kot lastnik izdelka lahko za določen izdelek dobim API žeton in skrivno kodo, katero uporabim na svoji platformi za klicanje API funkcij poročanja prodaj. Kot lastnik izdelka lahko izdelku določim privzeto provizijo za vsako prodajo izdelka.

31 2.2. UPORABLJENE TEHNOLOGIJE 17 Kot lastnik izdelka lahko posameznemu uporabniku prilagodim provizijo na prodan izdelek. Kot lastnik izdelka lahko spremljam količino prodanih izdelkov v časovnem obdobju. Kot lastnik izdelka lahko spremljam količino klikov poslanih na prodajno stran izdelka. Kot lastnik izdelka lahko spremljam količino registracij za posamezni izdelek (nekončanih nakupov). Kot lastnik izdelka lahko spremljam profit vseh promotorjev na posamezen izdelek. Kot lastnik izdelka, lahko označim, katere prodaje so bile izplačane in kakšen je bil znesek izplačil promotorjem. Administrator Uporabniške zahteve: Kot administrator lahko dostopam na administracijsko kontrolno ploščo. Kot administrator lahko vidim statistiko registriranih lastnikov izdelka in njihovih promotorjev. Kot administrator lahko urejam račune vseh ostalih registriranih uporabnikov (lastnikov izdelka in promotorjev). Kot administrator lahko urejam uporabnike in njihove uporabniške podatke. 2.2 Uporabljene tehnologije V tem poglavju bomo opredelili tehnologije (orodja in programske jezike), katere smo se odločili uporabiti za razvoj sistema.

32 18 POGLAVJE 2. NAČRT Ruby on Rails Ruby on Rails [10] je glavni programski jezik, ki smo ga uporabili na projektu. Ruby on Rails je ogrodje (angl. framework), ki temelji na programskem jeziku Ruby. Jezik je odličen iz vrste razlogov: Ima zelo lepo in ekspresivno sintakso. Predpisuje uporabo najboljših praks. Temelji na sistemu komponent (angl. gems). Omogoča hiter razvoj nginx, Postgresql, Puma Ostale tehnologije oziroma programska oprema, ki smo jo uporabili na projektu je sledeča: nginx Za servisiranje spletnih vsebin oziroma zahtevkov potrebujemo programsko opremo spletnega strežnika. Najbolj znana je programska oprema Apache, vendar smo se za ta projekt odločil uporabiti nginx [20], ki je zaradi hitrosti in kompatibilnosti z Ruby on Rails boljši. Postgresql Za bazo bomo uporabili objektno-relacijsko bazo Postgresql [27]. Za to bazo smo se odločili, ker je za tovrstni projekt najbolj primerna, saj deluje hitro v primerjavi z drugimi konkurenčnimi rešitvami in hkrati omogoča podporo različnim podatkovnim tipom (recimo Hstore, Json, Array) [28], ki nam delo olajšajo.

33 2.3. STRUKTURA BAZE 19 Ime entitete Ime objekta Opis Uporabnik User Opisuje splošnega uporabnika Izdelek Product Opisuje promocijski izdelek Promocija Promotion Opisuje posamezno promocijo Provizija Commission Opisuje provizijo pri prodaji Analitika Analytic Opisuje statistiko določenega dneva Izplačilo Payout Opisuje izplačilo provizije Administrator AdminUser Opisuje administratorja Obvestilo Ipn Opisuje dnevnik API zahtev Tabela 2.1: Entitete uporabljene na projektu Puma Za serviranje Ruby aplikacije programski opremi nginx potrebujemo tudi Ruby strežnik. Za rešitev smo uporabili strežnik Puma [21], ki pride v paketu komponent Ruby-a. Za Pumo smo se odločili, ker je najhitrejši Ruby strežnik, podpira pa tudi delo z nitmi (angl. threads). 2.3 Struktura baze Pri strukturi baze smo opredelili, katere entitete, attribute in podatkovne tipe ter relacije potrebujemo za realizacijo opisane funkcionalnosti. Entitete, ki smo jih uporabili, so prikazane v tabeli 2.1. Prikaz vseh relacij, atributov in podatkovnih tipov je podan na sliki Integracije z zunanjimi orodji V tem delu bomo opredelili delovanje sistema v okviru povezovanja z zunanjimi orodji in sistemi. Za boljšo preglednost je to poglavje razdeljeno na dva dela: Integracija s sistemi za vzpostavitev partnerskega sistema, ki zajema

34 20 POGLAVJE 2. NAČRT Slika 2.3: Končni ER diagram razumevanje, kako naš partnerski sistem fukcionira v sklopu povezovanja z ostalimi orodji, znotraj katerih ga lahko uporabimo. Integraciji z zunanjima orodjema za lažji vpogled v delovanje sistema, ki nam pomagata pri učinkovitem spremljanju aplikacije za spremljanje učinkovitosti delovanja in spremljanja uporabnikov (analitike) Integracija s sistemi za vzpostavitev partnerskega sistema Ideja našega partnerskega sistema je, da ga lahko enostavno integriramo v obstoječe rešitve, predvsem SaaS aplikacije in spletne trgovine (angl. e- commerce). Integracija je sestavljena iz dveh delov [22]: Integracija na aplikacijski strani (angl. frontend)

35 2.4. INTEGRACIJE Z ZUNANJIMI ORODJI 21 Integracija na strežniški strani (angl. backend) Integracija na aplikacijski strani poteka tako, da na njo namestimo Javascript kodo, ki izvrši posodabljanje statistike o obiskih, napotitvah in namestitvi piškotka na stran uporabnika, da ga lahko ustrezno zaznamo in njegovo registracijo oziroma nakup pripišemo ustreznemu promotorju ob končni akciji. Integracija na strani strežnika je integracija, ki jo navadno napravimo znotraj kode, ki se izvaja na strani strežnika oziroma bolj poredko na strani odjemalca (brskalnika). Ta del definira API klice ob dveh ključnih akcijah: ko uporabnik opravi registracijo in ko uporabnik kupi poljuben izdelek. Ob koncu projekta bo za lažjo integracijo na strani strežnika napisana tudi Ruby knjižica, ki se za še hitrejšo integracijo lahko enostavno vključi v projekt in uporabi njene že napisane klice Integraciji z zunanjima orodjema za lažji vpogled v delovanje sistema Za lažje spremljanje dogajanja na aplikaciji in spremljanja uporabnikov želimo uporabiti dve ključni orodji, ki nam bosta olajšali delo in vpogled v delovanje. AppSignals AppSignals [23] je storitev v oblaku, ki nam omogoča enostavno spremljanje napak v aplikaciji. V primeru, da se na aplikaciji zgodi neka napaka, se ta pošlje v naš AppSignal račun in zabeleži s čimveč podatki in kontekstu te napake. Tako je spremljanje napak in njihovo odpravljanje dosti lažje. Poleg spremljanja napak pa nam to orodje omogoča tudi enostavni pregled nad hitrostjo in učinkovitostjo dela aplikacije (hitrost delovanja strežnika in čas posameznega zahtevka), kar nam omogoča, da lahko kakšne nepravilnosti pravočasno zaznamo in odpravimo.

36 22 POGLAVJE 2. NAČRT Mixpanel Mixpanel [5] je napredna analitična rešitev, ki nam omogoča spremljanje oziroma sledenje uporabnikom in njihovemu obnašanju. Z njim lahko enostavno vidimo, kako se posamezen uporabnik vede znotraj naše aplikacije in kaj so njegove značilnosti. Sami lahko definiramo različne parametre in vrednosti, ki so za nas pomembne pri uporabi določene aplikacije; v našem primeru je to: tip uporabnik, število promocij, število prodaj, vsota zaslužkov ipd. Mixpanel nam poleg tega omogoča tudi avtomatizacijo promocijskih aktivnosti. Tako lahko recimo uporabniku, ki se že več kot 10 dni ni vpisal v aplikacijo in še ni ustvaril promocije, enostavno pošljemo elektronsko sporočilo in ga nagovorimo naj to opravi. S tem povečamo možnost učinkovite vpeljave uporabnika v našo aplikacijo.

37 Poglavje 3 Razvoj V tem poglavju smo prikazali, kako je potekal razvoj partnerskega sistema. V prvem delu bomo predstavili ključne funkcionalnosti aplikacije, nato bomo prikazali, kako se je ta funkcionalnost razvijala skozi sklope razvoja, na način, ki smo ga predstavil znotraj Scrum metodologije. Na koncu bomo pogledali, kako je potekala postavitev strežnika in namestitev na produkcijsko okolje. 3.1 Razvoj funkcionalnosti sistema Začetek razvoja je bil zasnovan na posameznih glavnih sklopih funkcionalnosti, katere lahko razdelimo na 3 ključne dele: Upravljanje uporabnikov Prva ključna funkcionalnost je upravljanje uporabnikov, ki zajema registracijo uporabnika (lastnika izdelka oziroma promotorja) ter v ozadju administracijo vseh teh uporabnikov. Po tem, ko je bila znana struktura in zasnova podatkovne baze (relacije in vsi potrebni podatki), smo pričeli z implementacijo logike za registracijo in prijavo uporabnikov. Za Ruby on Rails obstaja komponenta imenovana Devise [24], ki omogoča poenostavljeno implementacijo uporabniške logike za 23

38 24 POGLAVJE 3. RAZVOJ registracijo in prijavo v aplikacijo. Devise podpira zelo širok nabor naprednih funkcionalnosti (kot so oauth [26], integracije z zunanjimi avtentikacijskimi skrbniki), vendar smo v našem primeru potrebovali le osnovno funkcionalnost. Zatem smo namestili še paket ActiveAdmin [25], ki omogoča hitro in učinkovito postavitev administracijskega vmesnika. Sledila je osnovna konfiguracija in prilagoditev obeh dodatkov glede na našo željeno funkcionalnost. Devise smo prilagodili tako, da sprejme vsa dodatna polja, ki jih pri našem sistemu potrebujemo (ime, priimek, PayPal naslov za plačila ipd.) ter ActiveAdmin prilagodil tako, da omogoča pregled nad vsemi uporabniki in njihovo urejanje Spremljanje statistik Druga ključna funkcionalnost je bila logika okoli funkcionalnosti spremljanja statistik. Odločili smo se za zasnovo, ki minimizira podvojene zapise v bazi in omogoča učinkovit pregled nad dnevnimi statistikami. Vsaka promocija ima asociacijo na analitiko (entiteta Analytic), ki v posameznem zapisu definira število ogledov, unikatnih ogledov, vpisov in prodaj za posamezen dan. Tako imamo podatke urejene po dnevih, kar nam omogoča osnovni pregled za dogajanje nad statistikami. Nad zapisi lahko enostavno izvajamo matematične operacije (seštevke, povprečja ipd.) v posameznih obdobjih API Integracije V strežniškem delu aplikacije želimo imeti možnost API klicev, ki nam omogočajo, da posamezne klice zapisovanja statistik lahko kličemo poljubno glede na željen dogodek v sistemu, ki ga povezujemo z našim partnerskim sistemom. Tako sta osnovni funkciji, ki jih želimo imeti:

39 3.2. PREGLED ITERACIJ RAZVOJA 25 Track event zabeleži posamezen dogodek, kot je recimo registracija (angl. signup) ali ogled (angl. view). Track charge zabeleži nakup izdelka. 3.2 Pregled iteracij razvoja V tem delu bom predstavil posamezne interacije (sprinte) za razvoj projekta in jih razgradil glede na potek in spremembe, ki so sledile, ko sem naletel na določene težave in probleme. Za beta različico projekta sem planiral 6 iteracij, za katere sem zaradi večje agilnosti predvidel povprečno dolžino enega tedna [13]. Ker sem na projektu delal sam, so nekateri sprinti potekali malenkost drugače, kot pa bi v primeru, če bi jih izvajali znotraj ekipe v standardni obliki, saj sem sam izvajal tudi vlogo Scrum masterja in lastnika produkta. Seznam iteracij (tabela 3.1) je predstavljen na način, da v levem stolpcu opredeli planirano delo za to obdobje, v nadaljevanju pa so opisane spremembe oziroma nepričakovane stvari, ki so vplivale na dejanski razvoj projekta. V nadaljevanju podajam opis posameznih interacij Teden 1: Priprava na razvoj, implementacija uporabniške prijave V prvem tednu sem se osredotočil na pripravo okolja in pripravo podatkovne baze ter modelov za delo na projektu. Priprava okolja je zajemala namestitev in kreiranje novega Rails projekta, kateremu sem namestil vse osnovne komponente in programsko opremo, ki je potrebna za razvoj. Poleg komponent (angl. gems) sem namestil tudi Postgresql bazo, za katero sem se odločil zaradi dobre podprtosti na vseh sistemih ter možnostjo zapisa podatkovnega tipa zgoščene tabele (hstore) [28].

40 26 POGLAVJE 3. RAZVOJ Št. Plan iteracije Spremembe / opombe 1 Vzpostavitev okolja. Definiranje strukture baze in razrednih modelov. Implementacija uporabniške prijave. 2 Pisanje osnovne logike promocij. Implementacija adminstratorskega vmesnika. 3 Delo na osnovnem uporabniškem Implementacija uporabniškega vmesniku. Dodajanje vlog uporabnikov (razlike med vlogami). dela je zahte- vala nekaj sprememb na device komponenti. 4 Implementacija API klicev. Delo na Javascript kodi za namestitev na uporabniški del. 5 Integracija z Mixpanel in Appsignalsboljšavah Aktivno delo na iz- in testiranje. Sprememba strežnika na Puma komponento (angl. gem). Delo na službah za procesiranje v ozadju (komponenta sidekiq). Delo na analitiki za administratorja. 6 Priprava produkcijskega strežnika. Priprava skript za namestitev aplikacije na strežnik (angl. deploy). Možnost dodajanja izdelkov za testiranje na testnem okolju. 7 Integracija partnerskega sistema v aplikacijo RankTrackr. Testiranje sistema na produkcijskem okolju. Tabela 3.1: Seznam iteracij

41 3.2. PREGLED ITERACIJ RAZVOJA 27 Sledilo je pisanje migracij, ki nam v Ruby on Rails služijo definiranju baze: podatkovnih tipov, relacij in atributov modelov. Posebnost migracij je, da nam omogočajo enostavno spreminjanje arhitekture baze glede na fazo projekta [29]. Tako lahko strukturo in razvoj baze enostavno spremljamo in premaknemo tudi nazaj v čas, kar je zelo koristno za agilni razvoj, saj omogoča veliko fleksibilnosti. Postavili smo tudi osnovo za uporabniško prijavo. Uporabili smo zelo poznano komponento imenovano Devise, ki nam delo poenostavi in omogoča veliko dodatne funkcionalnosti. V našem primeru potrebujemo le enostavno registracijo in prijavo z identifikacijo uporabnika preko e-poštnega naslova. Poleg osnovnih podatkov o uporabniku smo morali naredili nekaj prilagoditev na komponenti, tako da sprejme vse podatke, ki jih o posameznem uporabniku potrebujemo Teden 2: Logika modelov in implementacija administracijskega vmesnika Logika modelov V drugem tednu smo se posvetili logiki modelov. To delo je zajemalo definiranje metod znotraj modelov, ki jih aplikacija uporablja (primer je na sliki 3.1). Poleg metod smo definirali tudi validacijske nastavitve za zapisovanje v bazo, relacije in obnašanje modelov v različnih kontekstih, ko se instanca na novo ustvari ali zapiše v bazo. Administracijski vmesnik S pomočjo komponente Activeadmin smo pripravili osnovo za administracijski vmesnik (slika 3.2). Definirali smo vidnost modelov, ki jih uporabljamo osnovne podatke, ki jih želimo vidne na nivoju zbirke in posameznega zapisa uporabnika (User), provizije (Commission), produkta (Product) in promocije (Promotion).

42 28 POGLAVJE 3. RAZVOJ Slika 3.1: Logika razreda Provizija (angl. Commission) Slika 3.2: Administracijski vmesnik

43 3.2. PREGLED ITERACIJ RAZVOJA 29 Slika 3.3: Uporabniški vmesnik Teden 3: Uporabniški vmesnik, vloge uporabnikov Uporabniški vmesnik Pripravili smo tudi predlogo za uporabniški vmesnik (slika 6). Uporabili smo komponento Foundation [30], ki zajema skupek HTML in CSS elementov ter komponent za uporabniški vmesnik. Na osnovni knjižice smo definirali osnovno postavitev elementov in izgled aplikacije. Razlikovanje uporabnikov Ker želimo omogočati različnim uporabnikom različne funkcionalnosti (recimo lastnik produkta mora imeti možnost urejanja izdelkov in pregled nad promotorji) je bilo potrebno uporabniški prijavi prirediti nekaj logike. Odločili

44 30 POGLAVJE 3. RAZVOJ smo se, da v tabelo uporabnikov dodamo nov atribut product_owner, ki loči med promotorji in lastniki izdelkov. Za administratorja smo se odločili za ločevanje na drugem nivoju in za njega obstaja poseben razred AdminUser, saj je tovrstno razlikovanje najbolj smiselno (administrator je nad ostalimi uporabniki in je redko v drugih vlogah) Teden 4: API funkcionalnost, Javascript koda za uporabniško stran API V tem tednu smo pozornost posvetili implementaciji API funkcionalnosti. Pri tem smo se držali priporočil in dobrih REST praks [31], tako da smo te definirali znotraj naslova /api/v1/<posamezen klic>. Klici omogočajo osnovne funkcionalnosti beleženja dogodkov: track_event za beleženje posameznih akcij (ogled, registracija) in track_charge za beleženje posameznih nakupov izdelkov. Za avtentikacijo je potrebna uporaba skrivnega ključa, ki ga uporabnik dobi potem, ko doda nov izdelek v sistem. Za tovrsten način avtentikacije smo se odločili, ker je enostaven in učinkovit ter najbolj primeren glede na naše preproste API zahteve. Javascript koda Za doseg ciljev projekta (enostavno uporabo in implementacijo v obstoječe rešitve) potrebujemo tudi Javascript kodo, ki jo uporabnik lahko enostavno namesti na spletno stran. Funkcija te skripte je, da ko uporabnik pride prek promocijske povezave na npr. ta vstavi piškot na njegov računalnik, ki zabeleži skrajšan niz promotorja (v tem primeru xy), ki je tega uporabnika napotil na to stran, hkrati pa se zabeleži ogled te strani. V primeru, da uporabnik s piškotom, ki je nameščen v njegov brskalnik

45 3.2. PREGLED ITERACIJ RAZVOJA 31 opravi nakup, sistem ustrezno pripiše vrednost nakupa promotorju, ki je tega uporabnika napotil na spletno stran in ustrezno izračuna provizijo. Pričakovali smo, da bomo to skripto končali v enem tednu, vendar pa se je čas pisanja nekoliko zavlekel še v naslednji teden, saj se je izkazalo, da je zadevo bolj kompleksna koda se mora poganjati v izolaciji, saj nočemo, da v kolikor na strani pride do napake v drugi nameščeni skripti, da ta napaka vpliva na delovanje naše knjižice. Poleg tega za pomoč uporabljamo knjižico jquery [32], ki določene klice poenostavi. Posebej pozorni moramo biti v primeru, če je jquery že nameščen na spletno stran, kar je zelo pogosto. V tem primeru je potrebno ustrezno izolirati našo instanco od jquery-a [33] Teden 5: Integracije, Puma, procesiranje v ozadju, analitika za administratorja Integracije V tem tednu smo se posvetili integraciji zunanjih rešitev Mixpanel in Appsignals. Za integracijo s Mixpanel smo za osnovo uporabili komponento Mixpanel, ki nam omogoča enostavno inicializacijo objekta preko katerega kličemo posamezne dogodke (angl. events) in nastavljano uporabniške lastnosti. Posebnost te komponente je, da uporablja Rails rack, kar nam omogoča, da pred izvršitvijo funkcije kontrolerja nastavimo, kateri dogodek želimo v Mixpanel poslati in ta poskrbi, da se ustrezna Javascript koda vstavi v stran, ki je prikazana uporabniku. Vsaka akcija uporabnika znotraj aplikacije je prek kontrolerjev ustrezno posredovana na Mixpanel, kar nam omogoča enostavno sledenje njihovega obnašanja in načinov uporabe. Na drugi strani nam integracija s storitvijo Appsignals omogoča, da se vse napake, ki se zgodijo na strežniku ustrezno zabeležijo z vsemi podatki na Appsignals strežniku, kar nam olajša spremljanje in sledenje težavam ter učinkovito odpravo napak.

46 32 POGLAVJE 3. RAZVOJ Puma Na začetku projekta smo za osnovni vmesnik s nginx strežnikom uporabljali komponento Unicorn, vendar pa smo po prebiranju literature in lastnih ugotovitvah odkrili, da ni tako učinkovit v določenih scenarijih, saj ne podpira niti. Zato smo ta vmesnik zamenjali s komponento Pumo, ki je novejši produkt Rails skupnosti in pridobiva veliko pozornosti. Procesiranje v ozadju Upoštevajoč dejstva, da določena akcija, odvisna od drugih zunanjih strežnikov, lahko zaradi odvisnosti traja dlje kot smo pričakovali (ali pa se zaradi nedosegljivosti strežnika sploh ne izvrši uspešno), želimo vpliv teh akcij na uporabniško izkušnjo in stabilnost sistema zmanjšati, zato smo se za rešitev problema odločili uporabiti procesiranje v ozadju. Primer, ko potrebujemo takšno obvladovanje situacije: ko na strežniški strani (v kontekstu API dostopa, kjer ne moremo izvrševati Javascript klicev na uporabniški strani) kličemo Mixpanel API iz kontrolerja oziroma razreda aplikacije, ker želimo uporabniku posodobiti določeno lastnost. Uporabili smo odprtokodno rešitev Redis [34], ki je spominska podatkovna struktura, ki jo lahko uporabljamo za medprocesno komuniciranje ter komponento Sidekiq [35], ki nam omogoča lažjo implementacijo procesiranja opravil v ozadju. Takšna rešitev nam omogoča, da lahko statične metode na razredih kličemo z metodo delay, ki klic metode preda v izvrševanje v ozadje. V primeru, da se klic ne zaključi uspešno (javi izjemo), se klic ponovi maksimalno 3, vsakič v daljšem intervalu. Del kode, kjer uporabljamo takšen pristop je v modelu uporabnika User, prikazan na sliki 3.4.

47 3.2. PREGLED ITERACIJ RAZVOJA 33 Slika 3.4: Primer izvrševanja v ozadju

48 34 POGLAVJE 3. RAZVOJ Analitika za administratorja V administracijskem vmesniku želimo boljši pregled nad uporabo sistema, posameznih uporabnikov in promocijami. Prišli smo do elegantne rešitve, ki nam omogoča, da velik del kode abstraktno uporabimo na več delih, kjer potrebujemo podobne analitične povzetke. Ruby on Rails omogoča poseben koncept imenovan Concerns (skrbništvo) [37], ki nam omogoča, da določeno funkcionalnost razreda na enostaven način razširimo s tem, da v mapo /models/concerns dodamo ta razred. S tem namenom smo ustvarili skrbniški razred hasanalytics, ki nam omogoča, da nad zapisi in tabelami lahko izvajamo enotne in konsistentne analitične akcije, kot so: Total between seštevek rezultatov med dvema datumoma na posamezni celici. Period count seštevek zapisov med dvema datumoma Ti dve funkciji uporabljata privzeta created_at in updated_at časovni polji (angl. timestamp), ki jih Ruby on Rails privzeto priredi vsakemu izmed razredov. S takšno abstrakcijo lahko enostavno razširimo uporabnost razreda. To dosežemo tako, da nad skupino zapisov posameznega razreda izvedemo matematične operacije, s čimer dobimo pregled ustvarjenih zapisov ali seštevkov določenih celic glede na določen datum. Za prikaz grafov smo uporabili znano knjižico Highcharts [38], ki je zelo fleksibilna in omogoča vse potrebne funkcionalnosti za risanje grafov. Tako lahko administrator enostavno vidi aktivnosti v sistemu v nadzorni plošči (slika 3.5) Teden 6: Priprava produkcijskega okolja in skript za namestitev aplikacije V tem tednu smo se osredotočili na pripravo strežnika za produkcijsko okolje ter skripte, ki nam bodo ob spremembah olajšale posodabljanje aplikacije in

49 3.2. PREGLED ITERACIJ RAZVOJA 35 Slika 3.5: Vizualizacija za administratorja namestitev na strežniku. Strežnik smo konfigurirali po priporočljivi Ruby on Rails VPS (Virtual Private Server) konfiguraciji in postavili na Linux Ubuntu operacijskem sistemu. Za namestitev oziroma uvajanje aplikacije si v Ruby on Rails pomagamo s skriptami za uvajanje. Podrobnosti konfiguracije strežnika in skript za uvajanje smo predstavili v naslednjem podpoglavju Priprava na produkcijsko okolje Teden 7: Integracija sistema v aplikacijo Rank- Trackr, testiranje v produkcijskem okolju V tem tednu smo se fokusirali na integracijo partnerskega sistema v obstoječo aplikacijo RankTrackr [39]. Ustvarili smo svoj uporabniški račun, dodali produkt RankTrackr in namestili Javascript kodo sistema na spletno stran RankTrackr-ja. Potrebnih je bilo tudi nekaj sprememb v strežniškem delu aplikacije. Za lažjo integracijo smo napisali knjižico v Rubyu, ki omogoča enostavnejšo

50 36 POGLAVJE 3. RAZVOJ integracijo v podobne aplikacije in nam ponuja vse potrebne metode, ki jih potrebujemo za integracijo. Podrobnosti o testiranju na produkcijskem okolju so podane v poglavju 4.3 Test na produkcijskem okolju. 3.3 Priprava na produkcijsko okolje Konfiguracija strežnika Na strežniku teče Linux Ubuntu 14.04, saj je široko podprt operacijski sistem in ga podpira velika večina vseh VPS (Virtual Private Server) ponudnikov. Kot ponudnika gostovanja smo izbrali Digitalocean [41]. Zelo všeč nam je njihova platforma, ta omogoča enostavno prilagajanje lastnosti strežnika, ki ga potrebuješ (v primeru, da se potrebuje več RAM-a, ni potreben nakup novega strežnika in migracija vseh stvari, pač pa se strežnik samo ugasne in počaka slabo minuto, da se proces konča). Na strežniku smo ustvarili novega uporabnika deploy, ki ga uporabljamo samo za dostop ob namestitvi in posodabljanju aplikacije. Na strežnik smo prav tako namestili rbenv [36] (okolje za upravljanje Ruby verzij na sistemu), nginx strežnik [20], Postgresql bazo [27] in Redis [34] Namestitev na strežnik V Ruby on Rails za namestitev aplikacije na strežnik uporabljamo tako imenovane deploy skripte, ki nam poenostavijo delo. Za tovrstno funkcionalnost smo uporabili obstoječo komponento imenovano Capistrano [40]. Capistrano vsebuje nekatere že definirane skripte, kot so premik datotek (preverjanje zadnje različice na Git repozitoriju [42] in osvežitev zadnjih sprememb), namestitev kompontent (angl. gems), zagon / zaustavitev / ponovni zagon strežnika Puma [21], nginx [20]. Našo skripto sem priredil tako, da omogoča uvajanje aplikacije v 2 okolji: produkcijsko okolje in uprizoritveno okolje, katerega lahko uporabimo za to,

51 3.3. PRIPRAVA NA PRODUKCIJSKO OKOLJE 37 da določene funkcionalnosti testiramo na produkcijskem strežniku preden jih začnemo uporabljati v produkciji. Naša osnovna skripta za nameščanje aplikacije (slika 3.6) je sestavljena iz naslednjih korakov: Preverjanje revizije iz Git-a [42] (preveri ali imamo zadnjo verzijo na Git strežniku). Zagon testov preveri, če se vsi testi pravilno izvedejo. Prenos datotek, namestitev kompontent, izvedba migracij (osnovni korak). Priprava datotek za nameščanje. Ponovni zagon aplikacije. Čiščenje začasnih datotek.

52 38 POGLAVJE 3. RAZVOJ Slika 3.6: Skripta za nameščanje aplikacije na strežnik

53 Poglavje 4 Uporaba V tem poglavju bomo predstavili primer uporabe partnerskega sistema in njegovo integracijo v obstoječo rešitev. 4.1 Končni izdelek Končni izdelek ponuja vso funkcionalnost, ki smo jo podali v zahtevah. Hkrati pa tudi enostavno integracijo v obstoječe platforme tako v SaaS (Software as a Service) aplikacije, kot tudi e-trgovine in ostale rešitve. 4.2 Integracija v obstoječo rešitev Cilj razvoja partnerskega sistema je bil uporaba v naših obstoječih aplikacijah, zato smo jo integrirali v aplikacijo RankTrackr [39], ki je namenjena spremljanju pozicije strani na spletnih iskalnikih (slika 4.1). Z opisano nadgradnjo smo dosegli, da našo obstoječo aplikacijo lahko promovirajo drugi uporabniki in za to dobijo ustrezno nagrado. Spodnja slika (slika 4.1) prikazuje delovanje aplikacije RankTrackr v povezavi z nadgradnjo z razvitim partnerskim sistemom. Na prodajni strani imamo nameščeno skripto, ki na uporabnikov računalnik namesti piškotek, na podlagi katerega lahko ugotovimo, kdo je uporabnika na našo spletno stran napotil. V kolikor se ta upo- 39

54 40 POGLAVJE 4. UPORABA Slika 4.1: Shema delovanja sistema rabnik registrira in kasneje plača storitev, se to prek API integracije sporoči v naš partnerski sistem in ustrezno določi provizija, ki se pripiše promoterju, ki je uporabnika napotil na našo storitev. Poleg kreiranja novega projekta in dodajanja Javascript kode na uporabniški del spletne strani RankTrackr-ja, je bilo potrebnih tudi nekaj sprememb v strežniškem delu aplikacije. Za lažjo integracijo smo napisali knjižico v Rubyu, ki omogoča enostavnejšo integracijo v podobne aplikacije in nam ponuja vse potrebne metode za API klice, ki jih potrebujemo za integracijo. V našem primeru smo knjižico uporabili na dveh koncih: Ko se uporabnik registrira na aplikaciji, kličemo metodo track_event("signup"), ki nam zabeleži registracijo uporabnika. Ko dobimo obvestilo od PayPal, da je uporabnik opravil nakup, kličemo metodo track_charge, kateri podamo znesek in identifikacijo promotorja, ki je uporabnika napotil na stran.

55 4.3. TEST NA PRODUKCIJSKEM OKOLJU 41 Prav tako smo morali prilagoditi del ob registraciji, da ob uporabniku v bazo zapišemo njegov affiliate_id, v primeru, da obstaja piškot, ki se je nastavil, ko je uporabnika na spletno stran napotil nek promotor. 4.3 Test na produkcijskem okolju Za dokončno testiranje v produkcijskem okolju nam ne ostane nič drugega, kot da se na strani registriramo kot nov promotor in prek naše promocijske povezave opravimo registracijo ter nakup izdelka ter preverimo, če se vsi dogodki pravilno izvedejo in zapišejo v partnerskem sistemu. Poleg tega moramo biti pozorni tudi na obnavljajoče naročnine, pri katerih moramo paziti, da se rezultat oziroma obračun ustrezno zabeleži vsakič, ko se nekemu uporabniku avtomatično obračuna storitev. V našem primeru moramo ob vsaki obnovi naročnine klicati API metodo track_charge, ki se navadno zgodi v mesečnem intervalu, ko prejmemo IPN [43] obvestilo od PayPal. 4.4 Primer uporabe Marjan se ukvarja s spletnim marketingom že nekaj časa. Storitev Rank- Trackr mu je všeč, saj jo uporablja za svoje strani in tudi svoje stranke, hkrati pa ve, da bi lahko aplikacijo priporočal na svojem blogu ali svojim znancem in za to dobil primerno nagrado. Marjan se registrira v našem partnerskem sistemu. Naš sistem mu priredi povezavo, katero lahko uporabi, da z njo napoti svoje stranke ali znance na predstavitveno stran aplikacije RankTrackr. Ko določen uporabnik obvišče stran preko te povezave, ki vsebuje enolično določen parameter, ki označuje Marjana kot napotitelja, se na uporabnikov računalnik namesti piškot, ki hrani podatek o tem, kdo je tega uporabnika napotil na našo stran. Marjan storitev predlaga Mateju, tako da mu razloži uporabnost storitve in mu pošlje svojo povezavo za promoviranje izdelka. Matej se ne odloči

56 42 POGLAVJE 4. UPORABA za nakup takoj, vendar se vpiše na poštne novice in se na stran vrne čez nekaj dni. Tokrat se odloči za registracijo, in kasneje za nakup. Naš sistem ob registraciji preveri prisotnost piškota, ki opisuje, kdo je tega uporabnika napotil na našo storitev. V tem primeru ugotovi, da je to Marjan, in ta podatek ob registraciji zabeleži. Hkrati na naš partnerski sistem prek API vmesnika sporoči registracijo in plačilo, pri čemer zaračuna provizijo, ki jo Marjan pri tem dobi in ga o tem obvesti.

57 Poglavje 5 Zaključek V sklopu diplomske naloge smo na temelju modernih razvojnih metodologij razvili spletno aplikacijo, ki nam omogoča prodajo in upravljanje partnerskih programov naših lastnih produktov in aplikacij. V precej kratkem času se nam je pridružilo kar nekaj partnerjev, ki nam na mesečni bazi naslavljajo nove stranke in pomagajo pri prodaji izdelkov. S principi in filozofijo modernih razvojih metodologij nam je uspelo sistem razviti v razmeroma kratkem času in učinkovito prilagoditi glede na potrebe in omejitve tehnologij. Rezultat takšnega pristopa je izdelek, ki je v zelo kratkem času dosegel svoja pričakovanja in daje zelo dobro osnovo za nadaljni razvoj in prilagoditve glede na zahtevnejše potrebe na trgu. Ob relativno majhnem vložki dela nam je uspelo razviti fleksibilni sistem, ki z majhnimi posegi omogoča, da lahko storitev ali izdelek začnemo tržiti prek tržnih partnerjev. Obenem za tovrstno funkcionalnost nimamo nobenih dodatnih stroškov, razen stroške strežnikov, ki so minimalni. Poleg tega bi lahko v prihodnosti storitev začeli prodajati še drugim, ki jo potrebujejo. 5.1 Napake in popravki Pri razvoju in testiranju na projektu smo naleteli tudi na nekaj napak. Dve izraziti napaki, ki smo ju ugotovili šele na produkcijskem strežniku: 43

58 44 POGLAVJE 5. ZAKLJUČEK Slika 5.1: Prilagoditve kontrolerja za Javascript vtičnik Zapisovanje piškota Zapisovanje piškota na odjemalcu se ni izvedlo na celotnem domenskem prostoru (.domain.com), ampak samo za aktivno domeno oziroma poddomeno [44]. Posledica tega je bila, da se statistike niso ustrezno beležile, ko je uporabnik preklopil med poddomenami, saj se je podatek o njegovem promotorju (napotitelju) skril oziroma ni bil dosegljiv. Klici API funkcij iz Javascript vtičnika Težave so bile tudi s klicem API funkcij prek Javascript vtičnika, kjer uporabljamo Json oz Jsonp, da lahko sistemu pošljemo podatek o obisku strani. Težava je bila v tem, da Ruby on Rails po privzeti nastavitvi zahteva preverjanje avtentičnosti zahtevka, kar pa v primeru tega klica ne moremo zagotoviti. Zato je bilo potrebno za tovrstno obnašanje aplikacijo opremiti s povratno metodo in prilagojeno glavo odziva (slika 5.1) [45]. K sreči nam pri spremljanju napak pomaga AppSignal aplikacija (slika 5.2), ki nas o vsaki napaki obvesti po e-pošti, hkrati pa nudi seznam in detajle vseh napak, ki so se zgodile po zadnji uvedbi kode na strežnik. Pogoste so tudi napake, ki jih ne moremo odpraviti, saj na njih nimamo vpliva (so odvisne od ostalih uporabnikov oziroma napačne uporabe sistema) na primer: klic API funkcije s ključem, ki ne obstaja; dostop do zapisa, ki ga ni v bazi. Kljub temu da teh napak ne moremo odpraviti, je dobro, da smo o vseh teh napakah obveščeni in jih aktivino spremljamo, saj le tako lahko vidimo, če je z aplikacijo vse v redu.

59 5.2. NADALJNI RAZVOJ Nadaljni razvoj Slika 5.2: Aplikacija AppSignals V tem poglavju bomo opredelili možne izboljšave sistema in tržno strategijo, ki bi bila učinkovita pri prodaji rešitve Tehnične izboljšave Tehničnih izboljšav na projektu je precej, zato se bomo osredotočili na najpomembnejše funkcionalnosti, za katere menimo, da bi rešitev postavile daleč pred ostale obstoječe rešitve. Direktna integracija s PayPal V sistem bi bilo dobro neposredno integrirati PayPal tako, da bi lahko provizije direktno izplačevali našim promotorjem, ne da moramo izvažati podatke o provizijah in jih delno ročno procesirati. Sistem bi tako poskrbel za avtomatizacijo procesa, seveda pa bi morali dodati nekakšne varovalke, da bi to opravilo moral odobriti administrator oziroma ga časovno omejiti, da se lahko zgodi šele po roku, ko uporabniki od PayPal ne morejo več zahtevati

60 46 POGLAVJE 5. ZAKLJUČEK povračila plačila. Zaščita pred zlorabo Uporabniki trenutno lahko na različne načine zlorabijo sistem (kar je pomanjkljivost tudi pri drugih sistemih). To je možno narediti tako, da se registrirajo prek računa prijatelja, ustvarijo svoj partnerski račun in se sami vpišejo prek partnerske povezave. V tem primeru pridobijo povračilo dela stroškov za uporabniški račun. Za zaščito pred tovrstnimi scenariji imamo trenutno pogoj, da mora promotor pridobiti minimalno 2 različni stranki, preden lahko zahteva izplačilo. Ta pogoj do neke mere pomaga, vendar pa nikakor ne v absolutnem smislu. Kljub temu da popolna zaščita za tovrstne scenarije ne obstaja, bi lahko dodali napredno spremljanje IP naslovov in brskalnikov uporabnikov na zaznanih asociacijah med njihovimi računi. Podpora za več-nivojske partnerske programe Kompleksnejši partnerski sistemi omogočajo več-nivojske partnerske programe, kar pomeni, da lahko promotor pod sebe dobi več promotorjev in tako od vsakega prejme del provizij. Tovrstni sistemi so primerni za kompleksnejše promocije in promocijske mreže. Ta funkcionalnost pa bi omogočila tudi pridobitev pozornosti nekaterih drugih uporabnikov takšnih rešitev. Napredne zmožnosti zaračunavanja provizij V sistem bi bilo dobro vključiti tudi naprednejše zmožnosti zaračunavanja provizij. Trenutno omogočamo osnovne nastavitve zaračunavanja kot so: zaračunavanje na podlagi odstotka od celotnega zneska prodaje ali fiksnega zneska. Naprednejše možnosti bi omogočale nastavljanje zaporednih prodaj, na primer: pri prvi prodaji uporabnik prejme 10%, pri naslednji 12% itd. Sorodno bi lahko naredili tudi za zaporedje provizij fiksnih zneskov.

61 5.2. NADALJNI RAZVOJ Tržna strategija V tem delu bomo predstavili tržno strategijo, za katero menimo, da bi bila učinkovita pri prodaji partnerskega sistema. Predstavitev Na spletni strani kundiaffiliate.com bi predstavili glavne 3 prednosti našega partnerskega sistema: Enostavnost integracije. Podpora za Mixpanel. Ugodna cena. Za začetek bi ponudili poceni osnovni paket, s fiksno ceno (brez provizij transakcij) 29 USD na mesec (konkurenčna storitev Ambassador ima najcenejši paket za mesečno plačilo 300 USD). V nadaljevanju bi paket prilagodili, odvisno od tega, koliko bi uporabniki bili pripravljeni plačati za nadgrajeno rešitev in glede na izboljšave, ki bi jih dodali v sistem. Del tržne strategije bi bila tudi video predstavitev, v kateri bi prikazali, kako enostavno je rešitev implementirati v obstoječi sistem. Ta predstavitev bi bila predvsem ciljana na razvijalce, saj se oni pogosto odločijo in prepričajo svoje vodje za primerno rešitev na tehnološkem področju. Pridobitev interesentov Za oglaševanje bi uporabil Google Adwords, Facebook oglase in sponzorirane PR objave na raznih relevantnih straneh kot so entrepreneur.com, getapp.com in ostalih sorodnih portalih. Ciljna skupina uporabnikov bi bili lastniki spletnih strani, starejši od 20 let. Primarna ciljna skupina so lastniki SaaS storitev, ki že imajo ali pa še

62 48 POGLAVJE 5. ZAKLJUČEK Slika 5.3: Potencial trga z uporabo orodja Google Keyword Planner nimajo partnerskih sistemov, sekundarna skupina pa lastniki spletnih trgovin ali prodajalci informativnih produktov (kot so na Clickbank, YVZoo). Osredotočil bi se na ameriški in angleški trg, v kasnejši fazi pa na Evropo. Na Facebook bi lahko za kampanjo uporabili tudi Facebook stran sorodnih rešitev, prav tako bi lahko na Google iskalniku zakupili ključne besede, ko uporabniki iščejo splošno partnersko rešitev ali pa katero od že znanih oziroma obstoječih platform. Slika 5.3 prikazuje količino mesečnih iskanj oziroma potencial na iskalniku Google za našo tržno nišo z uporabo orodja Google Keyword Planner [48]. 5.3 Učne lekcije S projektom smo se naučili veliko praktičnih in pa tudi bolj abstraktnih stvari, ki nam bodo v prihodnosti pomagale razumeti proces in sprejemati odločitve za še boljšo učinkovitost. Te bi lahko strnili na sledeča spoznanja:

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

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

Prikaži več

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

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

Prikaži več

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

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

Prikaži več

Slide 1

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

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Poslovni analitik v agilnem svetu Prenova spletne strani Uvedba podpore za mobilne naprave Ineor d.o.o. O meni poslovni analitik izkušnje s tehnologijo (programiranje, razhroščevanje, inštalacije, administracija,...)

Prikaži več

PowerPoint Presentation

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

Prikaži več

Slajd 1

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

Prikaži več

Chapter 1

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

Prikaži več

Macoma katalog copy

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

Prikaži več

Aleš Štempihar Agile in IIBA poslovni analitiki dodana vrednost za organizacijo in njene kupce Povzetek: Kaj je pravzaprav Agile? Je to metodologija z

Aleš Štempihar Agile in IIBA poslovni analitiki dodana vrednost za organizacijo in njene kupce Povzetek: Kaj je pravzaprav Agile? Je to metodologija z Aleš Štempihar Agile in IIBA poslovni analitiki dodana vrednost za organizacijo in njene kupce Povzetek: Kaj je pravzaprav Agile? Je to metodologija za izvajanje projektov, je to tehnika in orodje za razvoj

Prikaži več

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

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

Prikaži več

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

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

Prikaži več

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

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

Prikaži več

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

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

Prikaži več

Event name or presentation title

Event name or  presentation title Marko Škufca Vodja programa BI, ADD d.o.o. Gorazd Cah Specialist področja Služba za informatiko, DARS d.d. Izziv Rešitev Rezultati... PROCESI + TEHNOLOGIJA + LJUDJE Poslanstvo: s sodobnimi pristopi in

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Smolnik ORODJE ZA VODENJE PROJEKTOV PO METODI SCRUM DIPLOMSKO DELO NA UNIVERZITETN

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Smolnik ORODJE ZA VODENJE PROJEKTOV PO METODI SCRUM DIPLOMSKO DELO NA UNIVERZITETN UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Smolnik ORODJE ZA VODENJE PROJEKTOV PO METODI SCRUM DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2011 UNIVERZA V LJUBLJANI FAKULTETA

Prikaži več

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

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

Prikaži več

Stanje agilnosti v Sloveniji 2018 State of Agile 2018 Pripravil: Enej Gradišek, CorpoHub December 2018 CorpoHub, vse pravice pridržane 2018

Stanje agilnosti v Sloveniji 2018 State of Agile 2018 Pripravil: Enej Gradišek, CorpoHub December 2018 CorpoHub, vse pravice pridržane 2018 Stanje agilnosti v Sloveniji 2018 State of Agile 2018 Pripravil: Enej Gradišek, CorpoHub December 2018 Stran 2 Kazalo 1. O raziskavi 3 2. Povzetek ugotovitev 4 3. Kaj so agilne metode? 5 4. Rezultati 6

Prikaži več

Microsoft PowerPoint - 9 Trzenje bancnih storitev ppt

Microsoft PowerPoint - 9 Trzenje bancnih storitev ppt Trženje bančnih storitev ŠC PET Višja šola Smer ekonomist (modul bančništvo) prosojnice predavanj Jožica Rihter, univ.dipl.ekon E.naslov: jorko.rihter@gmail.com november 2018 1 Načelo tržnosti Oziroma

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Naslov prispevka STORITVE SOC ŠT.3 ter SOC ŠT.4 Peter Šprajc, Ministrstvo za javno upravo Andrej Skamen, S&T Slovenija d.d.. 10.12.2018 AGENDA pravna podlaga za izvajanja storitev opis SOC storitve 3 opis

Prikaži več

Microsoft PowerPoint - Sequi_SecDAy.ppt

Microsoft PowerPoint - Sequi_SecDAy.ppt Sistem za zagotavljanje revizijske sledi zbirk podatkov Marko Hočevar Premisa d.o.o. Iztok Lasič Hic Salta d.o.o. O revizijski sledi Namen revizijske sledi Znane težave pri zajemanju revizijske sledi Zakaj

Prikaži več

Diapozitiv 1

Diapozitiv 1 Računalništvo in informatika Program: Mehatronika dr. Hubert Fröhlich, univ. dipl. el. Podatkovne baze 2 Podatkovne baze Podatki osnova za odločanje in izvajanje akcij tiskana oblika elektronska oblika

Prikaži več

Microsoft Word - M docx

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

Prikaži več

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se nanaša na tobačne izdelke na trgu EU in na tobačne izdelke, izdelane v EU, vključno s tistimi

Prikaži več

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

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

Prikaži več

Style Sample for C&N Word Style Sheet

Style Sample for C&N Word Style Sheet IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM IoT Continuous Engineering on Cloud in IBM Collaborative Lifecycle Management on Cloud Pogoje uporabe ("pogoji uporabe") sestavljajo ti IBM-ovi pogoji

Prikaži več

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

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

Prikaži več

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

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

Prikaži več

Microsoft Word - P-2_prijava

Microsoft Word - P-2_prijava PRIJAVA Naročnik Oznaka Ime posla NIJZ Trubarjeva cesta 2 1000 LJUBLJANA 21K160318 Javno naročilo Vzdrževanje portala zvem Povsod, kjer obrazec P-2 uporablja izraz»ponudnik«, gre v postopkih, kjer ne gre

Prikaži več

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

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

Prikaži več

PowerPointova predstavitev

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

Prikaži več

PowerPointova predstavitev

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

Prikaži več

Diapozitiv 1

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

Prikaži več

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

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

Prikaži več

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

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

Prikaži več

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

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

Prikaži več

PowerPoint-Präsentation

PowerPoint-Präsentation ENERGETSKO POGODBENIŠTVO (EPC) V JAVNIH STAVBAH Podpora pri izvajanju energetske prenove stavb na lokalni ravni z mehanizmom energetskega pogodbeništva 12.10.2016, LJUBLJANA NIKO NATEK, KSSENA Projekt

Prikaži več

Zadeva: Ponudba

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

Prikaži več

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

PEDAGOŠKO VODENJE, kot ena od nalog

PEDAGOŠKO  VODENJE, kot ena od nalog Osebni pogled, refleksija in ključne ugotovitve ob koncu leta 2014/2015 Maja Koretič, pomočnica ravnatelja in pedagoška vodja MOJA VLOGA V ENOTI VRTCA Dela in naloge pomočnice ravnatelja za vrtec glede

Prikaži več

Microsoft Word - Financni nacrt SSUL 2009 BREZOVAR.doc

Microsoft Word - Financni nacrt SSUL 2009 BREZOVAR.doc 1 FINANČNI NAČRT ŠTUDENTSKEGA SVETA UNIVERZE V LJUBLJANI ZA LETO 2009, ki ga je Študentski svet Univerze v Ljubljani sprejel na seji dne 14. 1. 2009 in ga pošilja Upravnemu odboru Univerze v Ljubljani

Prikaži več

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

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

Prikaži več

PKP projekt SMART WaterNet_Opis

PKP projekt SMART WaterNet_Opis PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

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

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

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

Prikaži več

PowerApps

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

Prikaži več

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

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

Prikaži več

Gradbeništvo kot Industrija 4.0

Gradbeništvo kot Industrija 4.0 Povzetek: Kot vse druge panoge se mora gradbeništvo modernizirati Industrija 4.0 koncept, ki daje modernizaciji okvir, motivacijo, zagon Industrija 4.0 je stapljanje fizičnega in digitalnega sveta Gradbeništvo

Prikaži več

predstavitev fakultete za matematiko 2017 A

predstavitev fakultete za matematiko 2017 A ZAKAJ ŠTUDIJ MATEMATIKE? Ker vam je všeč in vam gre dobro od rok! lepa, eksaktna veda, ki ne zastara matematičnoanalitično sklepanje je uporabno povsod matematiki so zaposljivi ZAKAJ V LJUBLJANI? najdaljša

Prikaži več

Postopek poracuna 2007 za JU

Postopek poracuna 2007 za JU POSTOPEK PORAČUNA PLAČ V JAVNEM SEKTORJU ZA OBDOBJE JANUAR-JUNIJ 2007 Ljubljana, julij 2007 verzija 1.00 Stran - 1 Skladno z objavo Zakona o spremembah in dopolnitvah zakona o sistemu plač v javnem sektorju

Prikaži več

Microsoft PowerPoint - Pedstavitev igre Prometna kača [Združljivostni način]

Microsoft PowerPoint - Pedstavitev igre Prometna kača [Združljivostni način] Predstavitev igre PROMETNA KAČA Okolju prijazno in varno v šolo Sebastian Toplak Ljubljana 29.2.2012 Vsebina Mreža Prometna kača Predstavitev mreže Izvedba igre (kampanje) Priprava na igro Izračun šolskega

Prikaži več

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 1. Uvod Navodilo je namenjeno tehničnemu osebju pri pošiljateljih poročil oziroma poročevalcih, ki

Prikaži več

Microsoft Word - M doc

Microsoft Word - M doc Državni izpitni center *M11145113* INFORMATIKA SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Petek, 10. junij 2011 SPLOŠNA MATURA RIC 2011 2 M111-451-1-3 IZPITNA POLA 1 1. b 2. a 3. Pojem se povezuje

Prikaži več

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_

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

Prikaži več

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

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

Prikaži več

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc Navodila za uporabo osebnega portala člana 13.11.08 Pozor: Ta navodila so le v pomoč uporabnikom. V kolikor so navodila v nasprotju s splošnimi pogoji poslovanja kluba, veljajo splošni pogoji poslovanja

Prikaži več

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft PowerPoint - IPPU-V2.ppt Informatizacija poslovnih procesov v upravi VAJA 2 Procesni pogled Diagram aktivnosti IPPU vaja 2; stran: 1 Fakulteta za upravo, 2006/07 Procesni pogled Je osnova za razvoj programov Prikazuje algoritme

Prikaži več

PowerPoint Presentation

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

Prikaži več

Vpeljava agilnega in vitkega razvoja programske opreme v majhnem podjetju

Vpeljava agilnega in vitkega razvoja programske opreme v majhnem podjetju Univerza v Ljubljani Fakulteta za računalništvo in informatiko Valneja Stojčič Vpeljava agilnega in vitkega razvoja programske opreme v majhnem podjetju DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE

Prikaži več

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati. 1. Preverite spletno stran Ta posnetek zaslona vam prikazuje, da morate v levem vrhnjem kotu preveriti, če se nahajate na pravi

Prikaži več

(Microsoft Word - Nakupovalni vodi\350 po angle\232kih spletnih trgovinah - IzAnglije)

(Microsoft Word - Nakupovalni vodi\350 po angle\232kih spletnih trgovinah - IzAnglije) Nakupovalni vodič po angleških spletnih trgovinah Vedno več ljudi se odloča za nakupe preko spleta. Cene na spletu so pogosto ugodnejše, izbira bolj široka, nakupovanje pa je enostavno in udobno. Dandanes

Prikaži več

Microsoft Word - NAVODILA ZA UPORABO.docx

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

Prikaži več

Pogoji poslovanja Catena.si je spletna trgovina podjetja Catena d.o.o.. Pogoji poslovanja so sestavljeni upoštevajoč vse zakonske obveznosti in mednar

Pogoji poslovanja Catena.si je spletna trgovina podjetja Catena d.o.o.. Pogoji poslovanja so sestavljeni upoštevajoč vse zakonske obveznosti in mednar Pogoji poslovanja Catena.si je spletna trgovina podjetja Catena d.o.o.. Pogoji poslovanja so sestavljeni upoštevajoč vse zakonske obveznosti in mednarodne smernice za e-poslovanje, ki jih zastopa tudi

Prikaži več

ZELENA DOLINA

ZELENA DOLINA REPUBLIKA SLOVENIJA MINISTRSTVO ZA DELO, DRUŽINO IN SOCIALNE ZADEVE ZELENA DOLINA Evalvacija programa dr. Janez Drobnič Projekt se izvaja v okviru Operativnega programa razvoja človeških virov za obdobje

Prikaži več

Folie 1

Folie 1 S&TLabs Innovations mag. Damjan Kosec, S&T Slovenija d.d. marec 2013 S&TLabs Laboratorij za inovacije in razvoj spletnih in mobilnih informacijskih rešitev Kako boste spremenili svoj poslovni model na

Prikaži več

VSEBINSKI NASLOV SEMINARSKE NALOGE

VSEBINSKI NASLOV SEMINARSKE NALOGE Univerza v Ljubljani Naravoslovnoteniška fakulteta Oddelek za tekstilstvo VSEBINSKI NASLOV SEMINARSKE NALOGE TITLE IN ENGLISH Avtorja: Študijska smer: Predmet: Informatika in metodologija diplomskega dela

Prikaži več

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

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

Prikaži več

Title slide heading 32pt Arial bold, with 48pt line spacing

Title slide heading 32pt Arial bold, with 48pt line spacing Z nadgradnjo programa do novih kupcev, novih trgov Globalne izkušnje Knauf Insulation Jure Šumi Business Development Director O čem bo tekla beseda 1. Korporacija in segmenti/izdelki 2. S spremembami v

Prikaži več

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadaljevanju»naročnik«) in družbo VI NOVA d.o.o. (v nadaljevanje»ponudnik«).

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Operativni center kibernetske varnosti in DDoS zaščita Aleš Skubic Glavna napaka je teoretizirati, preden imamo zadostno količino podatkov. Nezavedno začnemo izkrivljati dejstva, da bi ustrezala teorijam,

Prikaži več

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

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

Prikaži več

PowerPoint Presentation

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

Prikaži več

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA Portal e-vem obstoječe stanje in nadaljnji razvoj Jernej Baranja Ana Oblak 2 Registracija s.p. v 1 dnevu (prej 7 dni) Registracija d.o.o. v 3 dneh (prej več kot 60 dni) Brezplačna registracija s.p. in

Prikaži več

INFORMATIKA TEČAJ ZA VIŠJEGA GASILCA

INFORMATIKA TEČAJ ZA VIŠJEGA GASILCA INFORMATIKA TEČAJ ZA VIŠJEGA GASILCA Damjan Munda, GČ, II.st. VSEBINA PREDMETA INFORMACIJSKI SISTEMI SISTEM OSEBNIH GESEL IN HIERARHIJA PRISTOJNOSTI GASILSKI INFORMACIJSKI SISTEM KAJ JE INFORMATIKA? Informatika

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več

Diapozitiv 1

Diapozitiv 1 Trajnostni razvoj družbe BTC Tomaž Damjan Ljubljana, 23.10.2013 BTC v številkah Družba BTC je uspešno izvedla premik na trajnostno in zeleno področje z željo ustvariti boljšo prihodnost za obiskovalce,

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

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

Prikaži več

PowerPoint Presentation

PowerPoint Presentation ANALIZA SPREMEMB PRI UPORABNIŠKEM ZAVEDANJU O ZASEBNOSTI OB UPORABI DRUŽBENIH OMREŽIJ Lili Nemec Zlatolas DSI, 16.4.2019 Družbeno omrežje Facebook Dnevno uporablja omrežje 1, milijarde ljudi na svetu Slovenija

Prikaži več

Microsoft Word - FREM-2010-prispevek-obratna-sredstva-oktober-2008

Microsoft Word - FREM-2010-prispevek-obratna-sredstva-oktober-2008 NAČRTOVANJE UREJENOSTI ORGANIZACIJE Mirko Jenko mirko.jenko@t-2.net 1. Povzetek Prispevek je poslovni projekt iz prakse, s katerim želimo prenoviti organizacijski ustroj organizacije in spremljanje stroškov.

Prikaži več

Microsoft PowerPoint - Predstavitev novosti COBISS_OPAC_V60_17-18_06_2010_za objavo.ppt

Microsoft PowerPoint - Predstavitev novosti COBISS_OPAC_V60_17-18_06_2010_za objavo.ppt Predstavitev novosti: COBISS/OPAC, V6.0 (1. del) Maribor, 17. junij 2010 Ljubljana, 18. junij 2010 Program predstavite Uvod v predstavitev Marta Seljak Predstavitev COBISS/OPAC, V6.0 Robert Vehovec Predstavitev

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISO

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISO Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

Prikaži več

Linksys PLEK500 User Guide

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

Prikaži več

Poročanje izdanih računov pri gotovinskem poslovanju

Poročanje izdanih računov pri gotovinskem poslovanju Poročanje izdanih računov pri gotovinskem poslovanju Vrsta dokumenta: Uporabniška navodila Pripravil/i: Za: Naviservice +386 1 548 3999 naviservice@adacta.si Adacta d.o.o. Verovškova 55a, 1000 Ljubljana

Prikaži več

(Microsoft PowerPoint - Milan Ojster\232ek_IJU2014)

(Microsoft PowerPoint - Milan Ojster\232ek_IJU2014) Organizacijski, tehnični in pravni vidiki vzpostavitve nacionalne infrastrukture odprtega dostopa Milan Ojsteršek Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko 08. 12.

Prikaži več

Navodila za uporabo Mini snemalnik

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

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Miha Gruden Izboljšanje razvojnega procesa programske opreme na primeru sistema za banč

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Miha Gruden Izboljšanje razvojnega procesa programske opreme na primeru sistema za banč Univerza v Ljubljani Fakulteta za računalništvo in informatiko Miha Gruden Izboljšanje razvojnega procesa programske opreme na primeru sistema za bančno poslovanje MAGISTRSKO DELO Magistrski program Informacijski

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03.2019 Verzija 1.1 KAZALO 1 NAMEN...3 2 REGISTRACIJA...4 3 VNOS GESLA IN AKTIVACIJA RAČUNA...6

Prikaži več

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

Najboljša skupaj Kontrola pristopa + registracija delovnega časa

Najboljša skupaj Kontrola pristopa + registracija delovnega časa Najboljša skupaj Kontrola pristopa + registracija delovnega časa Globalna rešitev prilagojena lokalnemu okolju Rešitev Time&Space je na voljo v 15-ih jezikih ter podpira latinico, cirilico in arabsko pisavo.

Prikaži več

Navodilo Telemach

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

Prikaži več

TEHNIČNA DOKUMENTACIJA

TEHNIČNA DOKUMENTACIJA TEHNIČNA DOKUMENTACIJA za OBNOVO EVIDENCE DEJANSKE RABE KMETIJSKIH IN GOZDNIH ZEMLJIŠČ (območje V in Z del SLO) Verzija 1.0 Ljubljana, marec 2016 KAZALO 1 UVOD... 3 1.1 OBMOČJE PROJEKTA... 4 1.2 ČASOVNICA

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1,

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1, TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03. 2019 KAZALO 1 Namen...3 2 Registracija...4 3 Vnos gesla in aktivacija računa...6 4 Prijava...7

Prikaži več

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

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

Prikaži več

Microsoft Word - Pogodba-SI-TSA-v7.doc

Microsoft Word - Pogodba-SI-TSA-v7.doc SI-TSA Overitelj na Ministrstvu za javno upravo Tržaška cesta 21, 1000 Ljubljana, Slovenija http://www.si-tsa.si si-tsa@gov.si Overitelj na Ministrstvu za javno upravo Tržaška cesta 21 1000 Ljubljana Davčna

Prikaži več

II-RIS-Primer Seminarske Naloge Redni-LJ

II-RIS-Primer Seminarske Naloge Redni-LJ UNIVERZA V LJUBLJANI FAKULTETA ZA UPRAVO Študijski program: Visokošolski strokovni program Uprava Prva stopnja (bolonjski) Način študija: redni ČIŠČENJE VOZIL V AVTOPRALNICI Seminarska naloga Predmet:

Prikaži več

Microsoft Word - P-5_specifikacije.doc

Microsoft Word - P-5_specifikacije.doc Obrazec P-5 Specifikacije 24K110316»Vzdrževanje centralne rešitve enaročanje«tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...4 2. Opis...4 2.1 EČAKALNI SEZNAMI...5 2.2 ENAROČANJE...6

Prikaži več

Mojtelemach brosura_junij 2015_mail

Mojtelemach brosura_junij 2015_mail Naročniški portal MOJ TELEMACH. Junij 2015 Uredite naročilo, ne da bi vstali iz naslanjača. Za preprostejši pregled naročenih storitev, računov in opravljenih klicev ter naročanje dodatnih storitev ipd.

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Napovedno oglaševanje Kombiniranje internih in eksternih podatkov za boljšo učinkovitost oglaševanja Miloš Suša, iprom Andraž Zorko, Valicon Mojca Pesendorfer, Atlantic Grupa Ljubljana, 22.10.2018 PREDIKTIVNO

Prikaži več

Primerjava obla\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accen

Primerjava obla\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accen Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anja Remic Primerjava oblačnih sistemov za upravljanje s strankami DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

Prikaži več

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva osebnih podatkov posameznikom omogoča uveljavljanje

Prikaži več