System för tidrapportering och tidplanering. Systemdokumentation



Relevanta dokument
System för tidrapportering och tidplanering. Användarhandledning. 3 maj 2002

Manual. It s learning. Målgruppen: externa utförare inom Vård och Omsorg

Manual Jourläkarschema Alingsås - Version 1.0

Thomas Pihl Frontermanual för studerande vid Forum Ystad

LUVIT Utbildningsadministration Manual

Manual. Kursplan. Astrakan. ESF Edition Publikt användargränssnitt. Artisan Global Media

Innehållsförteckning. Sidan 2 (24)

WebViewer Manual för administratör Nova Software AB

LEX INSTRUKTION LEX LDAP

Aktivitetsstöd Närvarorapportering. Ansvarig i Föreningen

LUVIT Utbildningsadministration Manual

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support

Logga in Översikt/Dashboard Avvikande produkter Arbeten misslyckades Senaste gjorda Systemmeddelanden...

System för tidrapportering och tidplanering. Projektdokumentation

Preliminär specifikation

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Thomas Pihl Frontermanual. för studerande vid Forum Ystad

Manual. It s learning. Målgruppen: privata utförare inom Vård och Omsorg

Användarmanual FormPipe Meetings. FormPipe Meetings

EVALD manual. Evald version

lokalnytt.se Manual kundadministration

Blackboard CE8 Användarmanual Student

Dok nr SOF/AV-13:054,Ver I Treserva Genomfo randewebb. 1 Inloggning Växla användare Skrivbordet... 4

Dokumentet förutsätter att användaren har grundläggande kunskaper om Windows.

Version

Lathund utbildarwebben

Manual för Typo3 version 4.2

Kortfattad instruktion för Crystal Reports. Kom i gång med Crystal Reports. Instruktion Crystal Reports 2014

Autogiro Online för betalningsmottagare Webbtjänst för dig som erbjuder dina kunder Autogiro

Vid problem med programmet kontakta alltid C/W Cadware AB på telefon

Hur man lägger upp och redigerar dokument i Typo3.

FIRSTCLASS. Innehåll:

Lathund till VFU-portalen

LUVIT Portal Användarmanual

Att komma igång med FirstClass (FC)!

Administrationsmanual ImageBank 2

1. Ledare Hantera deltagare Rapporter Övriga menyer... 15

Manual för din hemsida

Användarmanual 1.x. RIW Software Techn AB telefon: fax:

Manual - Storegate Team med synk

Applikation för att skapa, underhålla, lagra och publicera litteraturlistor Lärare skapar och underhåller litteraturlistor Ämnesansvariga eller andra

LUVIT Utbildningsplanering Manual

Aktivitetsstöd Behörighet - Ledare

AKTIVITETSSTÖD. Användardokumentation. Föreningsadministratör

PHOCA GALLERY (v 3.2.3)

Moodle2 STUDENTMANUAL

Manual. Föreningsadministratör i medlemssystemet

MinTid användardokumentation

Uppdaterad: Lathund Klubbmedlem

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Användarhandledning Rapportgenerator Version: 1.1

Compose Connect. Hosted Exchange

Version 1.8.7A. Tidrapportering med ctimesheet

Närvarorapportering. Ansvarig i Föreningen

Installationsanvisningar VISI Klient

GUIDE TILL ANVÄNDARHANTERINGEN

Novaschem Integration. Procapita Education Grundskola

Att koppla FB till AD-inloggning

Introduktion till MySQL

Kom igång med Adela Gymnasium

Lathund till VFU-portalen

Inledning F-skattsedel Remissen Nya ikoner Utskrift av journalanteckningar Anamnes... 5

Handbok kundwebb för kunder Innehållsförteckning

INSTALLATION AV KLIENT

Kopplingar via datalänk från Winbas till Excel samt Pivottabell 1 (13)

Genomgång utav KURT Kursvärderingssystemet för Linköpings Universitet

Version 2.0.4A. Tidrapportering med ctimesheet. För iphone

Malmö stad Fritidsförvaltningen. Ledare

Pyramid Business Studio - e-line & Betalkort

Manual Användaradministration

Introduktion till Winbas. excel till Winbas

Administration av asrp.se

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

INSTALLATION AV KLIENT

Systembeskrivning.

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

Högsbynät Mailservice - egroupware -användarmanual för personal i Högsby kommun

INSTALLATION AV KLIENT

LibNet 2.1 onlinetjänst

Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen.

Publicera taltidningen

Berth Arbman. Välkommen till bokningssystemet myweblog!

Lathund till First Class

Handhavandeguide: Kursbevis Innevarande version vid senaste uppdatering:

Guide för behörighetssystemet i Matilda

Skapa en kursvärdering

Lathund för användare av BeSched. Version (15)

1 Handledning för vårdnadshavare Vad är lärportalen och vad kan jag göra där?...3

Startanvisning för Bornets Internet

GPDR personuppgifter i Artologik EZbooking

Manual - Storegate Team

Infobric Ease Snabbguide

Studentmanual (Bb Learn )

Omsorgen Användarhandledning

