- Testet ulike APIer fra Google Analytics.
- Fant et API som støttet ASP.NET.
- Sendte spørring til Google Analytics som sendte start-og slutt-dato, beregninger og dimensjoner, fikk returnert en XML-streng.
- Formaterte strengen slik at jeg kunne bruke jqGrid, som er en tabell-komponent basert på jQuery.
- Presenterte statistikken på websiden.
- Laget SQL-spørringer mot CMS-databasen med samme start- og slutt-datoer som spørringene mot GA.
- Kombinerte de to spørringene i en jqGrid-tabell.
- Håndterte sikkerhet ved innlogging.
- Annen funksjonalitet kan finnes under "Resultater" og "Videre arbeid".
Det første jeg gjorde når jeg startet på oppgaven var å teste ut ulike måter for å hente data fra Google Analytics ved hjelp av forskjellige APIer. I starten laget jeg noen prototyper som hentet data ved hjelp av JavaScript eller kun hentet en graf for bestemte datoer, men dette var ikke bra nok. Jeg hadde lyst å hente dataene ved å bruke C#, slik at jeg lettere kunne manipulere dataene som kom inn. Jeg fant til slutt en løsning som gjorde dette. I denne løsningen kunne jeg sende spørringer til Google Analytics med start- og slutt-dato og hvilke beregninger og dimensjoner jeg trengte, og få tilbake en XML-streng som svar. Denne XML-strengen bydde på en del utfordringer i starten, da den ikke var formatert på den måten jeg ville ha den.

Jeg hadde bestemt ganske tidlig at jeg skulle ta i bruk en jQuery-plugin som heter jqGrid. jqGrid er en tabell-komponenent med et lett forståelig API som har alle de funksjonene jeg var ute etter. Men jqGrid krever også at XML-strengen er formatert på en viss måte. Dette ordnet jeg ved å hente ut de parameterene jeg trengte, og laget en ny jqGrid-ready XML-streng. Denne strengen ble sendt til JavaScriptet som bygde jqGriden og viste tabellen med all dataen på websiden. Oppgaven jeg gjorde ved å gjøre uthentingen fra Google Analytics til å vise det i jqGriden er nok det jeg har brukt mest tid på i hele prosjektet.

Når dette var i orden var neste nøkkel-oppgave å hente dataene fra CMS-databasen. Det å gjøre SQL-spørringer mot en database var ikke noe problem, men for å matche CMS-dataene med GA-dataene måtte jeg huske på å bruke samme start- og slutt-dato. Når dette var gjort la jeg CMS-dataene i samme XML-streng som GA-dataene. Dette førte til at jeg fikk en ny jqGrid-tabell som viste kombinerte GA- og CMS-dataer.

Problemstillingen var på dette tidspunktet løst, men det var også viktig å legge til ting som sikkerhet ved hjelp av innlogging, og å gjøre tabell-visningene mer dynamiske for brukeren. Underveis i dette prosjektet har jeg hatt mange ideer på funksjonalitet som kan komme i tillegg til bare det å se kombinerte dataer fra CMS og GA, mer om dette står i "Resultater" og "Videre arbeid".