Archive for C# .NET

Godt nytt år

2013 har gått i en fei, vi har hatt mer enn nok å gjøre, for å si det slik, men hva har vi egentlig brukt tiden på?

CodePort MPS får stadig små justeringer, mest for Svenheim må innrømmes. Mye syes sammen med webløsningen og dette gir av og til utfordringer i og med at vi snakker to vidt forskjellige utviklingsverktøy. Vi hadde noen sporadiske tilfeller av at felter ble blanket i ordren, men etter et prøveprosjekt som ble innledet i desember 2012 fant vi årsaken (Clarionfeil) og har greid å komme oss gjennom 2013 uten slike feil.

Vår kunde på Java-utvilking ønsket en grad av prosjektstyring inn i tidsystemet. Vi har jo prosjekttidsregistrering i MPS-systemet, så det var naturlig å se litt på hvilke ideer som kunne trekkes ut av det. Vi kom opp med en datamodell og en løsning som kunne brukes. I skrivende stund er denne under aktiv testing og har blitt godt mottatt blant konsulentene i selskapet. Modulen inngår som en del av en større leveranse til en kommune.

Vi har også utviklet en selvstendig prosjektstyringsmodul i .NET, kalt JMP, eller Just Manage Projects. Dette var en forespørsel om et utviklingssamarbeid, dvs. at CodePort tar utviklingen, mens Just DoubleClick skal stå for salg. Målet var å få til en selvstendig modul hvor kundene kan importere og eksportere til fakturasystem via webservices og med stort fokus på enkel registrering og lett rapportering. Prosjektet har gått relativt greit, men det viser seg nok engang at hva kunder sier de trenger er noe helt annet enn hva de faktisk ønsker. Det har til tider vært mye mer arbeid enn hva vi kan håndtere, men det har vært viktigere her å utsette releaser enn å kompromisse på kvalitet.

Måleravlesningssystemet går sin gang, det har nå gått inn over en halv million avlesninger. Det er fint lite feil i systemet og svært stabilt. Noen tilfeller av «shit in – shit out» har det dessverre vært, men systemet tikker og samlet nedetid det siste året er i underkant av en time og vi har ikke hatt utfordringer vi ikke har kunnet håndtere.

For 2014 ser det ut til at mesteparten av våren vil gå på Java-utvikling, det kan bli en 80% av tiden som går på dette. Vi satser på at våre kunder over mange år, ikke skal bli lidende så altfor mye av det, døgnet har jo 24 timer, men noe ventetid må nok fortsatt påregnes ved nyutvikling. Brenner det, så er vi der uansett!

 

 

Installasjon av MVC applikasjon

Vi hadde en MVC applikasjon som skulle flytte fra en server til en annen. .NET 4 var installert, likeså MVC 3.0, men likevel fikk vi «Error 403.14». I dette tilfellet betydde det at IIS ikke forsto at det var en MVC applikasjon, den lette etter startsiden.

Løsningen var banal: HTTP Redirection var ikke installert på denne severen

Server Manager – Roles – Web Server (IIS) – Roles Services – HTTP Redirection : Var ikke installert. Installerte den, problem løst.

Webportal

I høst har vi hatt gleden av å utvikle en webportal for måleravlesninger. Ikke veldig avanserte greier, men det skal funke både for kunden som leser av måleren sin, kommunen som skal se på sine data og administratoren. Det ligger mye valideringer bak, da mulighetene for feil er merkverdig store, selv med så enkle oppgaver. Videre skal løsningen også virke mot et eksisterende system for avvikskontroll av data og vi har i samarbeid med en leverandør av telefonsystemer, ITZI, også vært behjelpelig med å ta imot telefondata. Den nye løsningen er i sin helhet skrevet i C#, ASP.NET MVC, som i prosjekt etter prosjekt viser seg å være det, for oss, beste verktøyet for web.

Nå har det begynt å tikke inn avlesninger og ting virker stabilt og fint.

img caching

I dag var jobben å få vist gårsdagens grafer på webben. Siden dette er bilder måtte jeg ha inn img tagg. Men, denne ville slett ikke vise riktig når jeg brukte ajax for å oppdatere området mitt, mens når jeg ba om «vis bilde», da fikk jeg riktig. Problemet var nok en gang browsercaching. Min lille /customers/budget/graphsale ble lagret som midlertidig fil, så jeg kunne refreshe til jeg ble blå, slike herlig hentet den lokal kopi. Lurte den med å kjøre inn et ekstra parameter slik

src="/customers/budget/graphsale/<%=new Random().Next()%>

Dermed bli det et nytt kall for hver gang siden vises, så jeg alltid får friske data. Jeg kunne naturligvis brukt år som parameter i stedet, det ville blitt riktig for brukerne flest, men jeg må ta høyde for at en maskin kan være pålogget som forskjellige kunder.

.NET graphing

Leker meg med grafer i .NET MVC om dagen. Fascinerende greier. Litt trøblete å få tak i først, for integrasjonen var ikke helt 100%, men når jeg først fikk det installert er det rimelig rett frem. Et minus er at man må generere bilder i minnet og for å få tak i dem må man kalle opp controlleren. I mitt tilfelle gir det dobbeltarbeid. Vurderer å cache resultatet så jeg slipper å gjøre prosessringen opptil tre ganger.