FirstClass Manual. Följande sidor beskriver de två olika sätten att logga in till FirstClass. Pröva båda för att själv se skillnaden.

Lathund Registrera en ansökan/offert i EKO

Datum: Version 1.6. Sidan 1 (43)

Transkript:

System för tidrapportering och tidplanering Systemdokumentation 3 maj 2002

Systemdokumentation Dokumentstatus Detta dokument är en teknisk beskrivning av System för tidsplanering och tidrapportering (SYTT). Systemet utvecklades under våren 2002 på uppdrag av Institutionen för Numerisk Analys och Datalogi vid KTH (NADA). En mer allmän beskrivning av systemet och utvecklingsprojektet finns i Projektdokumentation. En beskrivning av användargränssnittet finns i Användarhandledning. Syftet med denna tekniska beskrivning är att underlätta vidareutveckling av systemet liksom implementation och drift. Som bilaga finns den fullständiga systemdesignen inklusive datastruktur. Senaste version av detta dokument samt övrig projektdokumentation finns tillgänglig från www.nada.kth.se/projects/proj02/sytt Version 1.0 25 april 2002 Dokumentets skapande Rättigheterna till detta dokument och tillhörande bilagor tillhör projektgruppen för SYTT. 1

Systemdokumentation Innehållsförteckning 1.1 Översikt...3 1.2 Teknisk plattform...4 1.3 Sidornas/Användargränssnittets struktur...5 1.3.1 Doktorandernas sidor...5 1.3.2 Lärarnas sidor...6 1.3.3 Studierektorernas sidor...7 1.4 Teknisk lösning...8 1.5 Datastruktur...8 1.6 Förteckning över servlets...9 1.7 Förteckning över jsp-sidor...9 1.8 Driftsdokumentation...10 1.8.1 Inledning...10 1.8.2 Förutsättningar...10 1.8.3 Databasinstallation...10 1.8.4 Applikationsinstallation...11 1.8.5 Klientaccess...11 2 Bilagor...1 2.1 Bilaga 1 Datastruktur...1 2.2 Bilaga 2 Systemdesign...1 2

Systemdokumentation 1.1 Översikt System för tidsbokning och tidplanering (SYTT) är byggt för att fungera väl i NADAs datormiljö. Systemet är en trelagers lösning där presentation och logik bygger på standard webbteknologi. Presentation sker med hjälp av Java Server Pages (JSP) som genererar HTMLdokument vilka innehåller, förutom HTML, JavaScript och formatmallar (CSS). Logiken sköts av Java Servlets vilka kommunicerar med SQL-databasen. Den tekniska utformningen av systemet är framtagen med avsikt att vara enkel för beställaren att underhålla och vidareutveckla. All programvara är gratis samt redan i bruk vid Institutionen för Numerologi och Datalogi (NADA) vid KTH. Programspråket Java, scriptspråket JavaScript samt SQL-databaser är alla väl spridda tekniker och väl kända vid NADA. 3

Systemdokumentation 1.2 Teknisk plattform Den tekniska plattformen som använts under utvecklingen bygger på fria programvaror som redan idag används vid NADA. Detta med avsikten att underlätta implementation och driftsättning. Den avdelning vid NADA som skulle ansvara för en eventuell drift är Systemgruppen, vilka själva använder en liknande plattform. Då alla komponenter utformats enligt standardförfarande är systemet i princip plattformsoberoende. För driftsättning och drift, se avsnitt 1.8 Driftsdokumentation. PostgreSQL 7.0 har använts som databasmotor. Kommunikationen med databasen sker via JDBC 2.0 vilket finns tillgängligt från och med JDK 1.2. Tomcat 4.0 har använts som webbserver då den klarar både JSP- och Servlet-teknologi. Logik- och presentationskomponenter bygger på Java 2 Platform Enterprise Edition (J2EE). För kompilering och exekvering av javakod används J2EE SDK 1.3 och Java 2 Platform SDK 1.3.1. 4

Systemdokumentation 1.3 Sidornas/Användargränssnittets struktur Användargränssnittets struktur är uppdelat på de tre olika användarna av systemet, doktorander, lärare och studierektorer. De streckade rutorna betecknar sidor där användargränssnittet är framtagit men kodning ej utförd. 1.3.1 Doktorandernas sidor Inloggning Startsida Historik Pop-up Addera aktivitet Kurs Mina uppgifter Resurs Pop-up Ändra aktivitet Pop-up Add. aktivitet från kurs Pop-up Överför aktivitet 5

Systemdokumentation 1.3.2 Lärarnas sidor Inloggning Startsida Resurs Mina uppgifter Doktorand Kurs Pop-up Plan. aktivitet för doktorand 6

Systemdokumentation 1.3.3 Studierektorernas sidor Inloggning Startsida Export Användaradm Läsårsadm Kurs-adm Doktorand Lärare Kurs Variabler Kurs Doktorand Pop-up Plan. Akt. För dokt. 7

