En informationstjänst för skolledare på Internet

Relevanta dokument
Webbservrar, severskript & webbproduktion

Webbprogrammering. Sahand Sadjadee

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Lite mer om CGI-programmering

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Kort-kort om utdelade användarkonton och datormiljön på NADA

Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Föreläsning 2. Operativsystem och programmering

Nya webbservern Dvwebb.mah.se

Avancerade Webbteknologier

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

CMS. - Content management system

Introduktion till MySQL

Webbserver och HTML-sidor i E1000 KI

Zimplit CMS Manual. Introduktion. Generell Information

Innehålls förteckning

Skapa din egen MediaWiki

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Version: Datum: DynaMaster 5 Golf Övergripande manual

Rapport Projekt 1 Från material till webb

Webbprogrammering - 725G54 PHP. Foreläsning II

Statistik från webbplatser

emopluppen Installationsmanual

Användarutbildning i SiteVision

Kort-kort om utdelade användarkonton och datormiljön på NADA

Innehåll. MySQL Grundkurs

Lathund Blanketthotell Komma igång

Startguide för Administratör Kom igång med Microsoft Office 365

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

ALEPH ver. 16 Introduktion

SKOLFS. beslutade den XXX 2017.

Användarhandledning. edwise Webbläsarinställningar

Handbok Hogia PBM - Personal Business Manager

Gör en egen webbplats

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Kort om World Wide Web (webben)

Webservice & ERP-Integration Rapport

Innehåll. Dokumentet gäller från och med version

Webbsidor och webbservrar

Din egen webserver med Apache

Manual för Typo3 version 4.2

Installationsanvisningar. till IST Analys

Kom i gång med PING PONG

Byggsektorns Miljöberäkningsverktyg Användarmanual

Projektpresentation Sakfrågan

Användarutbildning i SiteVision

Decentraliserad administration av gästkonton vid Karlstads universitet

Installationsanvisningar

Joomla CMS Del 2 av 2

ÅA:s bloggverktyg komplett guide

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Kom igång! Snabbstart för dig som är administratör

Introduk+on +ll programmering i JavaScript

Compose Connect. Hosted Exchange

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

Skapa blogg i ÅA:s bloggverktyg komplett guide

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

Startanvisning för Bornets Internet

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Tillämpad programmering CASE 1: HTML. Ditt namn

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Från Smart TV till Smartare upplevelse Av: Kim Huber och Connie Huanca

INSTALLATION AV KLIENT

Zoomtext 2019 Skripting

Installera din WordPress med 9 enkla steg

Manual för din hemsida

Gör en egen webbplats

Handbok SSCd. Peter H. Grasch

Internets historia Tillämpningar

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

Användarhandbok. version sida 1 av 15

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Dialogue Technologies April 2005

Hur du gör ditt Gilles hemsida - en liten hjälp på vägen

Redigera grupper (e-postlistor) för alvsjoscout.se

Dokumentation. Joomla - Administrationsguide 1. Logga in i administrations-gränssnittet 2. Ändra globala inställningar 2.

Handbok Hogia PBM - Personal Business Manager

Handbok Hogia PBM - Personal Business Manager

Publicera på sodrastation.org

Skolplattformens pedagogiska verktyg och startsida en guide

Installationsanvisningar

Office 365 Windows 10

Webbsystems inverkan på innehåll och användbarhet på webbplatser - oppositionsrapport

Användarhandledning. edwise Webbläsarinställningar

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

LABORATION 1 Pingpong och Installation av Server 2008 R2

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Att bygga enkla webbsidor

Transkript:

En informationstjänst för skolledare på Internet An information-service for school-leaders on the Internet Författare: Johan Waessman, e98_jva@e.kth.se Ämne: Datalogi Handledare: Sten Andersson Examinator: Stefan Arnborg Uppdragsgivare: Jörgen Palmberg Datum: 2003-02-21

Sammanfattning Denna rapport beskriver ett examensarbete gjort av Johan Waessman på institutionen för Numerisk Analys och Datalogi, NADA, på Kungliga Tekniska Högskolan, KTH. Arbetet genomfördes under sommaren och hösten 2002 och ingår som en del av civilingenjörsutbildningen på KTH med inriktning på Elektroteknik. Exjobbet har gått ut på att utveckla, verifiera och validera en prototyp för ett nytt informationssystem för skolledare på Internet åt företaget BJP Infonet förlag AB. Eftersom det nya systemet kommer att användas av många användare ställs höga krav på användbarhet och hastighet. Modellen som användes för att utveckla, verifiera och validera denna nya prototyp var att först utreda och välja hård- och mjukvara. Därefter skapas varje modul för sig och testas för funktionalitet och användbarhet men även för snabbhet. Till slut sätts hela system ihop och testas med olika typer av användare både avancerade användare och normalanvändare. Under utvecklingen av systemet gjordes flera undersökningar för att säkerställa att användbarheten och hastigheten i systemet mötte de krav som ställdes. Undersökningarna visade på att vissa justeringar i systemet behövde göras vilka gjordes innan prototypen avslutades. Exempel på justeringar är att anslutningsmetoden till databasen ändrades eftersom en mer effektiv metod hittades och att layouten på välkomstsidan ändrades för att bli mer inbjudande för läsaren.

Abstract This report describes the master project of Johan Waessman performed at the institution for numerical analysis and computer science, NADA, at the Royal Institute of Technology, KTH. The project was performed during the summer and autumn of 2002. This master project is a part of the master education in engineering at KTH. The project has consisted of developing, verifying and validating a prototype for an information-system for school-leaders for the company BJP Infonet förlag AB. The new system will be used by many school-leaders and therefore the demands on usability and speed are high. The model used to develop, verify and validate this new prototype was at first to investigate and decide of which hardware and software to use. Then each module is created and tested separately for functionality, usability and speed. At the end the system is put together and tests are performed by different user-groups both advanced and normal users. During the development of the system a number of investigations were made to make sure that the usability and speed of the system met the demands stated in the beginning of the project. The investigations showed that some adjustments had to bee made to the prototype before it was finished. Some examples of adjustments made are that the method of connecting to the database was changed after a more efficient method was found and that the layout of the welcome-page was altered to become more intriguing for the reader.

Tack till Jag skulle vilja tacka följande personer för deras hjälp vilket har gjort det möjligt att genomföra detta projekt: Min uppdragsgivare Jörgen Palmberg för hans hjälp vid skapandet av systemet och tillhandahållandet av testpersoner. Min handledare Sten Andersson för hans hjälp att styra mig i rätt riktning och rättning av mina rapporter. Stefan Särne för hans hjälp vid diskussion av komplicerade programmeringsproblem.

Innehållsförteckning 1 Inledning... 1 1.1 Bakgrund... 1 1.2 Nuvarande system... 1 2 Problemställning... 2 2.1 Problembeskrivning... 2 2.2 Mål... 2 2.3 Metoder... 2 3 Webbdesign och användbarhet... 4 3.1 Hur använder folk webben?... 4 3.1.1 Hur en programmerare vill att vi skall använda en webbplats... 4 3.1.2 Hur personer egentligen använder en webbplats... 4 3.2 Riktlinjer för att skapa en användarvänlig webbplats... 4 3.3 Navigation... 5 3.4 Användartester... 5 4 Webbtekniker... 6 4.1 Webbservrar... 6 4.1.1 Apache... 7 4.1.2 Java Web Server... 7 4.1.3 Internet Information Server... 7 4.2 Databaser... 8 4.3 Tekniker för att skapa dynamiskt innehåll i webbsidor... 8 4.3.1 Common Gateway Interface, CGI... 8 4.3.2 Personal Home Page, PHP... 9 4.3.3 Java Server Pages, JSP... 9 4.3.4 Active Server Pages, ASP... 10 5 Systembeskrivning... 11 5.1 Användarstruktur och rättigheter... 12 5.2 Administration... 13 5.2.1 Användare och områden... 13 5.2.2 Statistik... 13 5.2.3 Bilder... 14 5.2.4 Hjälp... 14 5.2.5 E-post till användarna... 14 5.2.6 Välkomstsidan... 15 5.2.7 Aktiva moduler... 15 5.3 Nyheter... 15

