Del 2: Produktdokumentasjon
|
|
- Benedicte Nilssen
- 6 år siden
- Visninger:
Transkript
1 Del 2: Produktdokumentasjon ~ 1 ~
2 1 Forord Dette dokumentet er en produktrapport for en mobil billettapplikasjon i HTML5. Rapporten skal redegjøre for applikasjonens funksjonalitet, virkemåte og tekniske oppbygning. Rapporten er skrevet for den som skal vedlikeholde og modifisere systemet og det forutsettes derfor at leseren har grunnleggende forståelse innen informasjonsteknologi. ~ 2 ~
3 Innholdsfortegnelse 1 Forord Innledning Hensikt med prosjektet Kort beskrivelse av resultat Presentasjon av applikasjonen Applikasjonens hoveddeler Hovedsiden Ny reise Innstillinger Registrering Trafikkinformasjon Applikasjonens brukergrensesnitt Skalering Ikoner Plassering Farger Teknologi Utviklingsmiljø jquery Mobile json HTML PHP JavaScript Tilpassninger for ios Ikon på skrivebordet Skjule adresselinje Tall tolkes som telefonnummer Baksystemer Oppdragsgivers API /authenticationtoken (POST) /purchase (POST) /orders/authenticationtoken (GET) /ticket/orderid?authenticationtoken=authenticationtoken (GET) ~ 3 ~
4 6.2 Trafikantens API /Place/GetClosestStopsByCoordinates/?coordinates=(X=X,Y=Y)&proposals= /Travel/GetTravelsAfter?time=time&from=fromStopID&to=toStopID Funksjonalitet Geolokasjon Lokal lagring Operativsystem detektor Input validering RSS feed for avviksinformasjon Sjekke om det allerede eksisterer en bruker Url_safe Datovelgere ios Android Windows Phone Sikkerhet Obfuskere kildekode Sikkerhet gjennom hemmelighold Lokal lagring Utfordringer Geolokasjon QR- kode Kommunikasjon med API Unngå søk på område Tidsformat Håndtering av feilmeldinger Tegnsett Kilder ~ 4 ~
5 3 Innledning 3.1 Hensikt med prosjektet Prosjektets formål er å avdekke om HTML5 per i dag er et reelt alternativ til «native» applikasjoner på mobil. Spesielt knyttet til åpne data, betaling, datasikkerhet, lagring på enhet og raske brukergrensesnitt. HTML5 og underliggende spesifikasjoner som CSS3 ser ut til å bli spesifikasjonen som de fleste aktørene kommer til å benytte seg av i fremtiden. Oppdragsgiver har ikke hatt ressurser til å gjøre konkret arbeid på disse spesifikasjonene og gruppen har derfor fått som oppgave å lage en prototype av en mobil billettløsning basert på HTML Kort beskrivelse av resultat Prosjektet resulterte i en fungerende prototype utviklet som en dedikert web billettapplikasjon. Applikasjonen kan brukes til å kjøpe billetter, se avviksinformasjon, samt vise kjøpte billetter. I prototypen ble det implementert lokal lagring, geolokasjon og tilpassninger for hver enkelt plattform (som f.eks. datovelgere). HTML5, CSS3, JavaScript, jquery mobile og PHP ble sammen benyttet for å utvikle produktet. ~ 5 ~
6 4 Presentasjon av applikasjonen 4.1 Applikasjonens hoveddeler Nedenfor følger en presentasjon av applikasjonens hoveddeler. Figur 1 - Strukturkart ~ 6 ~
7 4.1.1 Hovedsiden Applikasjonens hovedside(figur 2) består av fire knapper plassert midt på siden. Knappene lar brukeren navigere rundt i applikasjonen slik at det er mulig å kjøpe billetter, se kjøpshistorikk, forandre på innstillinger og se trafikkinformasjon. For å kunne bruke applikasjonen må en bruker være registrert på den aktuelle telefonen. Er det ingen registrerte brukere, blir brukeren automatisk sendt fra hovedsiden til et registreringsskjema hvor en bruker må registreres. Om det allerede er registrert en bruker vil hovedsiden være første siden som vises. Figur 2 - Applikasjonens hovedside For utvidet brukerveiledning og skjermbilder, se vedlegg 3. ~ 7 ~
8 4.1.2 Ny reise I denne delen må brukeren velge avreise- og ankomststasjon, samt tidspunkt for avreise. På bakgrunn av disse valgene skrives det ut de fem nærmeste reiserutene i tid. Først må brukeren velge hvor reisen skal starte. Det er to måter å søke på en stasjon. Enten ved manuelt å skrive inn stasjonen og trykke søk, eller ved å trykke på knappen "I nærheten". Denne knappen skriver ut de fem nærmeste stoppestedene basert på brukerens geografiske lokasjon (geolokasjon). Etter å ha valgt avreisepunkt sendes brukeren videre til neste side hvor ankomststasjon må velges. Denne siden er lik som forrige, men uten "I nærheten" knappen. Her skrives det samtidig ut avreisestasjon slik at brukeren kan se hva som har blitt valgt så langt. Etter å ha valgt hvor brukeren skal reise fra og til, må det velges avreisetidspunkt. Dette gjøres i en datovelger spesielt tilpasset brukerens plattform. Det er implementert en datovelger for hver av plattformene (ios, Android og Windows Phone 7) applikasjonen skal fungere på. På bakgrunn av disse tre valgene (avreise- og ankomststasjon, samt tidspunkt) viser neste side de fem neste avgangene i tid. Her vises avreise- og ankomsttidspunkt, avreise- og ankomststasjon, reisetid, transportmiddel og eventuelt linjenavn. Om brukeren av en eller annen grunn har valgt feil, eller ønsker å endre noen av de valgene som har blitt gjort på foregående sider, er det en egen knapp hvor brukeren kan velge å begynne på nytt. Etter å ha valgt et av ruteforslagene blir brukeren sendt videre til neste side hvor billetten må bekreftes. Her blir alle valgene brukeren har gjort så langt, samt en pris på reisen presentert på siden. Brukerens passord må skrives inn for å bekrefte kjøpet. Når passordet er godkjent blir brukeren sendt til en ny side. Her vises en kvittering for kjøpet. Kunden kan her enten velge å trykke på hjem knappen og bli sendt til startsiden, eller "Mine billetter", som vil sende brukeren til listen over alle billetter som er kjøpt. Mine billetter viser en oversikt over alle billettene en bruker har kjøpt. Har ikke brukeren kjøpt noen billetter, men allikevel går inn på mine billetter vil man få beskjed om at kjøpshistorikken er tom og et ikon for ny reise vil vises slik at brukeren enkelt kan kjøpe en billett. Alle kjøpte billetter blir lagret i mine billetter automatisk. For at brukeren skulle ha oversikt over alle ordrene ble det lagt til informasjon om hver enkelt billett og om den er gyldig. Brukeren får se billetten ved å trykke på bildet av QR- koden. For use case diagram, tekstlig use case og aktivitetsdiagram, se vedlegg 2. ~ 8 ~
9 4.1.3 Innstillinger Under innstillinger (Figur 3) har brukeren tre valg. Se personalia og informasjon om applikasjonen, samt mulighet til å slette brukeren med tilhørende billetter. Profilsiden, som viser personalia, skriver ut navnet og e-post adressen brukeren registrerte seg med. Denne informasjonen blir automatisk skrevet ut av lokal lagring når siden lastes. Knappen "Slett bruker" gir mulighet til å slette seg selv. Dette gjør applikasjonen ved å fjerne all informasjon som er lagret lokalt. Tredje valget under innstillinger er "info". Her gis det en kort presentasjon av applikasjonen Registrering Figur 3 - Innstillinger Om det ikke allerede er registrert en bruker vil brukeren automatisk komme til denne siden. For å registrere seg må det oppgis fornavn, etternavn, e-post og passord. Etter at brukeren har bekreftet informasjonen som er skrevet inn, blir dette sendt til, og lagret, i oppdragsgivers API i tillegg til lokalt lagret. Oppdragsgivers API vil da returnere en unik tekststreng som skal være brukerens identifikasjon når billetter skal kjøpes Trafikkinformasjon Fjerde valg på applikasjonens hovedside er å se avvik i trafikken. Denne informasjonen blir hentet med RSS feed fra trafikantens nettsider og viser trafikkavvik for kollektivtransport på Østlandet. ~ 9 ~
10 4.2 Applikasjonens brukergrensesnitt Applikasjonens brukergrensesnitt skulle fungere på enheter med ulik skjermstørrelse, noe som gjorde brukervennlighet og plassering av elementer svært viktig. Den skulle kunne brukes av alle brukergrupper, og det var derfor viktig at den ikke inneholdt overflødige elementer eller unødvendig funksjonalitet. Nedenfor følger en kort forklaring på de viktigste bestanddelene i applikasjonens brukergrensesnitt Skalering Et av kravene som ble gitt til applikasjonen var at den skulle fungere på smarttelefoner med svært stor variasjon i skjermstørrelse (fra Sony Ericsson Xperia Mini til Samsung Galaxy). Applikasjonen ble derfor gitt en dynamisk design som tilpasser seg selv ut ifra skjermens størrelse og i hvilken retning telefonen holdes. Alle knappene ble definert med en prosentvis bredde, noe som gjorde at knappene tilpasset seg avhengig av skjermens størrelse (Figur 4 og 5). Figur 4 - Smal skjerm ~ 10 ~
11 4.2.2 Ikoner Figur 5 - Bred skjerm Applikasjonens ikoner (Figur 6) ble valgt med utgangspunkt i hva som skulle oppleves mest intuitivt for brukeren. I tillegg til forklarende bilder ble det lagt til tekst på ikonene som forklarte hvor brukeren sendes ved å trykke på ikonet Plassering Figur 6 - Applikasjonens ikoner Elementenes plassering var svært viktig i forhold til brukerens inntrykk av applikasjonen. Fordi det også er begrenset med plass på en mobilskjerm måtte sidene ikke inneholde flere elementer enn nødvendig. Gruppen valgte derfor å plassere en hjem knapp på venstre side av et felt i toppen av siden. Andre elementer som inputfelt og tekstlig informasjon ble sentrert for å gjøre sidene oversiktlige. ~ 11 ~
12 4.2.4 Farger I applikasjonen er det funksjonaliteten som skal trekke til seg brukerens oppmerksomhet. Det ble derfor valgt nøytrale farger med høy kontrast. Feltet i toppen av siden skulle designes med utgangspunkt i oppdragsgivers overordnede grafiske profil. Den fikk derfor fargen grønn, som ble hentet fra oppdragsgivers logo. 5 Teknologi 5.1 Utviklingsmiljø Applikasjonen ble utviklet ved hjelp av en kombinasjon av HTML5, CSS, PHP og JavaScript. Nedenfor følger en kort forklaring på de ulike programmeringsspråkene og rammeverkene som ble brukt under utviklingen av applikasjonen jquery Mobile jquery Mobile er et HTML5 basert grensesnitt som bygger på JavaScript biblioteket jquery. Biblioteket er utviklet for å forenkle klientskripting av HTML. jquery Mobile inneholder en rekke valg knyttet til en applikasjons design. Det kan enten velges et forhåndsdefinert tema eller det kan defineres en egen design. (jquerymobile) json Oppdragsgivers og Trafikantens API er REST like API, som definerer hvordan man adresserer og overfører ressurstilstander. For å adressere en ressurs brukes gjerne en URL. Begge programmeringsgrensesnittene benytter seg av json(javascript Object Notation) som er en enkel tekstbasert standard for datautveksling. Applikasjonen gjør spørringer mot de to APIene og mottar et svar i json som et array med objekter. (Bekk, 2009) HTML HTML (HyperText Markup Language) er et programmeringsspråk som brukes til å lage strukturen på en nettside. (Wikipedia, 2012) PHP PHP (PHP: Hypertext Preprocessor) er et programmeringsspråk som utføres på serversiden. (itpro.no, 2003) JavaScript JavaScript er mest kjent for å tilføre dynamiske elementer til nettsider. Kodene kjøres lokalt i nettleseren, automatisk eller som reaksjon på brukervalg på siden. (kodehjelp) ~ 12 ~
13 5.2 Tilpassninger for ios Applikasjonen inneholder noen tilpassninger spesielt for ios. Nedenfor følger en beskrivelse av disse tilpassningene Ikon på skrivebordet Figur 7 - Applikasjons ikon Den ene tilpassningen består av en kodelinje (nedenfor) som legger et ikon (Figur 7) på mobilens hjem- skjerm. For å benytte seg av denne muligheten må brukeren manuelt gå inn i nettleserens meny og velge "Legg til på Hjemskjerm". <link rel="apple-touch-icon" href="bilder/icon.png" /> Skjule adresselinje Brukeren må først legge applikasjonen på telefonens hjem- skjerm. Ved å legge til kodelinjene nedenfor vil ikke adresselinjen vises når applikasjonen aksesseres fra ikonet på hjem- skjermen. <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="default" /> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximumscale=1.0; user-scalable=no" /> 5.2.3Tall tolkes som telefonnummer Kodelinjen nedenfor ble lagt til for å unngå at nettleseren automatisk tolker serier med tall som et telefonnummer. Applikasjonen inneholdt avreise- og ankomsttider, noe det ikke var ønskelig å vise som en link til et telefonnummer. <meta name="format-detection" content="telephone=no" /> ~ 13 ~
14 6 Baksystemer Figuren nedenfor (Figur 8) viser applikasjonens systemarkitektur. Her er oppdragsgivers og Trafikantens API tegnet inn som henholdsvis web tjenestelag og sanntidsdata. Den mobile klienten er ikke koblet direkte til tjenestelaget, men må gå gjennom skolens web server hvor applikasjonens filer er lagret. Baksystemene kan ikke kommunisere direkte med hverandre. Figur 8 - Systemarkitektur To APIer ble benyttet i applikasjonen. Det ene er utviklet av Trafikanten, mens det andre ble satt opp av gruppens oppdragsgiver i sammenheng med dette prosjektet. 6.1 Oppdragsgivers API Ligger bak: Støtter følgende tjenester: /authenticationtoken (POST) Oppretter en ny bruker og returnerer en token som kan brukes i kallene mot de andre tjenestene. Eksempel på inn-parametere: firstname=ola&lastname=normann& =ola.normann@mail.com&password=test123 ~ 14 ~
15 6.1.2 /purchase (POST) For å kjøpe en ny billett. Returnerer en kvitteringsmelding. Eksempel på inn-parametere: fromstop=nydalen&tostop=arendalsgaten&departuretime= T08:05:04Z&authenticationToken=574bf7c0-8ebe-4a f2e0074b85&password=test /orders/authenticationtoken (GET) For å liste ut alle ordrer knyttet til denne brukeren. Eksempel på inn-parametere: /orders/574bf7c0-8ebe-4a f2e0074b /ticket/orderid?authenticationtoken=authenticationtoken (GET) Returnerer en billett. Eksempel på inn-parametere: /ticket/1?authenticationtoken=574bf7c0-8ebe-4a f2e0074b Trafikantens API Ligger bak: api-test.trafikanten.no/ Støtter blant annet følgende tjenester: /Place/GetClosestStopsByCoordinates/?coordinates=(X=X,Y=Y)&proposals=5 Returnerer fem nærmeste stoppestedene. Eksempel på inn-parametere: /Place/GetClosestStopsByCoordinates/?coordinates=(X=593918,Y= )&proposals= /Travel/GetTravelsAfter?time=time&from=fromStopID&to=toStopID Returnerer de fem neste ruteforslagene i tid. Eksempel på inn-parametere: /Travel/GetTravelsAfter?time= &from= &to= ~ 15 ~
16 7 Funksjonalitet Applikasjonen inneholder mange funksjoner. Nedenfor følger en teknisk presentasjon med et utdrag kildekoder av applikasjonens viktigste funksjoner. 7.1 Geolokasjon Geolokasjon bruker koordinater til å vise brukerens geografiske posisjon. Funksjonen nedenfor (navigator.geolocation) ble brukt for å finne ut om brukerens nettleser støttet geolokasjon. if (navigator.geolocation) navigator.geolocation.getcurrentposition(success, error); else error('geolokasjon støttes ikke av din nettleser.'); Om geolokasjon ikke var støttet ble det skrevet ut en beskjed om dette. Finnes det støtte for dette i telefonens nettleser vil funksjonen forsøke å finne telefonens koordinater ved hjelp av funksjonen nedenfor. function success(position) var testl = position.coords.latitude; var testb = position.coords.longitude; var kordinater = new LatLng(testl, testb); var utm = kordinater.toutmref(); del1 = utm.tostring().split(" ")[1]; kordl = del1.tostring().split(".")[0]; del2 = utm.tostring().split(" ")[2]; kordb = del2.tostring().split(".")[0]; Her legges først lenge- og breddegrad i hver sin variabel (testl og testb) ved hjelp av to individuelle metoder (position.coords.latitude og position.coords.longitude). Deretter legges de to variablene sammen til en variabel (kordinater). Dette måtte gjøres fordi koordinatenes format måtte endres før det ble sendt til Trafikantens API. Funksjonen toutmref() bruker et eget JavaScript bibliotek kalt JScoord for å endre formatet. Denne funksjonen krever at begge koordinatene blir lagt inn i en variabel før de skal endres til UTM format. toutmref() returnerer lengde- og breddegrad som kommatall sammen i en tekststreng. Derfor måtte gruppen bruke funksjonen split() for igjen å separere ~ 16 ~
17 lenge- og breddegrader, samt fjerne alle tall etter komma. De ferdig formaterte koordinatene legges til slutt i hver sin variabel (kordl og kordb) Alle disse funksjonene blir kjørt automatisk når brukeren går inn på siden. Men det er først når brukeren trykker på "I nærheten" knappen at de nærmeste stasjonene blir skrevet ut. Koden nedenfor er det som blir utført når denne knappen trykkes på. function hent_data() var X = kordl; var Y = kordb; var request = new XMLHttpRequest(); var url = "hentdata.php?x="+x+"&y="+y; request.open("get",url,false); request.onreadystatechange = function () if (request.readystate == 4 && request.status == 200) var resultat = JSON.parse(request.responseText); var utdata = ""; for(var i=0; i<resultat.length; i++) utdata+="<a href='til.php?fromid="+resultat[i].id+"&fromname="+resultat[i].name+"' class='button'><div id='linjelink'>"+resultat[i].name+"</div></a><hr />"; document.getelementbyid('utdata').innerhtml += utdata; request.send(null); koordinatene blir gitt nye variabelnavn (X og Y) før de blir sendt til Trafikantens API gjennom en funksjon i filen "hentdata.php". Nedenfor er funksjonen som utfører spørringen mot Trafikantens API. <?php?> $url=" $_REQUEST["X"].",Y=".$_REQUEST["Y"].")&proposals=5"; $data=file_get_contents($url); echo utf8_decode($data); I denne funksjonen sendes lengde- og breddegrader inn til Trafikanten som returnerer de fem nærmeste holdeplassene med utgangspunkt i disse koordinatene. Deretter blir disse skrevet ut i variabelen $data. ~ 17 ~
18 7.2 Lokal lagring Funksjonen nedenfor (Tekstboks 1) benytter seg av en av de nye funksjonene i HTML5, lokal lagring. Funksjonen legger først inn nåværende tidspunkt i en variabel (itemld). Deretter ble det opprettet et array (values) hvor verdiene senere skulle legges inn. Variablene result, firstname, lastname og , tilegnes henholdsvis brukerens unike ID (AuthenticationToken), fornavn, etternavn og e-post adresse som er hentet fra skjemaet på forrige side i applikasjonen. Funksjonen push() er den neste som brukes. Denne funksjonen legger de fire variablene (result, firstname, lastname, ) inn i values. Til slutt legges values inn i nettleserens lokale database ved hjelp av metoden setitem. Gruppen valgte å legge inn verdiene etter hverandre med ";" mellom hver variabel for lettere å kunne dele opp verdiene når de skal hentes ut. $("#lokal_lagring").click(function() var newdate = new Date(); var itemid = newdate.gettime(); var values = new Array(); var result ="<? var firstname = "<? print utf8_decode($_request["firstname"]);?>"; var lastname = "<? print utf8_decode($_request["lastname"]);?>"; var = "<? print $_REQUEST[" "];?>"; [...] ); values.push(result); values.push(firstname); values.push(lastname); values.push( ); try localstorage.setitem(itemid, values.join(";")); Tekstboks 1 ~ 18 ~
19 7.3 Operativsystem detektor Applikasjonen inneholder en datovelger for hver av plattformene den skal brukes på. Det ble laget en funksjon (Tekstboks 2) for å finne ut hvilken plattform brukeren benytter seg av og på bakgrunn av dette resultatet sende brukeren til riktig datovelger. $agent = $_SERVER['HTTP_USER_AGENT']; $osarray = array( 'Windows' => '(Win)', 'Linux' => '(X11) (Linux)', 'MacOS' => '(Mac)' ); foreach as $os => $v) if (preg_match("/$v/", $agent)) break; else $os = "Unknown OS"; Tekstboks 2 Funksjonen $_SERVER['HTTP_USER_AGENT'] ble brukt til å finne informasjon om brukerens nettleser og operativsystem. Den returnerer for en Android bruker med Firefox nettleser en tekststreng lik den nedenfor. Mozilla/4.5 [en] (X11; U; Linux i586) Deretter benyttet gruppen seg av funksjonen preg_match() for å sjekke den returnerte strengen for spesifikke tegn. Disse tegnene bestod av operativsystemnavn. Om tekststrengen for eksempel inneholdt ordet "Mac" betød det at brukeren befant seg på en ios plattform og at denne brukeren dermed skulle sendes til ios datovelgeren. ~ 19 ~
20 7.4 Input validering Når en bruker skal registrere seg på applikasjonen må informasjonen som blir skrevet inn valideres. Dette ble gjort ved hjelp av et JavaScript i samme side som registreringsskjemaet brukeren fyller inn. Nedenfor (Tekstboks 3) er funksjonen som ble brukt til å validere brukerens fornavn. Funksjonen består av en variabel (validregexp) hvor det er definert hvilke tegn som er godtatt. Deretter tilegnes variabelen strfirstname verdien som er skrevet inn i input feltet med ID "firstname". Til slutt sjekker funksjonen om strfirstname inneholder tegnene i validregexp. Hvis fornavnet inneholder andre tegn enn disse, returnerer funksjonen en feilmelding på skjermen som beskriver hva som er feil. function isvalidfirstname(strfirstname) validregexp = /[ÆØÅæøåA-Za-z]2,$/i; strfirstname = document.forms[0].firstname.value; if (strfirstname.search(validregexp) == -1) alert('ikke et gyldig fornavn.'); return false; return true; Tekstboks 3 ~ 20 ~
21 7.5 RSS feed for avviksinformasjon For å vise avviksmeldingene benyttet gruppen seg av JavaScript biblioteket jquery. Nedenfor er funksjonen som ble kodet for å skrive ut meldingene. Utskriften har egentlig en overskrift, men på grunn av plassmangel og ønske om selv å velge overskrift, valgte gruppen å legge til regelen "header: false" som betyr at samlingen av meldinger ikke skal ha en overskrift. <script type="text/javascript"> $(document).ready(function () $('#trafikkflyt').rssfeed(' header: false ); ); </script> 7.6 Sjekke om det allerede eksisterer en bruker For å kunne kjøpe en billett måtte det først registreres en bruker. Når en person registrerer seg blir brukeren lagret i oppdragsgivers API og lokalt i brukerens nettleser. For å unngå at flere brukere ble lagret på samme telefon, ble det laget en funksjon (Tekstboks 4) som skulle sjekke om det allerede eksisterte en bruker. if(localstorage.length > 0) var localstoragearray = new Array(); for (i=0;i<localstorage.length;i++) else localstoragearray[i] = localstorage.getitem(localstorage.key(i)); window.location.href = 'registrer.php'; Tekstboks 4 Funksjonen ovenfor benyttet seg av en if-setning for å sjekke om det fantes data lokalt lagret på telefonen. Variabelen localstorage.length inneholder all lokalt lagret data. Ved å sjekke om denne inneholder mer enn ingenting (localstorage.length > 0) kunne applikasjonen se om det allerede fantes en bruker. Om den er tom ble brukeren sendt til registreringsskjemaet. ~ 21 ~
22 Det ble også lagt inn en funksjon som returnerte en varselboks om en brukere forsøker å gå direkte inn på registreringssiden og allerede har en bruker registrert. I varselboksen må personen velge mellom enten å slette brukeren eller og fortsette å kjøpe billetter med den nåværende brukeren. (Figur 9). Figur 9 - Varselboks 7.7 Url_safe Det ble laget en funksjon (Tekstboks 5) for å bytte ut tegn som æ, ø, å og mellomrom i sidens adresse. Funksjonen inneholder to arrays, hvorav det ene ($letters) inneholdt tegn som ikke skulle godtas og det andre ($hexval) inneholdt tegnene disse skulle erstattes med. Tegnene erstattes og adressen lagres på nytt i $url. function url_safe($input) $letters = array(" ", "æ", "ø", "å", "Æ", "Ø", "Å"); $hexval = array("%20", "%E6", "%F8", "%E5", "%C6", "%D8", "%C5"); return $url = str_replace($letters, $hexval, " $input); Tekstboks 5 8 Datovelgere For å kjøpe en billett må brukeren angi avreisested, ankomststed og avreisetidspunkt. Tidspunkt for avreise velger brukeren i en datovelger. I datovelgeren må det velges måned, dag, time og minutt for avreise. Når brukeren går inn på siden vises dagens dato og nåværende tidspunkt. Applikasjonen inneholder tre forskjellige datovelgere, bestående av en for hver av de tre mest utbredte plattformene som brukes på mobile enheter per i dag. ios, Windows Phone og Android. Dette har blitt gjort for å gi brukeren en mer «native» følelse av applikasjonen. ~ 22 ~
23 Alle tre datovelgerne har utgangspunkt i ferdige koder funnet på Internet. Derfor måtte det også gjøres en del endringer for å tilpasse dem vårt prosjekt. Blant annet hadde datovelgerne i utgangspunktet mulighet for å velge år, noe som ikke er nødvendig i en applikasjon hvor billetter kun skal kunne kjøpes for nærmeste fremtid. if($os == 'Windows') echo "<a href='datepickerwindows.php... if($os == 'Linux') echo "<a href='datepickerandroid.php... if($os == 'MacOS') echo "<a href='datepickerios.php... Tekstboks 6 Applikasjonen inneholder en funksjon (Operativsystem detektor) som finner ut hvilken plattform brukeren benytter seg av. Funksjonen over (Tekstboks 6) skriver på bakgrunn av dette resultatet ut en link til en av de respektive datovelgerne. Hver datovelger er helt separate sider som vises på grunnlag av hvilken plattform funksjonen returnerer. 8.1 ios Datovelgeren for ios er utviklet av Matteo Spinelli's cubiq.org. Den er designet med samme utseende som datovelgeren som finnes på ipad og iphone for å gi nettsidene en følelse av å være en «native» applikasjon utviklet spesielt for Apple. Datovelgeren er kodet i ren JavaScript hvor metodene befinner seg i en separat JavaScript fil. Disse funksjonene blir kalt på og skrevet ut i et annet PHP dokument. Ved hjelp av JavaScript er det mulig å lage en dynamisk applikasjon. Hvert av valgene (dag, måned, time, minutt) blir vist på et hjul brukeren kan snurre rundt for å finne ønsket verdi (Figur 10). (Cubiq, 2009) ~ 23 ~
24 Figur 10 - Datovelger for ios 8.2 Android Datovelgeren for Android (Figur 11) er på samme måte som ios generert ved hjelp av en separat JavaScript fil. I PHP filen som viser datovelgeren, kalles det på JavaScript funksjoner som skriver til HTML elementer på siden. Datovelgeren består av knapper for enten å flytte verdien i et felt opp eller ned til neste verdi. Angitt tidspunkt vises i et eget felt på toppen av velgeren. (Horst, 2010) 8.3 Windows Phone Figur 11 - Datovelger for Android Datovelgeren for Windows Phone (Figur 12) er utviklet av Kevin Liew, som blant annet arbeider med utvikling av jquery plugins, for Mobiscroll. Velgeren er optimalisert for berøringsskjermer på mobile enheter som smarttelefoner og nettbrett og utviklet for å kunne tilpasses eventuelle egendefinerte verdier. Det er mulig å endre utseende ved å bytte til et av de andre forhåndsdefinerte temaene som ligger klare i kodene. Den er, på samme måte som de andre datovelgerne, designet for å brukes som et intuitivt alternativ til telefonens standard datovelger. Tid og dato velges på samme måte som i ios datovelgeren ved hjelp av hjul som snurres rundt til ønsket verdi. (Mobiscroll) ~ 24 ~
25 Figur 12 - Datovelger for Windows Phone 9 Sikkerhet 9.1 Obfuskere kildekode Oppdragsgiver ønsket svar på om applikasjonens kildekode kunne obfuskeres (skjules) slik at den ikke var tilgjengelig for brukeren. Dette er ønskelig i en slik applikasjon fordi billetter og brukerinformasjon er sårbart når det ligger lagret i variabler. Applikasjonens PHP kode er ikke nødvendig å skjule fordi PHP er et serverside programmeringsspråk som ikke er synlig for brukeren. HTML og CSS kodene er det ikke mulig å skjule, noe som heller ikke er nødvendig fordi sensitiv informasjon ikke håndteres av disse programmeringsspråkene. Ved hjelp av forumer og nettsteder om obfuskering av kildekode, spesielt med tanke på JavaScript, har gruppen kommet fram til at dette ikke er mulig. Problemet er at nettleseren, naturlig nok, håndterer kodene på samme måte som de blir skrevet. Om brukeren går inn i nettleserens meny og velger "vis kildekode" vil personen se kildekoden nettleseren bruker for å generere siden som vises. Om kildekoden krypteres, eller på en annen måte gjøres uleselig for denne personen, vil kodene samtidig være uleselig for nettleseren. Det ville derfor vært fornuftig å kode applikasjonen i PHP eller et baksystem. Men fordi produktet inneholder funksjoner som kun kan utføres hos klienten (brukeren), som f.eks. lokal lagring, må noe av kodene være skrevet med JavaScript. Noe av applikasjonen, f.eks. å vise kjøpte billetter, skulle også kunne gjøres uavhengig om brukeren er tilkoblet Internet. Dette krevde igjen at informasjonen som skulle vises måtte være lagret lokalt på brukerens telefon når de ble kjøpt og at de kunne vises igjen når brukeren ba om det. Dette måtte derfor gjøres på brukerens telefon og kunne ikke blitt gjort verken ved hjelp av PHP eller et baksystem Sikkerhet gjennom hemmelighold Selv om obfuskering av JavaScript ikke er mulig, finnes det andre metoder for å øke applikasjonens sikkerhet. En strategi som er mye brukte er sikkerhet gjennom hemmelighold ~ 25 ~
26 (Security through obscurity). Tankegangen er at ingen vil prøve å åpne døren fordi ingen vet at den er ulåst. Ved å unngå å vise sikkerhetshull, f.eks. ved å navngi en variabel som holder på et passord for noe annet enn nettopp passord, vil noe av sikkerheten økes. Sikkerhet gjennom hemmelighold alene er ikke sett på som en god sikkerhetsløsning, men det kan være et godt supplement i tillegg til andre sikkerhetsløsninger. (Wikipedia, 2012) 9.2 Lokal lagring Alle billetter kjøpt på applikasjonen lagres lokalt. For å forhindre at disse lagres i klartekst og kan duppleseres eller missbrukes benyttet gruppen seg av et JavaScript bibliotek som krypterer billetten, representert som en base-64 streng, før den lagres lokalt. JavaScript biblioteket som ble benyttet er kodet av Stanford Computer Security Lab og betegnes som SJCL(Stanford JavaScript Crypto Library). Dataene krypteres ved hjelp av et passord, salt og IV. Passordet som brukes til kryptering er samme passord som brukeren skrev inn når brukeren ble opprettet. Når billetten skulle vises frem fra lokal lagring, måtte brukeren igjen skrive inn samme passord. Om dette er riktig, blir billettene dekryptert og vist på skjermen Utfordringer Prosjektet møtte på flere utfordringer i løpet prosjektperioden. Spesielt har mangelen på en felles standard for de forskjellige funksjonene og rammeverkene vært til hodebry Geolokasjon Geolokasjon og innsending mot Trafikantens API er et eksempel på en situasjon en felles standard ville spart gruppen for mye tid. Funksjonen geolokasjon returnerer et tall som inneholder brukerens lengde- og breddegrad. Trafikantens API krever derimot at koordinatene for lengde- og breddegrad gis separat og at de er omgjort til UTM. Gruppen måtte derfor, ved hjelp av JavaScript, dele opp tallet i de to koordinatene og endre tallenes format før de kunne sendes videre til Trafikanten QR- kode En annen utfordring var å vise frem base64 streng, returnert fra oppdragsgivers API, som en QR- kode. Den todimensjonale strekkoden skulle vises som et bildeelement i applikasjonen. Oppdragsgivers API returnerte en streng som inneholdt linjeskift (Tekstboks 7), noe som gjorde at bildeelementet ikke klarte å ivborw0kggoaaaansuheugaaajyaaacwcaiaaac tolke QRkoden som zy+a1aaaabmjlr0qa/wd/ap+gvaetaaacgule\r\nqv et bilde. R4nO3dwW6jMBRA0WE0///L6aI7NKUlNoZbnbONEqW6s vrkgnher9cfyv7e/quyjwgehhks5kmy\r\nj2gehhks5k myj2gehhks5kmyj2gehhks5kmyj2gehhks5kmy92/8 I7ZtG/+Qnzh12G73rXbvPfXq\r\ndaYcH7QK8yTMkzBPwr wj48zoxbp+i2pfxk/xkl/ok1zhnor5euzjmdd/nnk59q9 82f7LyIRy3V/0\r\nHqswT8I8CfMkzLt8nLnO8aRw/OrxsN NiFeZJmCdhnoR54XFm5yHHYdazCvMkzJMwT8K8y8eZ ~ 26 ~ uzy+\r\njuexkw/1tk0cqzbpwjwj8ytmmz/olnshmxjt0ql fpp7gksytme/cpanzjowzt9ut+imrczdpyxxm\r\nszgn YZ6EeavvO/OQI
27 Tekstboks 7 - QR- kode representert som base64 streng Problemet lå i APIet og i samarbeid med oppdragsgiver ble tegnene fjernet. Etter det var gjort kunne base64 strengen legges inn i et bildeelement (Tekstboks 8) og på den måten vises til brukeren som en billett. <img src='data:image/png;base64,". $result->qrcode. "' alt='qrcode' width='65%' /> 10.3 Kommunikasjon med API Tekstboks 8 For å opprette en bruker eller kjøpe en billett måtte informasjon sendes til og mottas fra oppdragsgivers API. Det ble brukt en GET metode (file_get_contents()) for å hente ut data fra APIet (Tekstboks 9). Denne metoden returnerer svaret fra APIet som en lang tekststreng. For å kunne lagre informasjon ble det brukt en POST metode (Tekstboks 9). Figuren nedenfor viser de kodene som skal til for å utføre en slik metode. Først legges informasjonen som skal lagres (fornavn, etternavn, e-post adresse, passord) inn i et array ($data). Dette arrayet legges deretter inn i metoden http_build_query() som generer en URL med innholdet i arrayet. I tillegg lages det et array ($options) med definering av valg knyttet til spørringen, som f.eks. hva slags innhold som skal lagres. Deretter kjøres metoden stream_context_creat, som gjør informasjonen klar til å sendes inn til APIet. Til slutt kjøres metoden file_get_content() som returnerer, i dette tilfelle, brukerens ID (autheticationtoken). ~ 27 ~
28 $data = http_build_query( array( 'firstname' => $_REQUEST['firstName'], 'lastname' => $_REQUEST['lastName'], ' ' => $_REQUEST[' '], 'password' => $_REQUEST['password'] ) ); $options = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $data)); $context = stream_context_create($options); $result = file_get_contents(' false, $context); $_SESSION['AT'] = $result; Tekstboks Unngå søk på område Applikasjonen skulle være en billettapplikasjon som på bakgrunn av avreisestasjon, ankomststasjon og tidspunkt skulle vise brukeren reiseruter knyttet til disse valgene. Metoden gruppen benyttet for å søke etter stasjoner i Trafikantens API returnerte alle stasjoner og områder som inneholdt den teksten brukeren søkte etter. Derimot ville ikke metoden som ble benyttet for å beregne en rute fungere om stedet brukeren valgte å reise fra eller til var et område. Det måtte derfor ikke være mulig for brukeren å søke på et område. foreach ($obj as $key) if(strpbrk(utf8_decode($key->name), '#') == null) echo "... Kodene ovenfor skriver ut alle objektene (reiserutene) Trafikanten returnerer. For å utelukke områder ble det brukt en PHP metode for å sjekke om svaret inneholdt et "#". "#" definerte at det var et område, og det holdt derfor bare å utelukke alle svar som inneholdt dette tegnet Tidsformat De tre datovelgerne som ble benyttet i applikasjonen ble lastet ned ferdige utviklet fra Internet. Fordi gruppen selv ikke hadde utviklet disse fra bunn av, ble det derfor brukt svært mye tid på å sette seg inn i kodene. Spesielt tidsformatet var utfordrende fordi alle datovelgerne benyttet seg av helt forskjellige format for å skrive den valgte datoen til neste ~ 28 ~
29 side. Tidsformatet datovelgerne skrev ut var ulikt det som måtte sendes til Trafikantens API. Trafikantens API måtte ha datoen skrevet DDMMYYYYHHMM (f.eks ). Android I datovelgeren for Android definerte gruppen selv hvordan tiden skulle presenteres ved hjelp av metoden dateformat() (Tekstboks 10). Det gjorde at formatet enkelt kunne settes til formatet som krevdes av Trafikantens API. Funksjonen updatef ble kjørt hver gang brukeren endret dato i datovelgeren. function updatef() $('#mon').val(dateformat(cd, "mmm")); $('#day').val(dateformat(cd, "dd")); $('#dstr').html(dateformat(cd, "")); $('#hour').val(dateformat(cd, "HH")); $('#min').val(dateformat(cd, "MM")); var timestamp = dateformat(cd, "ddmmyyyyhhmm"); document.getelementbyid('time').value = timestamp; Tekstboks 10 ios I datovelgeren for ios var datoformatet 01 Feb Det måtte derfor kodes en funksjon som gjorde om datoen til riktig format. Nedenfor følger denne koden. if($_request['timeios']!= null) $date = $_REQUEST['timeIos']; list($day, $month, $hour, $minute) = preg_split('/ /', $date); [...] if($month == "jan.") $monthnum = "01"; if($month == "feb.") $monthnum = "02"; Datoen som ble hentet fra datovelgeren ble lagt inn i variabelen $date. Kodens oppgave var å oversette månedens navn til månedens nummer, samt legge til årstallet som manglet. Det ble løst ved at $date ble delt opp i deler separert av mellomrom. På den måten ble datoen fordelt på fire variabler ($day, $month, $hour og $minute). Dermed kunne månedens navn oversettes til tall ved å gi måneden et spesifikt tall("01") for et spesifikt navn(f.eks. "jan."). Resultatet ble lagt i variabelen $monthnum. ~ 29 ~
30 Deretter brukes funksjonen date("y") for å finne inneværende år. Til slutt settes de nye variablene sammen til formatet som stemmer med det som kreves av Trafikanten. Det ble gjort slik: $_SESSION['time'] = $day. $monthnum. date("y"). $hour. $minute; 10.6 Håndtering av feilmeldinger Om det ble sendt en ugyldig forespørsel mot et API ville applikasjonen returnere en feilmelding. Disse feilmeldingene var ikke nødvendig å vise til brukeren fordi det allerede var implementert tilbakemelding til brukeren om det ble skrevet inn ugyldig informasjon eller på annen måte utført en feil av brukeren. Gruppen valgte derfor å legge inn en PHP "Error Control Operator". Operatoren ble betegnet med og plasseres den foran et PHP uttrykk ble det ikke skrevet ut feilmeldinger. (PHP, 2012) Figuren (Tekstboks 11) nedenfor viser hvordan operatoren ble brukt i applikasjonen. Det ble skrevet en "@" foran funksjonen file_get_contents($url), som gjør at feil fra denne funksjonen ignoreres. $url = " $time. "&from=". $fromid. "&to=". $toid; $obj = json_decode(@file_get_contents($url)); Tekstboks 11 I figuren nedenfor (Tekstboks 12) brukes også operatoren. Operatoren ble også lagt til på funksjonen krsort() som ble brukt for å sortere billettene i "Mine billetter". Dette ble implementert fordi man har mulighet til å gå inn på mine billetter før det har blitt kjøpt noen billett. Ved å sette unngår man feilmeldinger om ingen billetter er kjøpt. Det er også her kodet inn en egen feilmelding som gir beskjed om at brukeren ikke har noen billetter. $obj = if($obj==false) echo "Du har ingen billetter! ; 10.7 Tegnsett Tekstboks 12 Visning av tegn som Æ, Ø og Å har vært en utfordring. For å kunne vise de norske bokstavene måtte applikasjonens sider tolkes med riktig tegnsett. Tegnsettet som brukes i ~ 30 ~
31 Norge er ISO Trafikantens API returnerer stasjoner og annen trafikkinformasjon i UTF-8, som er et tegnsett som ikke støtter de tre norske bokstavene. I stedet for de vanlige bokstavene ble det skrevet ut uleselige tegn (f.eks. blir Å til à ). Gruppen løste dette ved å legge inn en PHP funksjon som konverterer en UTF-8 streng til ISO Figuren nedenfor (Tekstboks 13) viser at funksjonen brukes i utskriften av stasjonsnavn. echo "<a href='datepickerwindows.php?toid=". $key->id. "&toname=". utf8_decode($key->name). "'class='button'><div id='linjelink'>". utf8_decode($key->name). "</div></a><hr />"; Tekstboks Kilder Bekk. (2009, 10 14). Hentet 2012 fra Cubiq. (2009). cubiq.org. Hentet 2012 fra Horst, T. M. (2010, 12 30). toddmhorst.wordpress.com. Hentet 2012 fra itpro.no. (2003, 08 21). itpro.no. Hentet 2012 fra jquerymobile. (u.d.). jquerymobile.com. Hentet 2012 fra kodehjelp. (u.d.). Hentet 2012 fra Mobiscroll. (u.d.). blog.mobiscroll.com. Hentet 2012 fra PHP. (2012, 05 25). php.net. Hentet 2012 fra Wikipedia. (2012, 05 15). en.wikipedia.org. Hentet 2012 fra Wikipedia. (2012, 05 18). no.wikipedia.org. Hentet 2012 fra ~ 31 ~
Hovedprosjekt Gruppe 13
PROSJEKT NUMMER 2012-13 Studieprogram: Anvendt Datateknologi Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET Åpen HOVEDPROSJEKT HOVEDPROSJEKTETS TITTEL
DetaljerHovedprosjekt 2012 - Gruppe 13. Del 3: Vedlegg ~ 1 ~
Del 3: Vedlegg ~ 1 ~ Innhold 1 Planer... 4 1 A- Fremdriftsplan... 4 1 B - Arbeidsplan... 6 1 C - Milepælsplan... 8 2 Modeller... 10 2 A- Use case... 10 2 B - Detaljert use case beskrivelse - kjøp av billett...
DetaljerForprosjekt gruppe 13
Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web
DetaljerProduktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk
Produktdokumentasjon Madison Møbler Administrasjonsside og Nettbutikk 1 1. Forord 1.1 Dokumentasjonen Dette er en teknisk dokumentasjon på produktet som er utviklet. Denne er tiltenkt personer med teknisk
DetaljerUtvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet
Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype
DetaljerHTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS
Skjemaer med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 10 Informasjonsteknologi 1 og 2 Skjemaer på nettsider I denne leksjonen skal vi se litt nærmere på bruk av skjemaer på nettsider. Du har sett
DetaljerBrukerveiledning LagerMester ios
ios Hvis du spiller på ipad eller iphone, følg disse stegene for å laste ned appen, logge inn og starte treningen Gå til: lagermester.attensi.com, trykk på «Download on the App Store» Logg inn på itunes
DetaljerCompello Invoice Approval
Compello Invoice Approval Godkjenning Webmodul brukerdokumentasjon Nettbrett og desktop via nettleser Index 1 Innledning... 3 2 Funksjonalitet... 4 Nettbrett og desktop via nettleser... 4 2.1.1 Desktop
DetaljerNCE TOURISM FJORD NORWAY. FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012
NCE TOURISM FJORD NORWAY FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012 HACKERS HOUR Hvor langt kommer vi med FjordNett rammeverket? Html CSS Javascript Hva er bestanddelene av en nettside? Html
DetaljerKRAVSPESIFIKASJON FORORD
KRAVSPESIFIKASJON FORORD Hensikten med kravspesifikasjonen er å gi oppdragsgiver og utviklere en enighet og forståelse av funksjonaliteten til applikasjonen som skal produseres. en definerer i tillegg
DetaljerOblig 5 Webutvikling. Av Thomas Gitlevaag
Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge
DetaljerEn beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet
API- dokumentasjon En beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet Direktoratet for byggkvalitet Side: 2 av 7 Innhold 1 INNLEDNING...
Detaljer- reklamebannere mobil og tablet
Spesifikasjoner - reklamebannere mobil og tablet FINN.no Versjon 2.4 Sist oppdatert 16.08.2013 1. Innhold Innhold Introduksjon Målsetning Spesifikasjoner HTML Fysisk størrelse 225 px* Eksempler Størrelser
DetaljerEventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Testrapport
Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013 Testrapport 1 INNHOLDSFORTEGNELSE 1 INNHOLDSFORTEGNELSE... 1 2 Innledning... 2 3 Formål med testing... 3 3.1 Funksjonalitet...
DetaljerVMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang
VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk
DetaljerKravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften
Kravspesifikasjon Presentasjon Hovedprosjektet gjennomføres ved Høgskolen i Oslo, avdelingen for ingeniørutdanning. Målet med oppgaven er å utvikle en online webshop for bestilling av postkasser. Dette
DetaljerKRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.
KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder.
DetaljerStikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.
Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Studenter: Magnus Skomsøy Bae, Marius Eggen, Magnus Krane Klasse: 3ING, Systemutvikling Produserer redaksjonelle
DetaljerHjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)
Informasjon om eksamen EKSAMEN Emnekode: ITF10213 Emnenavn: Innføring i programmering Dato: 05/12-2017 Eksamenstid: 09.00-13.00, 4 timer Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark)
DetaljerBachelorprosjekt i informasjonsteknologi, vår 2017
Bachelorprosjekt i informasjonsteknologi, vår 2017 Gruppe 29: Marthe Janson Skogen, s236357, Ingeniørfag - data Odd Einar Hoel, s236313, Ingeniørfag - data Forprosjektrapport Rapporten inneholder presentasjon,
DetaljerRUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING
RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING Prosjekt 18 Jørgen Mobekk Sørensen Morten Evje Tor Andreas Baakind Anders Gabrielsen Side 1 1 FORORD Dette dokumentet er brukerveiledningen, og skal være en veiledning
DetaljerGruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298
Gruppe prosjekt del 3 INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298 Del 1 Forholdet mellom HTML, JavaScript og MongoDB HTML, er et markeringsspråk for hypertekst. HTML benyttes for å strukturere
DetaljerInnholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10
1 Innholdsfortegnelse 1. Testing... 3 1.1 Feiltesting av koden... 3 1.2 Funksjonstesting:... 7 2. Kilder.10 2 1. Testing Testing av et system er nødvendig for å finne ut om systemet fungere slik det skal
DetaljerMulti-Faktor Autentisering. Brukerveiledning
Multi-Faktor Autentisering Brukerveiledning 1 Innhold Innledning... 3 Telefonanrop (standard)... 3 Oppsett... 3 Bruk... 3 Mobil App (valgfri)... 4 Oppsett... 4 Bruk... 5 Multi-Faktor portal...7 Pålogging...7
DetaljerEksamen i Internetteknologi Fagkode: IVA1379
Høgskolen i Narvik Side 1 av 5 Eksamen i Internetteknologi Fagkode: IVA1379 Tid: Mandag, 07.06.04, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 4 oppgaver
DetaljerNedlasting av apper på Apple
Nedlasting av apper på Apple Vi skal se på hvordan du kan laste ned apper på ditt nettbrett. Først, hva menes med uttrykkene app, apper applikasjoner. app er kortversjonen av det engelske uttrykket application,
DetaljerDenne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.
Produktrapport Forord Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Dataansvarlig eller supporter trenger informasjon om
DetaljerKravspesifikasjon. Forord
Forord Kravspesifikasjonen skal gi en oversikt og forståelse over det planlagte systemets funksjonalitet. Dokumentet skal gi både utviklere og oppdragsgivere innblikk i hvordan og hva systemet skal levere.
DetaljerSystem Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk
System Dokumentasjon Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk System Dokumentsjon 23/04/2018 Systemutvikling og dokumentasjon/ia4412
DetaljerSikkerhet i Pindena Påmeldingssystem
Sikkerhet i Pindena Påmeldingssystem Versjon: 4.2.0 Oppdatert: 30.08.2017 Sikkerhet i Pindena Påmeldingssystem 2 Innhold Om dokumentet 3 Sikkerhet på klientsiden 3 Sikkerhetstiltak i koden 3 Rollesikkerhet
DetaljerBrukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering
Brukerdokumentasjon Webservices og webklient for kodeverk/ kodeverdi verifisering Innholdsfortegnelse... 3... 3... 3... 3... 4... 4... 4... 4... 8... 9... 10!... 10 "... 11 # $... 11 1. Om systemet 1.1.
Detaljerfile:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html
1 of 9 15.04.2015 14:15 Spry og behaviours Både Spry and Behaviours er basert på programmeringsspråket Javascript. Javascript kjører i nettleseren og ikke på webserver som PHP og Perl. På en lignende måte
DetaljerINF2120 V2005. Gruppe 2 christrc ieronnin kjetimk noushinm sjuros. Trafikanten+ Innlevering
INF2120 V2005 Gruppe 2 christrc ieronnin kjetimk noushinm sjuros Trafikanten+ Innlevering 2 29.04.2005 Intensjon Vårt trafikkoppfølgingssystem skal være et system for brukerne av rutetrafikk, ved at disse
DetaljerBRUKERVEILEDNING KID ButikkSim IPAD
IPAD Følg stegene under for å installere og starte simuleringen 1 2 3 4 Gå til: http://kid.attensi.com og trykk på «Dowload on the App Store» Logg inn på itunes Store Trykk på «Installer». Vent mens appen
DetaljerProduktrapport. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23
Utvikling av moduler til CMS for bonefish.no Gruppe 08-23 Produktrapport for hovedprosjektet utvikling av moduler til CMS for bonefish.no ved Høgskolen i Oslo, avdeling for Ingeniørutdanning våren 2008.
DetaljerEn bedre verden med AJAX
En bedre verden med AJAX Frode Eika Sandnes Hva er AJAX Har ikke noe med rengjøringsmidler å gjøre AJAX er et (morsomt) akronym Asynchronous Javascript And XML Henskikt: lage interaktive webapplikasjoner
DetaljerArtist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.
Artist webside Innhold Artist webside...1 Gruppe medlemmer...1 Oppdragsgiver...1 Kontaktperson...2 Veileder...2 Oppgaven...2 Muligheter...2 Sammendrag...2 Dagens situasjon...2 Mål og rammebetingelser...3
DetaljerHøgskoleni østfold EKSAMEN
Høgskoleni østfold EKSAMEN Emnekode: Emne: ITF10213 Innføring i programmerin Dato: Eksamenstid: 06/12-2016 09.00-13.00 Hjelpemidler: Faglærer: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med Tom
DetaljerInnholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5
1 Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 FRA LEVERANSE 1 (GRUPPE 2)...5 TILLEGG I FORUTSETNINGER... 5 REVIDERT UTGAVE AV SPESIFIKASJON FRA
DetaljerDette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen.
1 Sammendrag Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen. Vår oppdragsgiver, ABTF hadde et ønske om en større web
DetaljerWeb fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand
Web fundamentals Webdesign 17. januar 2008 Monica Strand Webdesign 17. januar 2008 1 Web design Fagområdet Web design inneholder flere disipliner Grafisk design Informasjonsdesign Brukergrensesnittdesign
DetaljerEventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Produktrapport
Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013 Produktrapport 1 Innholdsfortegnelse 1 Innholdsfortegnelse... 1 2 Produktdokumentasjon... 2 3 Beskrivelse av mobilapplikasjonen...
DetaljerEksamen i Internetteknologi Fagkode: ITE1526
Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og
DetaljerPROSESSDOKUMENTASJON
PROSJEKT NR.: 10-30 Studieprogram: Anvendt Datateknologi Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET: Papir og elektronisk Telefon: 22 45 32 00
DetaljerTestrapport Prosjekt nr. 2011-22 Det Norske Veritas
Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato
DetaljerBachelorprosjekt 2015
Bachelorprosjekt 2015 Høgskolen i Oslo og Akershus Tam Ha (s171513) Arslan Yousaf (s189135) Gabriel Noraker Alfarrustad (s161910) Eivind Lund (s180381) Phillip Padiernos Næss (s162951) Forprosjekt Prosjektets
DetaljerOBLIG 1 - WEBUTVIKLING
OBLIG 1 WEBUTVIKLING Oppgave 1 Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak. Problemer med funksjonalitet / bruk Uoversiktlig side For
Detaljerlagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS
Offline lagring med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 8 Informasjonsteknologi 2 Offline lagring I IT1 brukte vi databaser til å lagre data. Der kunne vi bygge tabeller og fylle dem med innhold
DetaljerKRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1
KRAVSPESIFIKASJON Gruppe 2 Hovedprosjekt, Høgskolen i Oslo og Akershus Våren 2014 KRAVSPESIFIKASJON 1 CONTENTS 1. Forord... 3 2. Presentasjon... 3 2.1 Gruppens medlemmer... 3 2.2 Oppdragsgiver... 3 2.3
Detaljer1. Profiler og variabler
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Profiler og variabler Stein Meisingseth 26.05.2014 Lærestoffet er utviklet for faget IDRI3005 PowerShell 1. Profiler og variabler Resymé:
DetaljerTestlederveiledning for Båtførerprøven
Testlederveiledning for Båtførerprøven Bruksanvisning for Testadmin Questionmark Perception Enterprise Manager Oppdatert bruksanvisning kan dere laste ned fra våre Testsentersider på www.norsktest.no/bfp/testleder
DetaljerTestsituasjon Resultat Kommentar. Fungerer som det skal!
Test- rapport Testsituasjon Resultat Kommentar Test av PHP-variablene. Sjekke om de er riktig deklarert, og om de kommer med fra form til database Alle variablene som skal leses fra konfigurasjonssiden,
DetaljerInf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.
Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014
DetaljerKravspesifikasjon Gruppe nr ABTF
1 Presentasjon Tittel: Web-løsning for ABTF Utvikle en Web-løsning helt fra bunnen av, samt med en Oppgave: plattform som gir underviseren muligheten til å veilede og følge opp sine elever gjennom kurset.
DetaljerCompello Fakturagodkjenning 10.5 Godkjennings app - nettleser, nettbrett og telefon
Compello Fakturagodkjenning 10.5 Godkjennings app - nettleser, nettbrett Page 1 av 37 Godkjenning - Nettleser eller App for nettbrett Dokumentopplysninger 2018 Compello AS. Med enerett. Microsoft, MS-DOS
DetaljerS y s t e m d o k u m e n t a s j o n
S y s t e m d o k u m e n t a s j o n Monitorering av produksjonsløyper ved Nasjonalbiblioteket - Project BAKE Utarbeidet av: Einar Wågan Kristian Akerhei Studium: Informasjonssystemer Innlevert: 26.5.2015
DetaljerProduktrapport Gruppe 9
Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette
DetaljerForprosjektrapport for bacheloroppgave i data og informasjonsteknologi
Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi Gruppe 5 Anders Minde Dørum, Eirik Odden Solberg, Patrick Ingeberg og Torbjørn Magnus Brandrud Prosjektmedlemmer: Anders Minde Dørum,
DetaljerSikkerhet i Pindena Påmeldingssystem
Sikkerhet i Pindena Påmeldingssystem Versjon: 1.6.9 Oppdatert: 26.11.2014 Sikkerhet i Pindena Påmeldingssystem 2 Innhold OM DOKUMENTET... 3 SIKKERHET PÅ KLIENTSIDEN... 3 SIKKERHETSTILTAK... 3 ROLLESIKKERHET...
DetaljerDokument 1 - Sammendrag
Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om
DetaljerBrukermanual. Firmachat
Brukermanual Brukermanual Firmachat 02.08.2017 F5 IT StavangerAS Innhold 1 Introduksjon... 4 2 Overordnet informasjon... 4 2.1 Hovedfunksjonalitet... 4 2.2 Viktig informasjon for agenter... 4 3 Struktur
DetaljerTeam2 Requirements & Design Document Værsystem
Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 22/01/2018 Systemutvikling og dokumentasjon/ia4412
DetaljerHovedprosjekt ved Høgskolen i Oslo våren 2011 CHARITY DOCTORS KRAVSPESIFIKASJON
CHARITY DOCTORS KRAVSPESIFIKASJON Hovedprosjekt i informasjonsteknologi ved Høgskolen i Oslo våren 2011 Gruppe 13 Muleha Nhonzi Harlem Tambwe Mufoncol Ruban Amuthalingam Page 1 of 6 1 Innledning 1.1 Innledning
DetaljerRequirements & Design Document
Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 03/04/2018 Systemutvikling og dokumentasjon/ia4412
DetaljerGruppe 43. Hoved-Prosjekt Forprosjekt
Gruppe 43 Hoved-Prosjekt Forprosjekt Mobil Applikasjon Utvikling HiOA Bacheloroppgave forprosjekt våren 2017 Presentasjon Gruppen består av: Gebi Beshir Ole-Kristian Steiro Tasmia Faruque s182414 s189141
DetaljerArgus Web-App. Håndboken på web. Enkelt og intelligent!
Argus Web-App Håndboken på web Enkelt og intelligent! post@argus.no Tlf.: 35 50 51 52 www.argus.no Hva er Argus-håndboken på Web? Nå kan du lese håndboken på telefon eller nettbrett. Argus har valgt å
DetaljerBrukerveiledning. Gruppe 9
Forord : I dette dokumentet vil du få presentert en brukerveiledning for databasesystemet som vi har laget for Nor daglig vare import. Dokumentet er illustrert med bilder, og i tillegg finnes det forklaringer
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 20. mai 2005 Varighet: 3 timer (09:00 12:00) Fagnummer: Fagnavn: Klasse(r): LV197D Webprogrammering med
DetaljerBRUKERMANUAL. Deviations and Reporting
BRUKERMANUAL Deviations and Reporting Forord Dette er brukermanual for CEMAsys Immediate Reporting applikasjon som er laget for iphone og Android telefoner. CEMAsys Immediate Reporting er en applikasjon
DetaljerElektroniske sjekklister
Opprette passord Elektroniske sjekklister Opprette passord Skriv inn denne adressen i nettleseren din og trykk enter: http://bit.ly/sjekklistepassord Du kan gjøre dette på mobilen, men det anbefales at
DetaljerUser Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05
User Input / Output Handling Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05 Oversikt Bruker-input (kap. 3) Hva er input? Validering av input Behandle ugyldig input Farer
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 17.desember 2001 Varighet: 0900-1300 Fagnummer: LV192D Fagnavn: Web-programmering med ASP Klasser: 1hsf Vekttall:
DetaljerAdministrering av SafariSøk
Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...
DetaljerI denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for
DetaljerTips og triks nettbrett (ios og Android) Kristiansand folkebibliotek
Tips og triks nettbrett (ios og ) Kristiansand folkebibliotek Hva er nettbrett?... 2 ipad... 3... 3 App er... 4 Sikkerhet... 9 Tilpassing...10 Oppdatering...10 Praktiske ting...10 Sikkerhetskopiering...12
DetaljerInnføring i bruk av CGI4VB
Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen
DetaljerINF1010 MVC i tekstbaserte programmer
INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest
DetaljerHvordan bruker du https://mobilparkering.com
Hvordan bruker du https://mobilparkering.com MENY Klikk på det du lurer på eller scroll videre GENERELT Hva er mobilparkering.com Har du den gamle appen vår? Legge til som bokmerke BRUKERPROFIL Startside
DetaljerIntroduksjon til Min Sky - http://min-sky.no
Introduksjon til Min Sky - http://min-sky.no Min Sky 1 Velkommen til Min Sky! Min Sky er en tjeneste for å lagre dine bilder og filer enkelt og trygt i nettskyen. Når disse er lagret kan du se dem på din
DetaljerHØGSKOLEN I OSLO OG AKERSHUS. FôrIt CDS. Testrapport
HØGSKOLEN I OSLO OG AKERSHUS FôrIt CDS Stian Strøm Anderssen, Mikkel Sannes Nylend og Shahariar Kabir Bhuiyan Gruppe 10 26.05.2014 Forord I dette dokumentet vil det bli beskrevet hvordan vi har testet
DetaljerInnhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6
Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6 Endre passord på Kirkedata... 9 Dropbox på Kirkedata... 12 Apple Mac RDP... 18 Outlook og e-post... 28 Outlook Web
Detaljer1. Forord 2. Leserveiledning
KRAVSPESIFIKASJON 1 1. Forord Hensikten med kravspesifikasjonen er at den skal fungere som et styringsdokument under prosessen og definere rammer og betingelser rundt hovedprosjektet. Den er utviklet etter
DetaljerPresentasjon... 3. Sammendrag... 4. Dagens situasjon... 5. Mål og rammebetingelser... 5. Moduler... 6. Løsning og alternativer...
Innholdsfortegnelse Presentasjon..................................................... 3 Sammendrag.................................................... 4 Dagens situasjon.................................................
DetaljerInfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby
InfoRed Publisering - produktbeskrivelse www.talkpool.no TalkPool WebServices Postboks 90 1484 Åneby InfoRed Produktbeskrivelse 2 Sammendrag InfoRed Publisering er produktet for å administrere en hel informasjonstjeneste,
DetaljerFunksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.
Kravspesifikasjon I dette kapittelet foreligger kravspesifikasjonen som ble utformet tidlig i prosjektprosessen. Dette er den opprinnelige kravspesifikasjonen. Det har igjennom prosjektprosessen vært naturlig
DetaljerWordpress. Kurs Kristiansand Folkebibliotek
Wordpress Kurs Kristiansand Folkebibliotek Innhold Forord... 2 Bruksområde for blogger... 2 Hva er WordPress?... 2 Hvorfor Wordpress?... 2 Sett opp blogg i WordPress... 3 Populære blogge tjenester:...
DetaljerKjørehjelperen Brukerveiledning
2013 Kjørehjelperen Brukerveiledning Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Dette dokumentet tar for hvordan man bruker Kjørehjelperen. Det tar også for
DetaljerKravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011. Gruppemedlemmer
Kravspesifikasjon Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011 Gruppemedlemmer Adeel Yousaf Khan s141459 Mats Klingenberg Naustdal s148155 Nur M. Ahmed s148108 Thomas Wiborg s161335
DetaljerOblig 4 Undervisningshefte i grunnleggende JavaScript programmering
Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Innhold: Variabler Boolske verdier Kontrollstrukturer Datastrukturer Løkker Funksjoner Events DOM behandling av Christine Skjønhaug Færø
DetaljerEntobutikk 3.TESTRAPPORT VÅR 2011
3.TESTRAPPORT VÅR 2011 1 DELKAPITTEL 1 FORORD Denne testrapport er skrevet i forbindelse med vårt hovedprosjekt ved Høgskolen i Oslo, ingeniørutdanning, våren 2011. Rapporten beskriver testingen av hele
DetaljerJavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS
MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,
DetaljerInnhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6
Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6 Endre passord på Kirkedata... 9 Dropbox på Kirkedata... 12 Apple Mac RDP... 18 Outlook og e-post... 20 Outlook Web
Detaljer<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.
Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();
DetaljerTimeStamp - Hovedprosjekt ved HIOA 2012
TimeStamp - Hovedprosjekt ved HIOA 2012 Forord Dette dokumentet er en brukermanual for systemet TimeStamp, og er skrevet for de ansatte ved Fretex Elevator som skal bruke dette systemet. Manualen gir beskrivelser
DetaljerForprosjektrapport. Utvikle en plattform for digitalisering av foosballbord.
Forprosjektrapport Tittel Oppgave Periode Openfoos Utvikle en plattform for digitalisering av foosballbord. 3. januar til 15. juni Gruppemedlemmer Amir Ghoreshi Marcel Eggum Neberd Salimi Valentin Rey
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 20. mai 2005 Varighet: 3 timer (09:00 12:00) Fagnummer: Fagnavn: Klasse(r): LV197D Webprogrammering med
DetaljerHovedprosjekt 2014, Høgskolen i Oslo og Akershus
Forprosjektrapport Gruppe 2 Hovedprosjekt 2014, Høgskolen i Oslo og Akershus 1 INNHOLD 2 Presentasjon... 2 2.1 Gruppen medlemmer... 2 2.2 Oppgave... 2 2.3 Oppdragsgiver... 2 2.4 Veileder... 2 3 Sammendrag...
DetaljerHovedprosjekt 2011. Høgskolen i Oslo. Gruppe 24. Tore Holmboe (s155547) Vegard Kamben (s148147) Anders Fohlin Kjøde (s155551) Haakon Nygård (s155535)
Hovedprosjekt 2011 Høgskolen i Oslo Gruppe 24 Tore Holmboe (s155547) Vegard Kamben (s148147) Anders Fohlin Kjøde (s155551) Haakon Nygård (s155535) Stian Pettersen (s144449) en RSS-leser på tvers av touchenheter
DetaljerEW-7438RPn Air Quick Installation Guide
EW-7438RPn Air Quick Installation Guide 02-2014 / v1.0 I. Produktinformasjon I-1. Pakkens innhold - EW-7438RPn Air - CD med multi-språk QIG & brukermanual - Hurtiginstallasjonsguide (QIG) - Tilgangs-nøkkelkort
DetaljerUtvikling av dynamiske nettsteder med PHP og databaser, høsten 2006
Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Et program som er installert på en tjenermaskin, og som tillater eksterne programmer å utføre spørringer
Detaljer