Systemdokumentation 1.4 Teknisk lösning Den tekniska lösningen är indelad enligt nedanstående konceptuella 3-lager modell. Presentation/Interaktion JSP-sidor Logik Java Servlets Datalagring SQL Lösningen bygger på utnyttjandet av en ensam databas för lagring av data. Dataåtkomst sköts av logikkomponenterna. All presentation och interaktion kommer att ske i presentationslagret som utbyter data med logikkomponenterna. För att kunna använda sig av en parallell utveckling av komponenter, oberoende av övriga komponenter, utvecklades en grundläggande, väl utformad systemdesign. I denna specificeras även utformningen av gränssnitt mellan de olika komponenterna ordentligt. Det finns i stort sett en JSP-sida per användarsida, dock genereras vissa JSP-sidor från en och samma servlett. Det finns ett antal specifika servletts som genererar vanligt återkommande element i gränssnittet, exempel på detta är drop-down-menyer. 1.5 Datastruktur Den fullständiga datastrukturen finns bifogad, här följer en lista över de tabeller som ingår. Anstalld Moment Larare Befattning Doktorand Avdelning Kurs Amne Aktivitet Dok Arbetsberakning Assistent Lasar Resurs (ej med i systemdesign) Kurskommentar 8

Systemdokumentation 1.6 Förteckning över servlets Den fullständiga systemdesignen finns bifogad, här följer en lista över de servlets som ingår. servstatusbar servmenyrad servdropdownartal servdropdownmoment servdropdownkursnamn servdropdowndoktorand servdropdownlarare servdropdownkursomg servdropdownamne servexpanddoktorand servexpandkurs servsokning servchecklogin servsyttlogin servsyttlogout servvisadoktorand servdoktorandkurs servdoktoranduppgifter servaktivitet servlararestart servlararekurs servlarareuppgifter servstudierektorstart servstudierektordoktorand servstudierektorvariabler servkursadm servanvadm servlasaradm 1.7 Förteckning över jsp-sidor Den fullständiga systemdesignen finns bifogad, här följer en lista över de servlets som ingår. sytt_login.jsp sytt_logout.jsp doktorand_start.jsp doktorand_kurs.jsp doktorand_uppgifter.jsp doktorand_historik.jsp doktorand_resurs.jsp addera_aktivitet.jsp redigera_aktivitet.jsp overfor_aktivitet.jsp larare_doktorand.jsp larare_start.jsp larare_kurs.jsp larare_uppgifter.jsp larare_resurs.jsp studierektor_start.jsp studierektor_doktorand.jsp studierektor_doktorand_kurs.jsp studierektor_larare.jsp studierektor_larare_kurs.jsp studierektor_variabler.jsp studierektor_resurs.jsp lasar_adm.jsp kurs_adm.jsp anv_adm.jsp 9

Systemdokumentation 1.8 Driftsdokumentation 1.8.1 Inledning SYTT-applikationen består av en uppsättning jsp-sidor, bilder och Java-bytecode. För att kunna implementera SYTT krävs på serversidan följande: en eller fler datorer med anslutning till nätverk databasmotor med tillhörande definitionsfil jsp-och servletcontainer/webserver källkod i.jsp format för sidproduktion, med tillhörande bilder Java-bytekod, d.v.s. filer i.class format, för programlogik och databasaccess På klientsidan krävs att man har: dator med nätverksanslutning Webbläsare med stöd för Javascript, företrädesvis MS Internet Explorer 1.8.2 Förutsättningar Denna driftsdokumentation beskriver hur systemet driftsätts med Postgresql 7.x som databasmotor, Jakarta Tomcat 4 som container/webserver och TCP/IP som transportprotokoll. Som standard kommunicerar webserver och klient via HTTP. För installationsanvisningar för Postgresql och Tomcat hänvisas till respektive tillverkares dokumentation som finns att tillgå via Internet på adresserna: www.postgresql.org jakarta.apache.org/tomcat Innan installationen av SYTT påbörjas måste man säkerställa att man vet vilka IP-portnummer Postgresq respektive Tomcat använder i den egna miljön. 1.8.3 Databasinstallation Tillse att databasen tillåter kopplingar via TCP/IP. Konsultera Postgresql-dokumentationen vid funderingar om hur detta utförs. Starta Postgresql ( pg_ctl start ) Koppla upp mot databasen med en klient, t.ex. psql. ( psql -h hostadress p portnr ) Skapa en databas med namnet sytt_v2 ( create database sytt_v2 ) Koppla upp mot sytt_v2 (\c sytt_v2) Skapa tabeller i databasen genom att importera filen sytt.sql ( \i sökväg_till_sytt.sql ) Kontrollera att tabeller skapats genom att ge kommandot \d Om ovanstående utförts och tabeller visas är databasinstallationen klar. 10