5.4 Biblioteket... 16 5.5 Lokalt bibliotek... 17 5.6 Länkbibliotek... 18 5.7 Debatt... 18 5.8 Anslagstavlan... 18 5.9 Kalendern... 19 5.10 Enkäter... 19 5.11 Chat... 20 5.12 Extern info... 20 5.13 Kontakt... 20 6 Databaslayout... 21 6.1 Administration... 21 6.2 Nyheter... 22 6.3 Biblioteket... 22 6.4 Lokalt bibliotek... 23 6.5 Länkbibliotek... 23 6.6 Debatt... 23 6.7 Anslagstavlan... 24 6.8 Enkäter... 24 6.9 Chat... 25 7 Verifiering och Validering... 27 7.1 Användartester... 27 7.2 Hastighetstester... 29 7.2.1 Tidsåtgång för databasuppslagning... 29 7.2.2 Olika sätt att ansluta till databasen... 30 7.2.3 Omvandling av sträng från binär- till ASCII-format... 30 7.3 Val av webbhotell... 32 8 Slutsatser och diskussion... 34 9 Framtida utveckling... 35 10 Förkortningar... 36 11 Referenser... 37

1 1 Inledning Denna rapport beskriver ett examensarbete på institutionen för Numerisk Analys och Datalogi, NADA, på Kungliga Tekniska Högskolan, KTH. Arbetet genomfördes under sommaren och hösten 2002 och ingår som en del av civilingenjörsutbildningen på KTH med inriktning på Elektroteknik. Uppdragsgivare till detta arbete var företaget BJP Infonet Förlag AB. 1.1 Bakgrund BJP Infonet Förlag AB tillhandahåller Internetbaserad information till yrkesverksamma bland annat skolledare. Detta system kallas JPSkolnet. Till JPSkolnet är ett stort antal experter knutna som skriver artiklar och nyheter inom aktuella områden. Dessa experter bevakar och analyserar ämnen inom områdena skoljuridik, arbetsrätt, arbetsmiljö, förvaltnings- och sekretessfrågor samt upphandlingsfrågor Hittills har BJP Infonet Förlag AB använt en standard produkt för att förmedla information till sina användare. Denna produkt har inte tillgodosett alla behov som företagets kunder har haft. Därför valdes att skapa ett helt nytt system skräddarsytt för företaget och dess kunder. 1.2 Nuvarande system BJP Infonet Förlag ABs nuvarande system tillhandahåller olika funktioner så att användarna kan: läsa och söka dokument inom aktuella områden skrivna av experter på respektive område. chatta med varandra. diskutera med andra användare i diskussionsforum använda en kalender för att skriva upp viktiga händelser för sig själv och andra använda ett länkbibliotek för att hitta hemsidor med bra information läsa aktuella nyheter inom skolområdet Det nuvarande systemet klarar inte av alla krav som BJP Infonet Förlag AB ställer, därför vill man nu ersätta denna standardprodukt med ett helt nytt system. När det nya systemet skall konstrueras vill BJP Infonet Förlag AB också undersöka och utvärdera vilka tjänster som bör ingå i det nya systemet: Överflödiga funktioner skall tas bort, saknade (nya kundbehov) funktioner skall läggas till och snarlika funktioner skall slås ihop till en gemensam funktion (av effektivitetsskäl). Det fanns en hel del brister i det nuvarande systemet till exempel: att behörighetsstrukturen inte är anpassad för ändamålet att hastigheten i hela systemet är alldeles för långsam. Dessa brister måste beaktas när det nya systemet konstrueras. Det nya systemet kommer att benämnas JPInfonet.

2 2 Problemställning I denna del kommer jag att beskriva problemet kortfattat, vilka mål jag har med detta projekt och vilka metoder jag valt för att lösa problemet. 2.1 Problembeskrivning Detta examensarbete går ut på att ta fram ett helt nytt informationssystem åt uppdragsgivaren. Det nya systemet, JPInfonet, behöver ha en uppgraderad behörighetsstruktur. Den måste anpassas för att effektivt passa in i BJP Infonets Förlag ABs kundstruktur. Genom att decentralisera behörighetsstrukturen får kunderna större möjligheter att anpassa systemet efter deras behov. Med en mer decentraliserad struktur kan även kunderna själva skapa information som bara en grupp användare inom systemet kan se. Exempel på detta är lokala nyheter som bara en viss grupp av användare kan skapa och läsa. JPInfonet måste också förbättras så att användarnas svarstider motsvarar moderna krav. Hastigheten måste vara tillräcklig hög så att normala användare får en svarstid som uppfattas som rimlig (högst ett par sekunder). Detta kan åstadkommas genom att undersöka de kritiska delarna och mäta hur lång tid det tar att köra dessa baserat på olika konstruktionslösningar. 2.2 Mål Det generella målet med detta projekt var att ta fram ett nytt informationssystem åt BJP Infonet Förlag AB. Mer specifika mål var följande. Att tillverka en prototyp för en skolledarportal och utreda att så att portalen: fungerar tillräckligt snabbt för användarna är lätt att använda har de rätta tjänsterna som användarna vill använda. Att hitta ett lämpligt Web-Hotel för portalen. 2.3 Metoder Framtagningen av den nya prototypen löstes genom att använda en utvecklingsmodell. Denna modell går ut på att först utreda val av hård- och mjukvara. Därefter skapas varje modul för sig och testas med avseende på funktionalitet, användbarhet och snabbhet. Till slut sätts hela systemet ihop och testas med olika typer av användare. En flödesgraf över utvecklingsmodellen visas i bild 2-1.

3 Utredning och val av hård och mjukvara Tillverkning av modul Tillverkning av modul Tillverkning av modul Testning av modul Testning av modul Testning av modul Sammansättning av moduler Testning av hela systemet med avancerade användare Testning av hela systemet med normala användare Färdigt system Bild 2-1: Flödesgraf över utvecklingsmodellen Anledningen till att utvecklingsmodellen beskriven i bild 2-1 användes i detta exjobb var att det färdiga systemet bestod av många olika delar, vilket gjorde att uppdelning av systemet i delmoduler blev enkelt. Genom skapa delmoduler kunde funktionalitet och användbarhet testas efter hand vilket ledde till att misstag kunde avhjälpas snabbare. Testningen av användarvänlighet (ergonomi och snabbhet) skedde med hjälp av testanvändare som redan var kunder hos BJP Infonet Förlag AB. För att testa svarstiden skapades flera olika varianter av de funktioner, som krävde kort svarstid, som sedan testades mot varandra.

