En
webapplikation, många program
ipIICounter är en webapplikation som ger en användare tillgång till statistik om besöksfrekvenser för en grupp av sidor på www. Användaren skapaar ett konto och lägger sedan till ett valfritt antal sidor som skall mätas till detta, sedan kan han/hon få veta hur många som besökt dessa sidor. Besöksstatistik ges sida för sida, dels under sidans livslängd och dels dag för dag. Användaren kan få veta hur många träffar en sida haft, hur många unika träffar en sida haft samt antalet träffar vars unikhet inte går att avgöra. Dessutom måts återbesöksfrekvenser
Antal träffar |
Varje besök eller återbesök på en sida renderar en träff |
Antal unika träffar |
En besökare som besöker sidan för första gången renderar en unik träff |
Antal träffar vars unikhet inte går att avgöra |
En besökare som kanske/kanske inte besökt sidan tidigare renderar en träff vars unikhet inte går att avgöra, mer om detta senare. |
återbesöksfrekvenser |
Berättar hur många gånger en viss besökare besökt sidan |
Nytt kontosidan har en sådan här formulär.
För att skapa ett nytt konto, klicka på länken skapa ett nytt konto på inloggningssidan. Då dyker det upp en sida med följande formulär. Där man fyller i textfälten och klickar på skapa konto knappen. Ett e‑postmeddelande innehållande kontots lösenord kommer då att genereras och sändas till den e‑mailadress som användaren angivit i formuläret.
Ingenting konstigt alls, bara att fylla i användarnamn och lösenord och klicka på logga in knappen. Om användaren inte lagt till några sidor till kontot kommer sidan för att lägga till och ta bort sidor att genereras, annars sidan för översiktlig statistik.
Sidan för att lägga till och ta bort sidor ser, med borttagande av repititioner och text ut så här
För att ta bort en sida klickar man i flervalsknappen för motsvarande sida uppe
till höger.
För att lägga till en sida fyller man i det nedre formuläret.
Igentligen är det bara ett formulär så det går bra att både lägga till och ta bort sidor samtidigt, det har dessutom ingen betydelse vilken knapp man skickar med.
Sidan för översiktlig statistik ser, återigen något förenklat, ut som nedan
som man ser på bilden kan man genast läsa ut statistik om olika sorters träffar
för samtliga sidor, dels för dagens datum och dels totalt under hela
mätperioden. Man kan också enkelt komma åt mer detaljerad statistik för en viss
sida, genom att följa länkarna i den vänstraste kolumnen. Om man vill kan man
även öppna en mätt sida i ett nytt fönster genom att följa länken med vit
bakgrund.
Nu följer en bild på sidan för statistik över träffar för en enskild sida, dag för dag.
varje stapel i diagrammet visar
grafiskt den information som finns
återgiven i sifferform i de tre kolumnerna till höger. Röd kolumn – röd stapel,
blå kolumn – blå stapel och gul kolumn – gul stapel. En röd siffra är inte
detsamma som motsvarande gul siffra plus motsvarande blå siffra, eftersom en
blå siffra kan motsvaras av en eller flera röda.
Upp och nedpilen ritar ut närmast föregående respektive efterkommande tidsperiod, med dessa kan man alltså vandra i tiden (med sjudagarskliv) det nedre formuläret ger möjlighet att se statistik för en godtycklig tidsperiod, långa tidsperioder kan dock rendera mycket långa nedladdningstider (beror lite på vilken webläsare som används eftersom de har olika cachningsregler för cgi-script)
Sidan för återbesöksfrekvenser ser ut så här
Tabellen gäller för en viss sida, ur tabellen kan man utläsa att sidan har haft
två unika besökare, summan av den vänstra kolumnen, som har besökt sidan
tillsammans sju gånger, summan av den högra kolumnen. En besökare har besökt
sidan fem gånger, första raden, och en
besökare två gånger, andra raden. Tabellen blir naturligtvis mycket roligare om
man har haft fler besökare än så här, men principen är den samma.
Webapplikationen består av en mängd cgi-script, html-templates, html-sidor samt en databas som sammverkar. Spindel i nätet är databasen som lagrar den informatioin som krävs för att hantera ipIICounters konton, här lagras också besöksstatistiken för de sidor som ipIICounter räknar.
Här följer en kort sammanfattning av scripten som gör ipIICounter
login.cgi |
Anropad utan parametrar skriver den ut inloggnningssidan. Med användarnamn och lösenord som argument, kontrolleras i databasen att användaren finns. Om så är fallet och användarens konto innehåller några sidor skrivs sidan för översiktlig statistik ut, annars sidan för att lägga till och ta bort sidor. I samband med detta sätts en kaka hos användaren som visar att han/hon är inloggad, denna går ut efter 15 minuter, men återsätts av övriga script om användaren är aktiv. |
newuser.cgi |
Anropad utan parametrar skriver den ut ’skapa ny användare’-sidan. Med önskat användarnamn och e‑postadress som parametrar skapas ett nytt konto, ett lösenord slumpas fram och skickas till kontohavarens adress. |
statistics.cgi |
statistics.cgi behöver inga parametrar, utan använder sig av värdet i inloggad-kakan för att extrahera de sidor och information om dessa som visas upp. Om inloggad-kakan gått ur tiden kommer scriptet slussa användaren vidare till inaktivsidan. |
pagessetup.cgi |
Anropad utan parametrar skrivs en tabell med kontots sidor samt en möjlighet att kryssa för de sidor som kontohavaren vill ta bort. Under denna skrivs ett formulär som ger kontoinehavaren möjlighet att lägga till sidor i kontot. När scriptet anropas från den sida den själv skapat kommer de förändringar av kontoinnehållet, som användaren specificerat på sidan, skickas met som parametrar databasen uppdateras utifrån dessa. |
pagestatistics.cgi |
pagestatistics måste få idvärdet för den sida den skall presentera statistik om, därutöver kan start och/eller slutvärden för tidsperioden skickas med. scriptet kommer att presentera statistik för en viss sida, dag för dag under en viss tidsperiod. Om inga tidsgränser skickas in till skriptet kommer det att visa statistik för den närmast föregående sjudagarsperioden, om antingen start eller slutdatum skickas med kommer statistik för sjudagarsperioden närmast efter respektive före detta datum att visas, om båda skickas med kan alla räkna ut vad som händer |
frequency.cgi |
frequiency.cgi visar statistik om återkomstfrekvenser för en viss sida. För att kunna göra detta måste id-värdet för den sida vars statistik skall visas upp skickas med som parameter till scriptet |
u10column.cgi |
Genererar staplar för stapeldiagrammet i dag för dag statistiken |
getIPIICounter.cgi |
Kanske det viktigaste scriptet. Anropas från en sida som räknas och returnerar en bild till denna, med urlen som anropar skriptet kommer också sidans id-värde, vilket gör att antalet träffar kan räknas upp i databasen. Om anroparen av sidan som anropar scriptet har kakfunktionen påslagen och har besökt någon sida räknad av ipIICounter förut kan man dessutom avgöra om det rör sig om en unik träff och eventuellt uppdatera databasen med en sådan, i annat fall kan man upplysa databasen om att en träff vars unikhet inte kan bedömmas har inträffat. |
En unik besökare på en sida är en besökare som aldrig tidigare begärt att få se denna sida, detta är inte helt lätt att avgöra, snarare helt omöjligt, men man kan ju försöka. Det finns några svårigheter att räkna med:
Nåväl de flesta använder sig av ett begränsat antal datorer och användarkonton, de flesta har också sina kakor påslagna, men man bör veta att man inte kan äta siffrorna med hull och hår.
Ett problem är dock att kunna bestämma om besökaren har sina kakor påslagna. Fö att kunna veta detta måste man sätta en kaka i ett anrop och läsa den i ett annat, ipIICounter gör så här.
Det finns mycket att göra och förbättra, några exempel.