Systemdokumentation 1.8.4 Applikationsinstallation Jsp,.class och bildfilerna är ordnade i ett filträd enligt SUN s standard för servlet/jsp installation. Systemet levereras i en katalog med namnet sytt. Denna skall kopieras in under Tomcat/webapps/. När detta är gjort måste filen web.xml, som nu ligger i katalogen Tomcat/webapps/sytt/WEB-INF editeras. De parametrar som måste sättas är sökvägen till databasen, databasanvändarnamn och databaslösenord. Se nedan för exempel: <context-param> <param-name>dburl</param-name> <paramvalue>jdbc:postgresql://er_hostname:portnr_här/sytt_db</paramvalue> </context-param> <context-param> <param-name>dbuser</param-name> <param-value>ert_användarnamn_till_databasen_här</param-value> </context-param> <context-param> <param-name>dbpassword</param-name> <param-value>ert_lösenord_till_databasen_här</param-value> </context-param> Tomcat startas genom att ge kommandot Tomcat/bin/startup.sh och stoppas genom att ge kommandot Tomcat/bin/shutdown.sh. Om installationsanvisningen ovan följts och inga problem uppstått är applikationen klar att använda. 1.8.5 Klientaccess För att använda SYTT öppnar man en webbrowser och skriver i adressfältet in: http://serveradress:portnummer/sytt/servsyttlogin Användaren skall nu presenteras en inloggningssida och därmed ha tillgång till systemet 11

Bilaga 1 - Datastruktur 2 Bilagor 2.1 Bilaga 1 Datastruktur Varje fält beskrivs med följande begrepp: Fält Fältnamn Status Typ av fältinnehåll, om data ska vara unikt, om referens till annan tabell o.s.v. Koppling Vilka tabeller ett fälts referens skall peka på Ä Om fältet kan ändras av användarna * * anger obligatorisk inmatning för användaren vid skapande (& ändrande) Auto Auto anger att ett fält beräknas (kan i enstaka fall senare ändras av användaren) Version Datum 5 02 maj Ändring i samtliga tabeller (nya fält i tabellen Kurs och Doktorand) ID fält togs bort från Moment, Befattning, Amne och Avdelning. Har skapats 2 VIEWS (Dok och Assistent) som bara visar en kombination av tabeller. 4 20 mars Ändring av ID i tabell Anstalld, Lärare, Doktorand 3 18 mars Procentdel för kursassistenters nedsättning tillagd på Kurs 2 13 mars Teknikgruppens korrigeringar, anställd-tabellen, ID-fält osv 1 8 mars 1