4 3 Webbdesign och användbarhet Vid konstruktion en ny webbplats gäller det att ha en designmodell som tillfredställer de flesta av de tilltänkta användarna. Vissa användare tycker om välutvecklad funktionalitet, medan andra vill att ett system skall vara grafiskt snyggt. För att skapa ett bra webbsystem gäller det att försöka tillfredställa både de användare som vill ha ett grafiskt snyggt system och de användare som tycker om välutvecklad funktionalitet. Design hänger tätt ihop med användbarhet. Det viktigaste vid konstruktionen av en webbplats är att programmeraren tänker på att den skall vara lätt att använda. En bra vägledning för användbarhet är "Don't Make me think" [1] eller på svenska "Tvinga mig inte börja tänka". Detta citat åskådliggör hur en programmerare skall tänka för att skapa en användarvänlig webbplats. Det gäller att använda grafiska objekt som användaren känner igen. Om objekt på en webb-plats (menyer, logga med mera) är placerade på ett sätt som användaren känner igen behöver inte användaren fundera innan han kan använda dessa. Likaså är det viktigt att länkar och knappar ser ut som de brukar göra. Det gäller att göra användningen av webbplatsen så intuitivt som möjligt. 3.1 Hur använder folk webben? För att en programmerare skall kunna förstå hur han skall skapa en intuitiv webbplats är det viktigt att förstå hur personer (kunder och administratörer) använder webben. Det är ofta två helt skilda saker hur en programmerare förväntar sig att en person använder en webbplats och hur personer egentligen använder webbplatsen. Till exempel så skriver många personer in en URL (ett exempel på en URL är http://www.evreka.com) i sökfältet på en sökmotorn, för att surfa vidare till den önskade URL:en istället för att använda de generella sökbegreppen.. Dessa människor har hittat en metod för att komma till webbsidan de söker, och eftersom metoden fungerat en gång fortsätter dessa människor att använda sig av den metoden. [1] 3.1.1 Hur en programmerare vill att vi skall använda en webbplats En programmerare har oftast den förutfattade meningen att användare först läser igenom allt noga på en webbplats och därefter gör det klokaste beslutet. Detta gör att en programmerare kanske ger användaren flera olika möjligheter att nå till en viss sida. Om användaren bedömer alternativen korrekt så har denne gjort ett optimalt val och kommit rätt. [1] 3.1.2 Hur personer egentligen använder en webbplats Det besökare i allmänhet gör när det går in på en webbplats är att de skummar igenom allt innehåll och när de hittar något som associeras med det som de söker så klickar de på det. Om de hamnar fel så använder de Back -knappen för att börja om och på så sätt hitta en annan väg. Detta gör att Back -knappen är den klickning som folk gör oftast, 30-40 % av alla klickningar personer gör i en webbläsare är på Back -knappen [1]. 3.2 Riktlinjer för att skapa en användarvänlig webbplats Några riktlinjer för att designa en ny webbplats beskrivs nedan. All onödig text bör tas bort eftersom personer ändå inte läser stora textmassor. [1] Genom att skärma av den del som användaren är på för tillfället så förstår personen lättare var han är någonstans på webbplatsen. Till exempel så är en nyhet ofta

5 avskärmad med linjer runt omkring i en tidning för att man skall se vad som tillhör just den nyheten. [1] Genom att använda ord som personer förstår och som är självklara blir det lättare för användaren att förstå. Ett exempel på detta är att inte använda ordet Finna i stället för Sök för att beskriva en sökfunktion. [1] Genom att ge varje sida en tydlig rubrik underlättar det för användaren att förstå var på en webbplats som användare befinner sig. [1] 3.3 Navigation Navigation är viktigt på en webbplats. Det gäller för en användare att kunna komma till det han letar efter på en webbplats. För att navigera på webbplatser används olika typer av menyer. Det som är vanligast och lättast för användaren är vänsterspaltsmenyer (se bild 3-1). Dessa menyer är möjligen lite tråkiga, men framför allt så fungerar de, eftersom många är vana vid dem. En annan typ av meny som dykt upp mycket på senare år är en så kallad flikmeny (se bild 3-2) där användaren kan bläddra mellan olika flikar som syns överst på sidan. Om denna typ av meny görs rätt blir den lätt för användaren att förstå. Ett exempel på en webbplats som använder denna typ av meny är Amazon. [1] Bild 3-1: Exempel på vänsterspaltsmeny från jpskolnet.com. Bild 3-2: Exempel på flikmeny från amazon.com. 3.4 Användartester Även om alla regler och tips har beaktats vid byggandet av en webbplats är det ändå svårt att tänka på allt. Därför är det bra att göra användartester. Dessa tester går vanligen till så att ett par användare testar och använder webbplatsen, medan en person tittar på och ställer frågor. Genom att studera användarnas beteende kan värdefull information fås fram om vad som är intuitivt och vad som användaren inte förstår på webbplatsen. Vid justeringen av de oklarheter som uppstod under testerna är det viktigt att tänka på att hellre förenkla och modifiera befintlig utformning, än att konstruera något helt nytt. Det senare skulle kunna förvirra användaren. [1]

6 4 Webbtekniker I detta kapitel kommer jag att titta närmare på några olika webbtekniker som används vid byggandet av ett webbsystem. Vid byggandet av ett webbsystem är det viktigt att tänka på användbarheten, vilket beskrevs i det förra kapitlet, men det gäller också att välja vilka tekniker som skall användas vid byggandet. De byggstenar som behövs för att åstadkomma ett webbsystem är först och främst en dator (server) med en databas och en webbserver. För att sedan åstadkomma det visuella och programmeringsmässiga i ett webbsystem måste det programmeras med hjälp av någon teknik så som Active Server Pages (ASP), Java Server Pages (JSP) eller dylikt. Jag kommer i detta kapitel främst att beskriva de tekniker jag valt att arbeta med i detta exjobb som är Microsofts databas SQL-server, webbservern Internet Information Server (IIS) och ASP. Anledning till att dessa tekniker valdes var att Microsofts produkter är användarvänliga och välanvända, vilket gör valet av webbhotell lättare då många webbhotell använder Microsofts produkter. Anledningen till att Internet Information Server valdes var att den är gratis och fungerar bra ihop med ASP som valdes som programmeringsteknik. Anled-ningen till att använda ASP var exjobbarens tidigare kunskaper om tekniken och eftersom detta är en välanvänd teknik så finns det mycket dokumentation och hjälp på Internet. Anled-ningen till Microsofts SQL-server som val av databas var att den är en relativt billig databas med ett bra och enkelt användargränssnitt. Den är också en av de vanligaste före-kommande databaserna hos webbhotell i Sverige. 4.1 Webbservrar För att förstå hur en webbserver fungerar är det viktigt att förstå hur det går till när en person surfar till en adress på Internet. När personen skriver in en URL i sin webbläsare, till exempel http://www.e.kth.se/index.html, så undersöker först webbläsaren vilket protokoll som den skall använda. I ovan beskrivna URL står det http och det betyder att HTTP-protokollet skall användas. Därefter identifierar webbläsaren serverns adress som i detta fall är www.e.kth.se. Eftersom detta inte är en IP-adress till servern så måste webbläsaren först fråga en namnserver (Domain Name Server, DNS) om vilken IP-adress detta namn har. Efter att webbläsaren fått reda på IP-adressen ansluter sig webbläsaren med det ovan angivna protokollet till serverns adress. När webbläsaren är ansluten frågar den efter filen i URL:en som i ovan beskrivna exempel är index.html. Servern returnerar då den angivna filen om den existerar. Servern som returnerar filen till webbläsaren kallas webbserver. I bild 4-1 visas en grafisk bild över hur kommunikation mellan en webbserver och en webbläsare fungerar.

7 Webbläsaren kopplar upp sig mot servern och frågar efter en sida Dator som kör webbläsaren som försöker surfa till en viss sida Server som kör ett webbserverprogram Servern returnerar den efterfrågade sidan. Bild 4-1: Kommunikation mellan dator och webbserver I ovan beskrivna fall returnerade webbservern en statisk HTML-sida. En HTML-sida är en statisk fil som ligger någonstans bland serverns kataloger. En sida som servern returnerar behöver inte vara statisk, den kan också vara dynamiskt. Med en dynamisk sida menas att servern kört ett skript eller ett utomstående program som skapar och returnerar en HTMLsida, som sedan webbservern kan returnera till webbläsaren. Vanliga tekniker för att göra dynamiska sidor är ASP, JSP och CGI. Några av de vanligaste webbservrarna är Apache, Suns Java Web Server och Microsofts Internet Information Server. Dessa beskrivs lite mer utförligt nedan. [2] 4.1.1 Apache Apache är en webbserver byggd i ett Open Source -projekt, som betyder att alla har tillgång till källkoden och kan bidra till den. Allt arbete med att utveckla denna server är alltså ideellt. Eftersom Apache är ett Open Source -projekt är den också är gratis att använda vilket är en stor fördel. Denna webbserver används främst på Linux-system men kan även användas under Windows. De vanligaste tekniker som används tillsammans med Apache för att åstadkomma dynamiska sidor är PHP och CGI men det finns tillägg till Apache som gör det möjligt att använda sig av till exempel ASP. [3] 4.1.2 Java Web Server Java Web Server är en webbserver skapad av Sun och är helt skriven i Java. Eftersom den är skriven i Java är den lätt att flytta mellan olika operativsystem. En stor nackdel med denna webbserver är att den kostar att nyttja. Detta kan göra att många kanske inte väljer att använda den. Den teknik som används för att skapa dynamiska sidor med denna server är främst JSP. [5] 4.1.3 Internet Information Server Internet Information Server är Microsofts svar på webbservermarknaden och är den webbserver som användes i detta exjobb. Den kan inte användas på någon annan plattform än Windows. Denna webbserver är helt gratis och följer med Windows 2000. Eftersom den är gratis och lätt att använda har den blivit en av de mest använda webbservrarna i hela världen. Den teknik som främst används för att skapa dynamiska sidor med denna server är ASP, som

8 också är framtaget av Microsoft. Genom att det är en Microsoft-produkt går det lätt att bygga på med extramoduler till programmeringen så kallade ActiveX-komponenter för att utöka möjligheterna för ASP-programmeraren. Dessa komponenter kan vara skrivna i vilket programmeringsspråk som helst, vilket gör att snabba C-objekt kan skapas för att hjälpa till att lösa problem som kräver hög effektivitet. [4] 4.2 Databaser Det finns många olika databaser som kan användas för att skapa ett webbsystem. Dessa databaser kan vara gratis men kan också medföra en hög kostnad (hundratusentals kr). Några av de vanligaste databaserna är MySQL, Microsoft SQL-server och Informix. Alla dessa databaser använder sig av SQL för att plocka ut ett urval av information från en eller flera tabeller. Den databas som används i detta exjobb är Microsoft SQL-server. Det är en databas som kostar ganska mycket pengar, men som också tillhandahåller bra prestanda och bra användargränssnitt. Det är också en av de vanligaste databaserna som används av webbhotell runt om Sverige. Därför blir det lättare att flytta det nya systemet från testmiljö till något webbhotell. 4.3 Tekniker för att skapa dynamiskt innehåll i webbsidor Från början när Internet var nytt så fanns det bara möjlighet att skapa statiska HTML-sidor med information. Ju mer Internet utvecklades ju mer kom efterfrågan på dynamiskt innehåll i webbsidor. I början dök det upp ett antal tekniker som var specifika för den webbserver som de var utvecklade för, men till slut kom det en standard kallad Common Gateway Interface, CGI. Denna standard specificerade hur förfrågningar från webbserver till externa program skulle gå till. Denna standard gör det möjligt att skapa ett externt program som tar emot data från webbservern enligt standarden. Programmet skickar sedan tillbaka ett svar i form av en HTML-sida som skapats dynamiskt. [5] På senare år har det dykt upp en uppsjö av tekniker för att skapa dynamiska webbsidor. Teknikerna skiljer sig lite åt, både vad gäller funktion och implementation. De tekniker som beskrivs i detta kapitel är Common Gateway Interface (CGI), Personal Home Page (PHP), Java Server Pages (JSP) och Active Server Pages (ASP). Den stora skillnaden mellan de ovan nämnda teknikerna är om webbservern exekverar ett program eller skript själv eller om det görs av ett externt program (utanför webbservern). I CGI körs ett externt program som sedan returnerar en HTML-sida som skickas tillbaka till webbläsaren. I de andra tre teknikerna (ASP, JSP, PHP) är det webbservern själv som exekverar ett skript som genererar en HTMLsida som returernas till webbläsaren. 4.3.1 Common Gateway Interface, CGI CGI är en standard för att låta en webbserver kommunicera med externa program. Webbservern skickar med ett antal variabler till det externa programmet enligt CGIs standard, varpå detta program exekveras och skickar tillbaka en HTML-sida till webbservern. Webbservern vidarebefordrar sedan HTML-sidan till den webbläsare som eftersökte sidan. Till det externa programmet kan i stort sett vilket programmeringsspråk som helst väljas, bara det kan anropas av webbservern som ett självständigt program. Detta skapar stora valmöjligheter i form av programmeringsspråk, då vissa programmeringsspråk kanske lämpar sig bättre för vissa applikationer beroende på vad som skall göras. De vanligaste programmeringsspråk som används för CGI är C och Perl. Perl är ett skriptspråk, det vill säga koden är okompilerad, medan C-kod kompileras först innan den körs. C är bra för att skriva applikationer som kräver hög prestanda. Nackdelen med C är att det är ganska komplicerat, vilket gör att det tar längre tid att skapa dynamiska sidor med hjälp av C. Perl däremot är lättare att hantera eftersom det

9 är ett skriptspråk. Det kanske inte är lika snabbt som C, men ändå väldigt kraftfullt. Enkelheten har gjort Perl till det vanligaste språket av dessa två när det gäller CGI. [5] [8] 4.3.2 Personal Home Page, PHP Namnet PHP står för Personal Home Page. Detta är en gammal beteckning, och när denna teknik växt med åren, har det långa namnet försvunnit. Det är bara förkortningen PHP som används. PHP-sidor exekveras direkt av webbservern, som sedan skickar ett svar till webbläsaren som efterfrågade sidan. Scriptspråket som används har en syntax som liknar den hos C. Scripten som skrivs i PHP är inbäddade i HTML kod vilket gör att det är enkelt att programmera. Avgränsningarna, taggarna, som används i denna teknik för att skärma av var skriptdelar börjar och slutar i HTML-koden är <? respektive?>. I bild 4-2 visas ett exempel på en enkel PHP-sida. <html><body> <h1>test sida<h1> <? echo "Test";?> </body></html> Bild 4-2: Exempel på PHP-kod PHP är ett Open Source -projekt precis som Linux och Apache vilket gör att det oftast kopplas ihop med dessa två produkter. PHP kan dock köras under de flesta operativsystem så som Windows, MacOS, Unix med flera. PHP har växt sig starkt på senare tid som en utmanare till Microsofts motsvarande teknik ASP. [5] 4.3.3 Java Server Pages, JSP JSP är precis som PHP en teknik för att skapa dynamiska webbsidor med hjälp av skript inbäddat i HTML kod. Scriptspråket som används i JSP är Java. En JSP-sida körs av en webbserver som exekverar alla delar som är skript i JSP-sidan. Webbservern skapar på så sätt en HTLM-sida som skickas tillbaka till webbläsaren som begärde sidan. Avgränsningarna, Taggarna, som används i denna teknik för att skärma av var skriptdelar börjar och slutar i HTML-koden är <% respektive %>. I bild 4-3 visas ett exempel på en enkel JSP-sida. <html><body> <P>Detta är vanlig html kod!</p> <% for (int i = 1; i <= 10; i++) { out.println(i + ". Detta skrivs med JSP!<br>"); } %> <P>Detta är mer html kod!</p> </body></html> Bild 4-3: Exempel på JSP-kod JSP är en teknik som är utvecklad av Sun och som fungerar på en rad olika webbserverar där Suns webbserver Java Web Server är en av dessa. [5]

10 4.3.4 Active Server Pages, ASP ASP är Microsofts svar på inbäddade skript i HTML-sidor. I ASP används främst VBskript för de inbäddade skripten. Det går även att använda sig av JScript, som baseras på JavaScript, eller PerlScript, som baseras på Perl. De stora fördelarna med ASP är att det är vida spritt på Internet vilket gör att det finns många webbplatser som erbjuder gratis kod och hjälpkod. ASP har även stöd för ActiveX komponenter som är program skrivna i vilket språk som helst och som sedan kan anropas från en ASP-sida. Dessa ActiveX-komponenter kan användas för att ansluta till en databas eller för att lösa någon programmeringsbit som kräver hög prestanda och snabbhet. Det finns en mängd sådana här ActiveX-komponenter att köpa eller hämta hem gratis på Internet. Taggarna som används i ASP för att skärma av var skriptdelar börjar och slutar i HTML-koden är precis samma som i JSP: <% respektive %>. I bild 4-4 visas ett exempel på en enkel JSP-sida. <html><body> <P>Detta är vanlig html kod!</p> <% Dim i For i = 1 To 10 Step 1 Response.Write i & ". Detta skrivs med ASP!<br>" Next %> <P>Detta är mer html kod!</p> </body></html> Bild 4-4: Exempel på ASP-kod Den stora nackdelen med ASP-tekniken är att den är anpassad för att köras på Internet Information Server (IIS), som bara kan användas under Windows. Eftersom ASP blivit så stort har det även utvecklats tillägg till bland annat Apache som gör att ASP även går att köra på den webbservern. [6] [7]

11 5 Systembeskrivning I detta exjobb valdes att arbeta med Microsofts produkter eftersom de är användarvänliga och välanvända, vilket gör valet av webbhotell lättare då många webbhotell använder Microsofts produkter. Som webbserver valdes Internet Information Server som är gratis och fungerar bra ihop med ASP som valdes som programmeringsteknik. Anledningen till att använda ASP var exjobbarens tidigare kunskaper om tekniken och eftersom detta är en välanvänd teknik så finns det mycket dokumentation och hjälp på Internet. Databasen till systemet blev Microsofts SQL-server som är en relativt billig databas med ett bra och enkelt användargränssnitt. Den är också en av de vanligaste förekommande databaserna hos webbhotell i Sverige. JPInfonet är ett databaskopplat webbsystem programmerat i ASP (Active Server Pages), HTML, Java och JavaScript med en Microsoft SQL-databas. För att köra detta system krävs en Microsoft SQL-databas, en Internet Information Server (IIS) som körs på PC med operativsystem Windows 2000. På PC:n skall också en enklare IRC-server köras för att möjliggöra chat i modulen Chat. Användarna chattar med varandra genom att använda en IRC-klient skriven som en Applet i Java. Användarna till detta system loggar in med ett unikt användarnamn och lösenord för att ta del av informationen och tjänsterna i JPSkolnet. JPInfonet består av ett antal moduler som tillhandahåller olika tjänster för användarna. Gemensamt för alla dessa moduler är användarstrukturen och rättighetsstrukturen för systemet. Dessa ser till att användarna tillåts logga in och att de kommer åt rätt information i systemet. En kort beskrivning av alla moduler följer nedan: Administration: Administrationsmodulen är själva kärnan i systemet. Här administreras övergripande funktioner för hela systemet, framförallt användarna och rättigheterna för användarna. Nyheter: I modulen Nyheter finns aktuella nyheter om skolområdet. Bibliotek: Modulen Bibliotek består av ett antal underbibliotek där varje underbibliotek är ett filträd med dokument i HTML-format. Lokalt bibliotek: Modulen Lokalt bibliotek fungerar som ett underbibliotek i modulen Bibliotek. Skillnaden är dock att varje kommun och stadsdel har varsitt eget Lokalt bibliotek som bara deras användare kommer åt och deras lokala administratörer kan lägga in information i. Länkbibliotek: Länkbiblioteksmodulen består av länkar till intressanta platser för användarna. Länkbiblioteket är uppbyggt på samma sätt som Biblioteket, med ett filträd där filerna är utbytta mot länkar. Debatt: Modulen Debatt består av ett antal debatter som användaren kan delta i. Anslagstavlan: Modulen Anslagstavlan består av ett antal förbestämda kataloger under vilka anslag kan sättas upp av användarna själva. Kalendern: Modulen Kalendern är en kalenderfunktion som liknar den i Outlook, skillnaden är att en användare kan se vad andra användare i sin kommun har skrivit in i Kalendern och på så sätt enkelt kunna samordna möten med mera. Enkäter: Modulen Enkäter är en modul där administratören kan skapa enkäter som användarna kan svara på. Resultatet från en enkät kan analyseras på olika sätt. Chat: Modulen Chat består av ett antal chatrum som användarna kan besöka för att interaktivt kunna chatta med andra användare.

12 Extern info: Modulen Extern info eller reklammodulen består av ett antal banners till olika företag som kan vara av intresse för användarna. Kontakt: Modulen Kontakt är en e-post-modul som gör att användarna på ett enkelt sätt kan komma i kontakt med rätt person på JPSkolnet när det behövs. Större delen av JPInfonet är programmerat i ASP som är ett inbäddat skriptspråk där man blandar VBScript med HTML och JavaScript i en och samma fil. Genom att använda dessa tekniker tillsammans kan man på ett enkelt sätt skapa ett databaskopplat webbsystem. Den enda modulen som skiljer sig från de andra programmeringsmässigt är modulen Chat där det finns en IRC-klient skriven som en Applet i Java. Informationen i systemet är sparad i en Microsoft SQL-databas där varje modul sparar sin information i ett antal tabeller. En del information är gemensam för hela systemet såsom användare och vilken rättighet en användare har. Denna information sparas i ett antal övergripande tabeller som alla delsystem kan hämta information ur. I systembeskrivningen förklaras först ingående hur användarstrukturen och rättigheterna ser ut i systemet under rubriken med samma namn. Det är viktigt att förstå hur användarstrukturen och rättigheterna fungerar i systemet då de är en central del i hela systemet. Efter Användarstruktur och rättigheter beskrivs varje modul för sig. 5.1 Användarstruktur och rättigheter Användarna av JPSkolnet är skolledare som arbetar inom olika kommuner och stadsdelar, antingen inom området högskola eller inom grundskola. Detta gjorde det naturligt att dela upp systemet efter stadsdelar, kommuner och områden (högskola och grundskola). En stadsdel tillhör en kommun och en kommun tillhör ett område. Detta leder till ett antal olika typer av användare. Dessa olika typer av användare i systemet är: - Stadsdelsanvändare: Stadsdelsanvändare är en användare som tillhör en viss stadsdel och kan då ta del av all information som denna stadsdel har tillgång till. - Stadsdelsadministratörer: Stadsdelsadministratör är en användare som tillhör en viss stadsdel och är administratör inom sin stadsdel. Detta innebär att användaren kan ändra på information om användarna i stadsdelen och lägga till och administrera Lokala nyheter och det Lokala biblioteket (Mer om det två sistnämnda under rubrikerna 5.3 och 5.5). - Kommunanvändare: Kommunanvändare är en användare som tillhör en viss kommun och kan ta del av all information som denna kommun och underliggande stadsdelar har tillgång till. - Kommunadministratörer: Kommunadministratör är en användare som tillhör en viss kommun och är administratör inom sin kommun. Detta innebär att användaren kan ändra på information om användarna i kommunen och tillhörande stadsdelar och lägga till och administrera Lokala nyheter och det Lokala biblioteket (Mer om det två sistnämnda på sidan och sidan). - Delsystemsadministratörer: En delsystemsadministratör är en användare som får administrera ett eller flera delsystem (moduler). - Huvudadministratörer: Huvudadministratören är den användare som kontrollerar allt i systemet. Denna användare är den enda som kan komma åt administrationsmodulen av systemet förutom att kommun respektive stadsdelsadministratörer kan komma åt sina användare. Alla användartyper beskrivna ovan kan också tillhöra en grupp som till exempel Kuratorer och kan då få information som bara är avsedda för denna grupp.

13 För att få en bättre uppfattning över användarstrukturen se bild 5-1: Huvudadministratör Delsystemsadmin 1 Delsystemsadmin 2 Kommun 1 Kommun 2 Kommun 3 Stadsdel 1 Stadsdel 2 I en kommun eller stadsdel kan det finnas både administratörer och vanliga användare. Bild 5-1: Trädlayout över användarstrukturen i JPInfonet 5.2 Administration Administrationen består av många delar. Den största och viktigaste delen är den som bygger upp användarstrukturen, och kallas i rapporten Användare och områden. Denna del är central i systemet och därför beskrivs denna först. De andra delarna i administration är statistik, bilder, hjälp, e-post till användarna, välkomstsidan och aktiva moduler. 5.2.1 Användare och områden I delmodulen Användare och Områden kan en huvudadministratör lägga till, ta bort och uppdatera kommuner, stadsdelar, områden, grupper och användare. Administratören kan även skicka ut e-post till en eller flera utvalda kommuner eller stadsdelar för att meddela något. 5.2.2 Statistik Statistik -delen av administrationsmodulen innehåller statistisk information från systemet. Det är bara huvudadministratören som kan komma åt all statistik. Däremot kan stadsdels och kommunadministratörer komma åt statistik för deras kommun eller stadsdel. Den statistik som administratören kan ta fram är: Logglista: Logglistan består av en lista där alla inloggningar visas med information om inloggningen och om den lyckades eller misslyckades och varför. I bild 5-2 visas ett exempel på en logglista.

14 Bild 5-2: Skärmdump från en logglista Fellogglista: Fellogglistan visar de personer som loggat in fel och när de personerna för första gången, efter en eller flera felaktiga inloggningsförsök, lyckas logga in rätt. Detta är ett mycket användbart verktyg för administratören när han/hon vill hitta personer som har svårt för att logga in i systemet. Användningsstatistik: Användningsstatistiken visar hur många som loggat in i systemet och hur många som använt ett visst delsystem en viss månad. Användare som ej använt systemet: Denna statistik visar vilka användare som inte varit inne i systemet under en viss tidsperiod, till exempel senaste veckan eller senaste månaden. Kommun- och stadsdels- specifik statistik: För varje stadsdel och kommun finns det också möjlighet att se på användningen precis som i Användningsstatistik men då bara för en utvald kommun eller stadsdel. 5.2.3 Bilder Bilder -delen av administrationen gör det möjligt för en administratör att lägga in och ta bort bilder i systemet. Dessa bilder sparas direkt i databasen och kan länkas från till exempel välkomstsidan i systemet eller en valfri nyhet. Eftersom bilderna finns i databasen blir det enklare alla hålla ordning på dem och mindre problem än att försöka ladda upp bilderna direkt till webbservern. 5.2.4 Hjälp Hjälp -delen av administrationen är till för att skapa hjälptexter för alla sidor i systemet som behöver hjälp. Eftersom behovet av att ändra hjälptexter kan vara stort, valde jag att göra detta till en del som gick att ändra av administratören. Detta gör att administratören kan utforma hjälpen efter hand, beroende på vad användarna tycker är svårt att förstå. 5.2.5 E-post till användarna E-post till användarna -delen av administrationen möjliggör för administratören att skicka ut e-post till användarna. E-posten kan gå ut till alla användare men kan också begränsas till att bara skickas ut till en eller flera grupper, kommuner och stadsdelar. Administratören kan även

15 välja ett område som skall få e-posten. Detta verktyg är mycket effektivt då administratören snabbt vill nå ut med information till alla eller en begränsad del av användarna i systemet. 5.2.6 Välkomstsidan Välkomstsidan -delen av administrationen gör det möjligt att ändra på en del av informationen på välkomstsidan för systemet både för huvudadministratören och för användarna. Huvudadministratören kan ändra texten i den stora nyhetsrutan på välkomstsidan och varje användare kan ändra på sina personliga länkar. När det gäller texten längst upp till vänster är det meningen att den skall fungera så att den viktigaste nyheten eller händelsen för dagen eller veckan presenteras där. De personliga länkarna på välkomstsidan gör det möjligt för användaren att spara de länkar han/hon använder mest. Varje användare har möjlighet att visa fem länkar på välkomstsidan. 5.2.7 Aktiva moduler Aktiva moduler -delen av administrationen bestämmer vilka moduler som skall vara aktiva i systemet för tillfället. Detta gör att administratören kan välja bort ett antal moduler som inte används eller som han inte vill att användarna skall använda för tillfället eftersom de är under utveckling med mera. 5.3 Nyheter I modulen Nyheter kan användaren läsa nyheter om aktuella händelser som hänt inom skolvärlden. Här läggs även notiser in då nya analyser eller längre texter lagts in i systemet och länkar till dessa. Nyheter gör det möjligt för användaren att se aktuella nyheter eller gå in i arkivet och titta på de äldre nyheterna. En nyhet kan antingen vara global, det vill säga att den är riktad till alla användare i systemet, eller lokal, då den bara kan läsas av en begränsad del av användarna. Administratörerna är de som kan skriva nya, uppdatera och ta bort nyheter. Huvudadministratören eller en delsystemsadministratör med rättigheter till Nyheter kan skriva nyheter till alla eller en speciell grupp av användare, medan en lokal administratör (kommuneller stadsdels- administratör) bara kan skriva nyheter för de användare som den ansvarar för. Likaså har de lokala administratörerna rätt att administrera de nyheter som berör deras del, medan huvudadministratören och delsystemsadministratörer, med rättigheter till Nyheter kan administrera alla nyheter. Med administrera en nyhet menas att administratören har rätt att ändra på eller ta bort nyheter. Det finns många möjligheter för den som skriver nyheter till exempel kan skribenten välja hur många tecken som skall visas på startsidan för nyheterna. Startsidan är den sida där alla aktuella nyheter visas. Eftersom så många nyheter som möjligt skall få plats är det fördelaktigt att kunna begränsa textmängden som visas där för varje nyhet. Vill en användare läsa mer om en nyhet får denne klicka på läs mer, en länk som står efter nyheten. I bild 5-3 visas ett exempel på hur sidan med aktuella nyheter kan se ut.

16 Bild 5-3: Skärmdump från aktuella nyheter En skribent kan även välja att skicka ut en nyhet som e-post varpå denna nyhet direkt skickas ut som e-post till de berörda användarna samtidigt som nyheten läggs in i systemet. Detta gör att skribenten kan nå ut med en viktig nyhet snabbt till de berörda användarna. 5.4 Biblioteket Modulen Biblioteket består av ett stort filbibliotek med information skriven inom intressanta områden för användarna. Användarna kan enkelt navigera i filträdet på samma sätt som i utforskaren i Windows och öppna de filer som skall läsas. Genom att använda snabbsökningen kan användaren även söka enkelt i en underkatalog för att begränsa en sökning. I bild 5-4 visas ett exempel på filträdet.

17 Bild 5-4: Skärmdump från en biblioteket Det finns många sätt att programmeringsmässigt lösa filträdets uppbyggnad. Eftersom det är viktigt att denna modul är lättanvänd och snabb för användarna, byggdes den med en teknik kallad dynamisk HTML (DHTLM) och lager. Dynamisk HTML gör det möjligt att låta en sida uppdateras dynamiskt i användaren webbläsare utan att sidan måste laddas om vid varje uppdatering, och då hämtas på nytt från webbservern. Dynamisk HTML skapas genom att använda sig av HTML och JavaScript tillsammans. Med hjälp av dynamisk HTML kan användaren klicka sig fram i filträdet i bild 5-4 utan att sidan måste laddas om varje gång när till exempel en ny katalog skall öppnas. Detta sparar mycket tid åt användaren och kapacitet åt servern. Administratörerna kan i denna modul lägga till nya bibliotek och administrera de befintliga biblioteken genom att lägga till, ändra, ta bort kataloger och filer. De som kan administrera denna modul är huvudadministratörerna och de delsystemsadministratörer som har rättigheter till denna modul. Det som skiljer detta filträd mot ett filträd i ett operativsystem är att allt är lagrat i en databas och att det finns möjligheter att ändra ordning på katalogerna och filerna. Filer och kataloger behöver inte stå i bokstavsordning utan kan stå i den ordning administratören bestämmer sig för. 5.5 Lokalt bibliotek Modulen Lokalt bibliotek är lik underbiblioteken i modulen Bibliotek. Det som skiljer dessa två moduler åt, är att Lokalt bibliotek är unikt för varje stadsdel och kommun. En användare i en kommun kan bara se sitt lokala bibliotek. Likaså är det bara den lokala administratören i kommunen eller stadsdelen som kan administrera det lokala biblioteket i sin kommun eller stadsdel. Denna modul gör det möjligt för en stadsdel eller kommun att lägga upp information som är viktig för de användare som arbetar inom samma kommun eller

18 stadsdel. Detta gör att pappersmaterial som varje person förut måste ha haft själv, nu kan läggas upp på webben. Användarna kan nu hämta all information på samma ställe. Genom att lägga informationen i webbformat går det också lättare att söka i den. 5.6 Länkbibliotek Modulen Länkbibliotek är liksom Lokalt bibliotek likt underbiblioteken i modulen Bibliotek. Skillnaden mellan Bibliotek och Länkbibliotek är att filerna är länkar. I denna modul kan huvudadministratören eller delsystemsadministratörerna som har rättighet till Länkbibliotek lägga till länkar och skapa en katalogstruktur för dessa länkar. Denna modul är mycket användbar när det gäller att hitta länkar till externa webbplatser med bra information inom olika områden. Användarna kan precis som i Bibliotek söka efter länkar i en katalog och dess underkataloger för att hitta intressanta länkar. 5.7 Debatt Modulen Debatt är ett klassiskt Internetdebattsystem, där användarna kan lägga in inlägg och svara på andras inlägg med mera. Användaren väljer den debatt som han/hon vill besöka och kan sedan se alla inläggen i den debatten. Alla debattinlägg visas i en trädstruktur så att användaren kan se vilka debattinlägg som hör ihop. Administratörerna till denna modul kan lägga till nya debatter. Huvudadministratören och delsystemsadministratörerna som har rättighet till denna modul kan lägga till debatter som är öppna för alla eller ett urval av användare genom att välja grupper, stadsdelar, kommuner och område. En stadsdelsrespektive kommunadministratör kan lägga till, uppdatera och ta bort debatter för sina användare vilket gör det enkelt för till exempel en kommun att skapa en lokal debatt, för att till exempel lösa ett problem på ett enkelt sätt. I bild 5-5 visas ett exempel på hur en debatt kan se ut. Bild 5-5: Skärmdump från en debatt 5.8 Anslagstavlan Modulen Anslagstavlan är en modul där användarna själva kan lägga in information. Anslagen är grupperade i olika grupper eller kataloger. Varje katalog representerar ett ämne, till exempel Ny personal. En användare kan lägga till nya anslag i en katalog och bestämma hur länge anslaget skall visas. Det är bara administratörerna som kan skapa, ändra och ta bort kataloger. Denna modul gör det möjligt för användarna på ett enkelt och snabbt sätt att nå ut till andra användare med ny information.

19 5.9 Kalendern Modulen Kalendern fungerar som en kalender där användaren kan lägga upp aktiviteter precis som en fickalmanacka eller Microsofts program Outlook. Då kan man fråga sig varför det finns en sådan modul då de flesta av användarna säkerligen använder Microsoft Outlook, men skillnaden mellan Outlook och denna kalender är att användarna på ett enkelt sätt kan se vad andra användare inom samma kommun eller stadsdel gör en viss dag eller vecka. Detta gör att denna modul blir ett bra verktyg då personer inom samma kommun som använder JPSkolnet skall koordinera möten med mera. Allt som en användare skriver i kalendern kan givetvis inte ses av alla andra personer inom kommunen eller stadsdelen utan bara de aktiviteter som användaren inte har markerat som privata. Det finns dock funktioner i Outlook som gör det möjligt att se vad andra har för sig en viss dag men problemet är att då måste de personerna tillhöra samma datorsystem som använder Outlook. Användarna i JPSkolnet kan vara spridda hur som helst och sitta på vilken dator som helst och ändå kunna se vad de andra i kommunen har för sig en viss dag. I bild 5-6 visas ett exempel på hur kalendern kan se ut en vecka. Bild 5-6: Skärmdump från kalendermodulen 5.10 Enkäter Modulen Enkäter tillhandahåller möjligheten att skapa enkäter som användarna kan svara på. Det är bara huvudadministratören och delsystemsadministratörerna med rättigheter för Enkäter som kan administrera denna modul. En enkät består av ett antal frågor av olika typ. En fråga kan vara av flersvarstyp där det finns två ytterlighetsalternativ (bra - dåligt) och sedan en 2-7 gradig skala för den som svarar. Frågan kan också vara en fritextfråga och då kan användaren skriva vad som helst i ett textfält som svar. En enkät kan riktas mot en speciell grupp av användare till exempel en kommun om administratören vill veta vad just användaren i den kommunen tycker i specifik fråga. När alla användare har svarat på en enkät kan en administratör ta ut en del olika rapporter för enkäten. Innan rapporten tas fram har administratören en möjlighet att göra ett urval för rapporten. Då kan administratören välja att bara se på vissa frågor, vad en grupp, kommun eller stadsdel har svarat. De rapporter som kan tas fram är:

20 Användarnas svar: Denna rapport visar vad alla personer har svarat på varje flervalsfråga i en enkät. Kommentarer: Denna rapport visar vad alla personer har svarat på fritextfrågor i en enkät. Detaljerad: Denna rapport visar en sammanställning över alla frågor och tar fram en del intressanta data för varje fråga samt en del summor för hela rapporten. De värdena som tas fram är hur många som svarat vad på varje fråga, medelvärde, typvärde, median och standardavvikelse. 5.11 Chat Modulen Chat gör det möjligt för användarna att chatta med varandra. Modulen Chat består tekniskt av en JavaApplet som kommunicerar med en IRC-server. JavaAppleten och IRC-server är program som kan laddas hem från Internet. När en användare skall chatta går det till så att användaren får se en lista över alla chattrum han/hon kan besöka. Genom att klicka på ett chattrum poppar ett nytt fönster upp där användaren kan chatta med de andra användarna i chattrummet. De som kan administrera denna modul är huvudadministratören och delsystemsadministratörer med rättigheter till denna modul. Administratörerna kan lägga till, ta bort och uppdatera chattrum. Ett chattrum kan riktas mot en begränsad mängd användare genom att administratören väljer ut ett antal kommuner, stadsdelar och grupper som får använda chattrummet. 5.12 Extern info Modulen Extern info är avsedd för att låta externa intressenter annonsera i systemet. Administratören för denna modul är huvudadministratören eller en delsystemsadministratör med rättigheter för denna modul. Det är administratören som väljer ut de intressenter som får annonsera i systemet. Det som visas från varje intressent är en bild på deras logga eller något annat. Genom att administratören selekterar bara den reklam som kan vara intressant för användarna riskerar man inte att det bara blir en massa skräpreklam som ingen vill ha. 5.13 Kontakt Modulen Kontakt gör det möjligt för användarna att på ett enkelt sätt komma i kontakt med rätt ansvarig person när de har någon synpunkt eller fråga. Användaren skriver ett meddelande med rubrik och väljer sedan ett ämne för sin förfrågan. När användaren klickar på skicka skickas e-post till den person som har blivit utvald att ta emot e-post med just det ämnet. Det är huvudadministratören som sätter alla ämnen och de personer som skall ta emot e-post berörande respektive ämne. Om denna modul används rätt kan huvudadministratören slippa mycket arbete med e-post som var avsedd för en helt annan person.

21 6 Databaslayout För att åstadkomma all funktionalitet i JPInfonet som beskrevs i förra kapitlet måste information sparas i en databas. Till JPInfonet används en Microsoft SQL Server. Databasen innehåller 60 tabeller vilket är ganska många. Alla dessa är svåra att få med i en layout, därför har jag valt att presentera databaslayouten för varje modul för sig i JPInfonet. Jag har valt att inte visa layouten för modulerna Extern info, Kalender, Kontakt eftersom den bara innehåller en tabell var. För att få mer information om respektive tabell finns det mer information i Bilaga1. 6.1 Administration Databaslayouten i bild 6-1 beskriver strukturen i databasen för tabellerna i administrationsmodulen. Denna layout består av många tabeller där de flesta har relationer med varandra. Varje linje i layouten från en box (tabell) till en annan box beskriver en relation. En etta ena änden av en linje och ett oändlighetstecken i andra änden betyder att relationen är av typen ett till många, det vill säga att det finns en utav ett värde i ena tabellen medan det kan finnas flera av samma värde i den andra tabellen. Det finns tre tabeller som är fristående. Det är Hjälp, System och Statistik_system. Dessa tre har ingen direkt relation med resten av tabellerna. Bild 6-1: Databaslayout över administrationsmodulen

22 6.2 Nyheter Databaslayouten i bild 6-2 visar hur tabellerna i modulen Nyheter är sammankopplade. Några av tabellerna ovan återkommer från administrationsmodulens layout, som är Grupper, Kommuner, Stadsdelar och Områden. Eftersom dessa har relationer till tabeller i nyhetsmodulen så presenterar de också i denna layout. Detta kommer att återkomma i layouter för andra moduler också. Av layouten kan utläsas att en nyhet kan vara kopplad till en eller flera grupper, kommuner, stadsdelar och områden. Bild 6-2: Databaslayout över nyhetsmodulen 6.3 Biblioteket Databaslayouten i bild 6-3 visar hur de tre tabellerna som modulen Bibliotek består av är sammankopplade. Layouten visar att biblioteket består av flera bibliotek med en mängd kataloger i som i sin tur innehåller ett antal filer. Bild 6-3: Databaslayout över biblioteksmodulen

23 6.4 Lokalt bibliotek Databaslayouten i bild 6-4 visar hur tabellerna som tillhör modulen Lokalt bibliotek är sammankopplade med varandra. I layouten visas även tabellerna Stadsdelar och Kommuner eftersom dessa är relaterade till tabellerna i modulen för lokala bibliotek. Av layouten kan utläsas att det finns flera bibliotek som innehåller ett antal kataloger och varje katalog innehåller ett antal filer. Vidare kan också utläsas att ett bibliotek kan vara kopplat till en eller flera kommuner och stadsdelar. Bild 6-4: Databaslayout över lokala biblioteksmodulen 6.5 Länkbibliotek Databaslayouten i bild 6-5 visar hur tabellerna i modulen Länktbibliotek är ihopkopplade. Modulen består av två tabeller: en för alla katalogerna och en för filerna som katalogerna innehåller. Bild 6-5: Databaslayout över länkbiblioteksmodulen 6.6 Debatt Databaslayouten i bild 6-6 visar hur tabellerna i modulen Debatt är kopplade samman med varandra och tabellerna Kommuner, Stadsdelar, Omraden och Grupper. I layouten kan avläsas att en debatt kan ha flera debattinlägg och att en debatt kan vara kopplad till en eller flera grupper, kommuner, stadsdelar och områden.

24 Bild 6-6: Databaslayout över debattmodulen 6.7 Anslagstavlan Databaslayouten i bild 6-7 visar hur de två tabellerna som modulen Anslag består av är ihopkopplade. De två tabellerna är Anslag och Anslag_kataloger. Av layouten kan utläsas att det kan finnas flera kataloger och att varje katalog kan innehålla flera anslag. Bild 6-7: Databaslayout över anslagsmodulen 6.8 Enkäter Databaslayouten i bild 6-8 visar hur databasstrukturen för modulen Enkäter ser ut. Enkäter består av nio tabeller och i denna layout visas även Grupper, Stadsdelar,

25 Kommuner och Omraden, eftersom vissa av tabellerna i enkätmodulen är sammankopplade med dessa. Denna layout visar att en enkät består av flera frågor och varje fråga är av en viss typ. Den visar också att varje enkät har flera svarstillfällen och för varje svarstillfälle finns det flera svar för olika frågor. Vidare ses att en enkät kan vara kopplad till en eller flera grupper, kommuner, stadsdelar och områden. Bild 6-8: Databaslayout över enkätmodulen 6.9 Chat Databaslayouten i bild 6-9 visar hur tabellerna i modulen Chat är sammankopplade. I layouten visas förutom tabeller somt tillhör Chat även tabellerna Grupper, Kommuner, Stadsdelar och Omraden. Av layouten kan utläsas att en chat kan vara kopplad till en eller flera grupper, kommuner, stadsdelar och områden.

26 Bild 6-9: Databaslayout över chatmodulen

27 7 Verifiering och Validering För att uppfylla målen med detta exjobb krävdes att en del tester utfördes för att verifiera att JPInfonet klarade av de krav som ställdes på det. Hastighetstester utfördes i olika delar av systemet för att kunna rätta till de delar som gick för långsamt. Vidare gjordes användartester då användare släpptes in i JPInfonet för att använda systemet och se vad som var lättförståligt och vad som oklart. I målen till detta exjobb ingick även att välja ut ett webbhotell där denna prototyp kunde testas vidare. Detta ledde till en undersökning om vilket webbhotell som skulle väljas. 7.1 Användartester Användartesterna i JPInfonet har gått till så att ett fåtal personer har gått in och testat JPInfonet med jämna mellanrum under utvecklingen. Efter att dessa personer har testat JPInfonet har de lämnat synpunkter på vad som varit oklart. Exempel på saker som rättats till i JPInfonet på grund av dessa användartester är: Välkomstsidan behövde bli mer strukturerad och lättförståelig. I bild 7-1 visas hur välkomstsidan ursprungligen såg ut. Bild 7-1: Skärmdump av den ursprungliga välkomstsidan Efter diskussion med användarna omarbetades välkomstsidan till att få en mer tidningslik layout. Den nya layouten skulle få användarna mer intresserade av att läsa den. I bild 7-2 visas hur den nya layouten för välkomstsidan ser ut.

28 Bild 7-2: Skärmdump av den nya välkomstsidan Utformningen av menyn fungerade inte riktigt bra. Ursprungligen fanns en pil framför varje modul men ingenting som markerade vilken modul som var vald senast. Menyn omarbetades så att det fanns en pil som markerade den modul som valts senast. Denna ursprungliga och den nya menyn kan ses i bild 7-3 och 7-4. Bild 7-3: Skärmdump av den ursprungliga menyn Bild 7-4: Skärmdump av den nya menyn