Bilaga 1 - Datastruktur Förteckning över tabellerna Anstalld Tabell: Initiering: Borttagning: Behörighet: Anstalld Påverkar inga andra tabeller. Skall ha unikt användarnamn. Påverkar: Larare (Borttagning av anställd i Anvnamn-fältet.) Doktorand (Ta bort ev. referens i fältet Anvnamn ersätt med tom Bör vara ovanligt att radera användare, deaktivering gör att de finns kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan inmatning av information. Skapas, ändras & raderas av studierektor fr studierektor_användar-adm Ändras (vissa uppgifter) av lärare från sida Lärare_mina_uppgifter Fält Status Koppling till Ä */auto Tabell Anvnamn Text Unique Text Ä Losenord Text Ä * Epost Text Ä Avdelning Text Avdening> Ä visakurskod Boolean Ä Aktiv Boolean Ä Auto(aktiv default) 2

Bilaga 1 - Datastruktur Larare Tabell: Initiering: Borttagning: Behörighet: Lärare/Studierektor Påverkar inga andra tabeller. Skall ha unikt användarnamn relativt lärare,studierektor & doktorander Påverkar: Doktorand (Ta bort ev. referens i fältet handledare, ersätt med tom ) Kurs (Ta bort ev. referens i fältet kursansvarig eller kursassistent, ersätt med tom ) Aktivitet (Ta bort referens i fältet inlaggare eller doktorand ersätt med tom ) Resurs (Tag bort alla poster med läraren som skapare) Bör vara ovanligt att radera användare, deaktivering gör att de finns kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan inmatning av information. Skapas, ändras & raderas av studierektor fr studierektor_användar-adm Ändras (vissa uppgifter) av lärare från sida Lärare_mina_uppgifter Fält Status Koppling till Tabell Ä */auto Anvnamn Text Unique Anstalld->Avnnamn Studierektor Boolean Ä * 3

Bilaga 1 - Datastruktur Doktorand Tabell: Initiering: Borttagning: Behörighet: Doktorand Påverkar inga andra tabeller. Skall ha unikt användarnamn relativt lärare,studierektor & doktorander Påverkar: Lärare (Ta bort ev. referens i fältet handledning) Kurs (Ta bort ev. referens i fältet kursassistent) Arbetsberäkning (Raderas) Aktivitet (Ta bort alla som skapats av aktuell doktorand) Kurskommentar (indirekt borttagning via att alla aktiviteter tas bort) Bör vara ovanligt att radera användare, deaktivering gör att de finns kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan inmatning av information. Skapas, ändras & raderas av studierektor fr studierektor_användar-adm Ändras av doktorand från Doktorand_mina_uppgifter Fält Status Koppling Ä */auto Anvnamn Text Unique Anstalld->Anvnamn skickamail Boolean Ä Befattning Text Befattning-> Handledare Text Anstalld->Anvnamn Ä Studrekt Text Ä SenastInloggad Date Ä PrivatAnteckning Text 4

Bilaga 1 - Datastruktur Kurs Tabell: Initiering: Borttagning: Behörighet: Kurs Vid skapa ny kurs : Lägg in referens på aktuellt läsår (fält: Kurslista) Vid generera nytt år skall referens till kursen läggas in på: nyskapade Läsåret (fält: Kurslista) den Lärare som anges som kursansvarig (fält: Egna kurser) Påverkar: Aktivitet (Ta bort alla aktiviteter kopplade till kursen) Skapas, ändras och raderas av studierektor från studierektor_kursadm, Samt genereras från samma sida då nytt läsår genereras. Fält Status Koppling Ä */auto KursID Varchar Unique Forkortning Varchar * Text Ä Artal Int * Bokstavsdel Varchar Ä Auto(från foreg. år) AmneID Text Amne-> Ä AnsvarigID Text Anstalld->Anvnamn Ä KursassistentID Text Anstalld->Anvnamn Ä Kursinfo Text Ä Assistenttjänst Int 5

Bilaga 1 - Datastruktur Aktivitet Tabell: Initiering: Borttagning: Behörighet: Aktivitet Referens läggs in på: Doktorand (fält: Inlagda aktiviteter) Kurs (fält: Aktiviteter) Skapa Kurskommentar om det inte finns någon tidigare aktivitet för denna kurs registrerade för aktuell doktorand. Referens tas bort från: Doktorand (fält: Inlagda aktiviteter) Kurs (fält: Aktiviteter) Radera Kurskommentar om den borttagna aktiviteten är den sista för doktoranden på aktuell kurs. Skapas/Ändras/Raderas av Doktorand från Doktorand_start eller doktorand_kurs Studierektor från Studierektor_doktorand_kurs Kursansvarig lärare kan endast skapa/ändra/radera planerade aktiviteter, dock markera/avmarkera genomförda aktiviteter. Fält Status Koppling Ä */auto ID Auto Auto(tilldelas) number Beskrivning Text Ä Omfattning Int Ä * Förberedselse Int Ä StartDatum Date Ä * SlutDatum Date Ä Planerad Boolean Ä */auto MomentID Text Moment-> Ä * Inlaggare Text Anstalld->Anvnamn Auto(Beroend e på vem lagt in) Kurs Varchar Kurs->KursId Ä */Auto(Beron de på varifrån adderat) Doktorand Text Anstalld->Anvnamn Auto(Beroend e på vem lagt in) Markerad Boolean Ä Auto(Beroend e på vem lagt in) 6

Bilaga 1 - Datastruktur Arbetsberakning Tabell: Arbetsberäkning Initiering: Skapas för innevarande år då ny doktorand skapas Skapas även för alla doktorander då nytt år genereras av studierektor. Referens läggs in i på respektive doktorand (fält: Arbetsberäkning). Borttagning: Raderas när en doktorand tas bort från systemet. Behörighet: Ändras av studierektor från sidan studierektor_användar-adm eller studierektor_doktorand. Endast systemet självt som kan skapa/radera. Fält Status Koppling Ä */auto ID Auto number Auto (tilldelas) Doktorand Text Anstalld->Anvnamn Auto(beroende på när skapas) Lasar Int Lasar->LasarID AndelGRU Int Ä Auto(sätts till 10%) ForaldraLedighet Int Ä OvrigLedighet Int Ä KvarvarandeTimmar Int Auto(från föreg. år) Studierektorkommentar Text Ä 7

Bilaga 1 - Datastruktur Lasar Tabell: Initiering: Borttagning: Behörighet: Läsår Då nytt läsår genereras ska en ny Arbetsberäkning skapas för varje existerande doktorand. nya kurser skapas utifrån existerande kurser för det innevarande året Vid borttagandet raderas samtliga: kurser för aktuellt läsår. Arbetsberäkningar för aktuellt läsår. Skapas d.v.s. genereras av studierektor. Ändras av studierektor Ej specificerat om studierektor ska kunna radera läsår. Fält Status Koppling Ä */auto LasarID Unik identifikator Auto(nästa år) (numeriskt t.ex. 0102, 0203, o.s.v.) TimmarPerDag Int Ä Auto(föregående års) DagarPerAr Int Ä Auto(föregående års) ArbetstimmarPerAr Int Ä Auto(föregående års) Redigerbar Boolean Ä Auto(Default false) Kurskommentar Tabell: Kurskommentar Initiering: Referens till posten ska föras in aktuell Kurs. Borttagning: Ta bort referens från aktuell Kurs Behörighet: Skapas/raderas av systemet självt Ändras av doktorand, och då doktorand så tillåter av studierektorn Fält Status Koppling Ä */auto ID Auto number Auto(Tilldelas) Doktorand Text Anstalld->Anvnamn Auto(Beroende på id inloggad) Kurs Varchar Kurs->KursID Auto(Beroende på gällande kurs) Text Ä Privat Boolean Ä 8

Bilaga 1 - Datastruktur Moment Tabell: Initiering: Borttagning: Behörighet: Moment Påverkar inga andra tabeller. Påverkar Aktivitet. Tvinga användaren (studierektor) att välja ett kvarvarande moment att ersätta det raderade med. Detta för att undvika null-värden i aktivitet-tabellen. Skapas, ändras och raderas av studierektor från studierektor_variabler Fält Status Koppling Ä */auto Text Unique Ä * Forberedelsetimmar Int Ä * Varningsgrans Int Ä Befattning Tabell: Initiering: Borttagning: Behörighet: Befattning Påverkar inga andra fält Användaren ska uppmanas att välja en av de återstående posterna som får ersätta förekomsten av den raderade posten, innan posten själv tas bort. Skapas/ändras/raderas av studierektor från sidan studierektor_variabler Fält Status Koppling Ä */auto Text Unique Ä * Avdelning Tabell: Initiering: Borttagning: Behörighet: Avdelning Påverkar inga andra fält Användaren ska uppmanas att välja en av de återstående posterna som får ersätta förekomsten av den raderade posten, innan posten själv tas bort. Skapas/ändras/raderas av studierektor från sidan studierektor_variabler Fält Status Koppling Ä */auto Text Ä * 9

Bilaga 1 - Datastruktur Amne Tabell: Initiering: Borttagning: Behörighet: Ämne Påverkar inga andra fält Användaren ska uppmanas att välja en av de återstående posterna som får ersätta förekomsten av den raderade posten, innan posten själv tas bort. Skapas/ändras/raderas av studierektor från sidan studierektor_variabler Fält Status Koppling Ä */auto Text Unique Ä * Dok Visar alla doktorander med sina resp. kurser Tabell: Dok Initiering: Påverkar inga andra fält Borttagning: Behörighet: Fält Status Koppling Ä */auto Text Doktorand->Anvnamn Kursid Text Kurs->KursID Assistent Visar alla assistenter med sina resp. kurser Tabell: Assistent Initiering: Påverkar inga andra fält Borttagning: Behörighet: Fält Status Koppling Ä */auto Assistnamn Text Kurs->KursassistentID Kursid Text Kurs->kursiD 10

2.2 Bilaga 2 Systemdesign Detta dokument Alla överenskomna ändringar i systemdesign och utformning av komponenter har uppdateras i här. Detta dokument har legat till grund för utvecklingen, och är nu en förteckning över samtliga existerande jsp- och servlett-komponenter. Datastruktur finns i separat dokument. Teknikgruppen har varit ansvariga för samtliga servlet-komponenter. Användargruppen har varit ansvariga för samtliga jsp-sidor. Version Datum 1.6 30 april Nya JSP:er doktorand_historik.jsp, doktorand_resurs.jsp, larare_resurs.jsp, studierektor_resurs.jsp. Samtliga MenyRader har uppdaterats i och med att dessa nya JSP.er tillkommit. De nya menyraderna finns sparade separat i test/ /sytt doktorand_menyrad.jsp, larare_menyrad.jsp och studierektor_menyrad.jsp. 1.5 29 april Ny Servlett servdropdownamne 1.4 28 april Ny JSP studierektor_larare_kurs. 1.3 26 april Ny JSP studierektor_larare. Ändringar i servlettar ej gjorda 1.2 26 april doktorand_start.jsp: lagt till av indata 1.1 26 april Ny JSP Studierektor_dokt_kurs. Ändring i servdoktorandkurs, la till variablen studrekt_kommentarer. 1.0 23 april servmenyrad skall ej användas, görs direkt i JSP sidorna 0.9 27 mars Specificerat indata per action för alla huvudservletts Nya frågetecken (de tidigare fördelade i arbetsplanen för v12-15!) servlararedoktorand & servdoktorandstart har slagits ihop till servvisadoktorand. 0.8 18 mars Samtliga servletts för sidpresentation samt doktorand-jsp klara Konventioner Språk givning Svenska så långt det är möjligt Servlets namnges enligt servdoktorandkurs eller servlararestart JSP-sidor namnges enligt doktorand_kurs.jsp eller larare_start.jsp Generellt Alla servletts utnyttjar sessionsvariabler från användarens webbläsare för att veta vilken användare som utför en handling eller begär en sida. Användare får ofta välja läsår. Denna information skall kommas ihåg av systemet, vilket innebär att JSP-sidan ofta behöver lagra aktuellt_ar dolt på sidan och skicka vidare läsåret till servlet vid anrop. Avgränsningar I denna systemdesign finns historik och resurs enbart med som JSP sidor bestående av menyrad + länk till startsida för resp. användare + gif bild (något modifierad version av de 1

som finns i /interface/skiss). De innehåller ingen funktionalitet, utan är bara en bild av hur en historik respektive resurs sida skulle kunna se ut. Förklaring till komponentbeskrivningar Logik-komponenter (servlet) Komponentens namn Uppgift Relaterade JSP-sidor Indata Data Verifiering/ Kort beskrivning De JSP-sidor som används för presentation av data från aktuell komponent. De parametrar som komponenten tar emot. Anrop sker via http request Datatyp för indata, dock skickas alla parametrar som text/string i en http-request. För varje action (de parametrar som styr logiken) anges istället vilka indata som kan/ska skickas tillsammans med aktuell action. Dessa anges enligt: 1, 2 Ej obligatorisk, varierar ofta med användarens val 1*, 2* Obligatoriskt (1*), (2*) Obligatoriskt för vissa användare, oftast gäller detta då indata är doktorand_id eller larare_id. er till parametrarna, beskrivning på action och dylikt. Presentation-komponenter (JSP-sidor) Komponentens namn Tillhör Skärmdump Utnyttjar Data fr servlett (till data) Anrop/Actions (till anrop) Vilken servlet som ger indata Referens till beskrivande bild Vilka hjälp-/stödkomponenter som JSP-sidan använder Vilken indata JSP-sidan får från servletten Ev. kommentar till vad indata ska användas till Vilka servlet som anropas/länkas från JSP-sidan Beskriver ovan nämnda anrop/actions. För att se vilken information som måste skickas med krävs att man granskar respektive servletts beskrivning. 2

Förteckning över beskrivna komponenter servstatusbar...5 servdropdownartal...5 servdropdownmoment...5 servdropdownkursnamn...5 servdropdowndoktorand...6 servdropdownlarare...6 servdropdownkursomg...6 ServDropdownAmne...6 servexpanddoktorand...6 servexpandkurs...7 ServSokning...7 ServCheckLogin...7 ServMenyrad...8 ServSyttLogin...9 sytt_login.jsp...9 ServSyttLogout...9 sytt_logout.jsp...9 ServVisaDoktorand...10 doktorand_start.jsp...10 larare_doktorand.jsp...11 servdoktorandkurs...12 doktorand_kurs.jsp...13 studierektor_doktorand_kurs.jsp...14 servdoktoranduppgifter...15 doktorand_uppgifter.jsp...16 doktorand_resurs.jsp...17 doktorand_historik.jsp...17 ServAktivitet...17 addera_aktivitet.jsp...19 redigera_aktivitet.jsp...21 overfor_aktivitet.jsp...22 servlararestart...23 larare_start.jsp...24 studierektor_larare.jsp...24 servlararekurs...25 larare_kurs.jsp...26 studierektor_larare_kurs.jsp...27 servlarareuppgifter...28 larare_uppgifter.jsp...28 larare_resurs.jsp...29 servstudierektorstart...29 studierektor_start.jsp...30 servstudierektordoktorand...30 studierektor_doktorand.jsp...31 servstudierektorvariabler...31 3

studierektor_variabler.jsp...33 servkursadm...34 kurs_adm.jsp...35 servanvadm...36 anv_adm.jsp...37 servlasaradm...38 lasar_adm.jsp...38 studierektor_resurs.jsp...38 4

Hjälpklasser Verifiering Ev. sessionshantering typ CheckIfLoggedIn, Servletts (hjälpkomponenter) servstatusbar Uppgift Returnera html-koden för hela statusbar-rutan Indata Data Verifiering/ anv_id ID doktoranden vars statusbar skall visas Uppgift servdropdownartal Returnera html-kod för en dropdown-meny med alla årtal som är inlagda i systemet. Om inget årtal anges som indata sätts innevarande år som default. Indata Data Verifiering/ aktuellt_ar läsår detta årtal skall anges som default i menyn Uppgift servdropdownmoment Returnera html-kod för en dropdown-meny med alla moment som är inlagda i systemet. Denna bör anpassas så att JavaScript fungerar bra, detta måste undersökas med den som bygger JavaScript för automatisk ifyllnad av förberedelsetid. Indata Data Verifiering/ moment_id ID det moment skall anges som default i menyn. Om inget anges skall texten Välj moment anges som default. Uppgift servdropdownkursnamn Returnera html-kod för en dropdown-meny med samtliga kursnamn för aktuellt läsår. Dela upp kurser per ämne. Om kurs ej anges skall texten Välj kurs vara default. Om dropdown-menyn blir alltför bred bör detta åtgärdas genom att kapa kursnamnen. Indata Data Verifiering/ kurs ID Om anges denna kurs default i menyn aktuellt_ar läsår Om aktuellt_ar anges returneras kurser för detta läsår, om inte använder man innevarande läsår. 5

Uppgift servdropdowndoktorand Returnera html-kod för en dropdown-meny med samtliga doktoranders namn, fördelade på avdelningar. Visa endast de som är aktiva. Om ingen anv_id anges skall texten Välj doktorand anges som förinställt. Om dropdown-menyn blir alltför bred bör detta åtgärdas genom att kapa Indata Data Verifiering/ anv_id ID Om anges denna doktorand default i menyn Uppgift servdropdownlarare Returnera html-kod för en dropdown-meny med samtliga lärares och studierektorers namn, fördelade på avdelningar. Visa endast de som är aktiva. Om ingen anv_id anges skall texten Välj doktorand anges som förinställt. Om dropdown-menyn blir alltför bred bör detta åtgärdas genom att kapa namnen. Indata Data Verifiering/ anv_id ID Om anges denna lärare default i menyn Uppgift servdropdownkursomg Returnera html-kod för en dropdownmeny med de läsår som aktuell kurs har givits. Leta reda på kurser mha kursförkortningens bokstavsdel. Det årtal som den i indata givna kursen har skall sättas som defaultvärde i dropdownmenyn. Om inget kurs_id anges skall texten Välj läsår anges. Indata Data Verifiering/ kurs_id ID Den kurs vars alla läsår man skall returnera Uppgift ServDropdownAmne Returnera html-kod för en dropdownmeny med alla ämnen som utgör ämnesindelningen. Dessa läggs in av studierektorn på sidan studierektor_variabler.jsp. Indata Data Verifiering/ amne ID Eventuellt förval. Uppgift servexpanddoktorand Returnera html-kod för en expanderbar meny med värden från databasen. Visar enskild doktorands planerade och genomförda insatser på aktuella kurser. Indata Data Verifiering/ doktorand_id ID Den doktorand man vill ha info om. 6

Uppgift servexpandkurs Returnera html-kod för en expanderbar meny med värden från databasen. Visar doktorandernas planerade och genomförda insatser på den aktuella kursen Indata Data Verifiering/ kurs_id ID Den kurs id vars man vill ha info om. ServSokning Uppgift Söker efter angiven lärare, doktorand eller kurs. Om en unik träff, skickas requesten vidare till servlet beroende på vad som sökts efter och vem som utfört sökningen (användartyp fr session + sok_typ). De sidor som användare vidarebefordras till om inget annat anges är: larare_doktorand, larare_kurs, studierektor_larare, studierektor_larare_kurs och studierektor_doktorand. Om flera träffar eller inga, skickas requesten åter till anropande sida. Indata Data Verifiering/ sok_typ larare, Sökning kan ske efter dessa parametrar. doktorand, kurs sokdata text eller kurskod/förkortning. kurs_ar läsår Används vid sökning på kurs, förutom vid sökning med fullständig förkortning (d.v.s. förkortning med årtal). returservlet text Den servlet som skall anropas vid misslyckad sökning eller om flera träfar funnits. direkt_servlet text Gå direkt till denna om sökning lyckas, d.v.s. kolla inte vilken användartyp mm. Uppgift ServCheckLogin Kontrollera inloggningsuppgifter. Skicka autentiserad användare till startsida beroende av roll. Relaterade JSPsidor Indata Data Verifiering/ 1. anvnamn användarnamn 2. losenord Lösenord action= Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i databasen) 7

ServMenyrad Uppgift Ska returnera html-koden för komplett menyrad, används ej i dagens läge Indata Data Verifiering/ sida text vilken sida som INTE ska länkas, dvs namnet på den jsp som ropar efter menyraden. Om tom länkas alla sidor i menyraden. anv_id ID användaren vars menyrad skall visas 8

Huvudkomponenter och relaterade JSP-sidor ServSyttLogin Uppgift Inloggningssida. Frågar efter namn och lösenord. Relaterade JSPsidor sytt_login.jsp Indata Data Verifiering/ action= Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i databasen) Tillhör Skärmdump Utnyttjar Data fr servlett Anrop/Actions servchecklogin sytt_login.jsp servsyttlogin. Logga in (action= ). Parametrarna "anvnamn" och "losenord" måste skickas. ServSyttLogout Uppgift Avslutar aktuell session. Meddelar att användaren är utloggad. Ger möjlighet att logga in på nytt. Relaterade JSPsidor sytt_logout.jsp Indata Data Verifiering/ action= Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i batabasen) Tillhör Skärmdump Utnyttjar Data fr servlett Anrop/Actions sytt_logout.jsp servsyttlogout. 9

Uppgift ServVisaDoktorand Doktorandens startsida, presentera data, erbjuda länkar vidare. Spara anteckningar. Visa kursöversikt för olika årtal. (Denna är lik servstudierektordoktorand, som används av studierektor.) doktorand_start.jsp larare_doktorand.jsp Relaterade JSPsidor Indata Data Verifiering/ 1. aktuellt_ar läsår det årtal som man skall se 2. doktorand_id ID Används bara vid annan användare än doktorand. Anger vilken doktorand vars sida/information som skall visas. action= 1, (2*) Presentera respektive jsp-sida för användaren. Om aktuellt_ar är angiven, skall detta årtal användas, annars innevarande läsår. 3. anteckning text maxlängd 300 tkn action= spara 1, 3* Spara anteckningen, visa doktorand_start.jsp på nytt. Kan ej utföras av lärare. (Om angiven ska aktuellt_ar användas vid presentation av sidan, annars innevarande läsår.) Tillhör Skärmdump Utnyttjar Data fr servlett namn anteckningar kurs_block anv_id planerat genomfort Anrop/Actions servvisadoktorand servvisadoktorand servdoktorandkurs servaktivitet doktorand_start.jsp servvisadoktorand servdropdownartal servstatusbar Ses bara av doktorand Komplett html-kod för expanderbart kursblock. AnvändarID, vad används denna till? Spara anteckning (action= spara ) Byt läsår (action= ) Titta på en kurs (action= ) Öppna pop-up för att addera aktivitet (action= visa_addera, kurs_valbart=true) 10