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 ................................................................................................. 8 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 ......................................................................................... (10 sidor) 2.2 Bilaga 2 Systemdesign ....................................................................................... (38 sidor) 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 Kurs Mina uppgifter Addera aktivitet Pop-up Ändra aktivitet Pop-up Add. aktivitet från kurs 5 Pop-up Överför aktivitet Resurs Systemdokumentation 1.3.2 Lärarnas sidor Inloggning Startsida Resurs Doktorand Mina uppgifter Kurs Pop-up Plan. aktivitet för doktorand 6 Systemdokumentation 1.3.3 Studierektorernas sidor Inloggning Startsida Export Läsårsadm Användaradm Kurs-adm Doktorand Kurs Doktorand Pop-up Plan. Akt. För dokt. 7 Lärare Kurs Variabler Systemdokumentation 1.4 Teknisk lösning Den tekniska lösningen är indelad enligt nedanstående konceptuella 3-lager modell. Presentation/Interaktion Logik Datalagring JSP-sidor Java Servlets 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 1.6 Förteckning över servlets Den fullständiga systemdesignen finns bifogad, här följer en lista över de servlets som ingår. 8 Systemdokumentation servStatusbar servMenyrad servDropdownArtal servDropdownMoment servDropdownKursnamn servDropdownDoktorand servDropdownLarare servDropdownKursOmg servDropDownAmne servExpandDoktorand servExpandKurs servSokning servCheckLogin servSyttLogin 1.7 servSyttLogout servVisaDoktorand servDoktorandKurs servDoktorandUppgifter servAktivitet servLarareStart servLarareKurs servLarareUppgifter servStudierektorStart servStudierektorDoktorand servStudierektorVariabler servKursAdm servAnvAdm servLasarAdm 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 1.8.1 Driftsdokumentation 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 5 Datum 02 maj 4 3 2 1 20 mars 18 mars 13 mars 8 mars Kommentar Ä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. Ändring av ID i tabell Anstalld, Lärare, Doktorand Procentdel för kursassistenters nedsättning tillagd på Kurs Teknikgruppens korrigeringar, anställd-tabellen, ID-fält osv 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 Anvnamn Namn Losenord Epost Avdelning visaKurskod Aktiv Text Unique Text Text Text Text Boolean Boolean Koppling till Tabell Avdening>Namn 2 Ä Ä Ä Ä Ä Ä Ä */auto * Auto(aktiv default) Bilaga 1 - Datastruktur Larare Tabell: Initiering: Borttagning: Behörighet: Fält Anvnamn Studierektor 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 Status Text Unique Boolean Koppling till Tabell Anstalld->Avnnamn Ä */auto Ä * 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 Anvnamn skickaMail Befattning Handledare StudrektKommentar SenastInloggad PrivatAnteckning Status Text Unique Boolean Text Text Text Date Text Koppling Ä Anstalld->Anvnamn Ä Befattning->Namn Anstalld->Anvnamn Ä Ä Ä 4 */auto 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 KursID Forkortning Namn Artal Bokstavsdel Status Varchar Unique Varchar Text Int Varchar Koppling AmneID AnsvarigID KursassistentID Kursinfo Assistenttjänst Text Text Text Text Int Amne->Namn Anstalld->Anvnamn Anstalld->Anvnamn Ä */auto * Ä Ä 5 Ä Ä Ä Ä * Auto(från foreg. år) Bilaga 1 - Datastruktur Aktivitet Tabell: Initiering: Borttagning: Behörighet: Fält ID 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. Koppling Beskrivning Omfattning Förberedselse StartDatum SlutDatum Planerad MomentID Inlaggare Status Auto number Text Int Int Date Date Boolean Text Text Kurs Varchar Kurs->KursId Doktorand Text Anstalld->Anvnamn Markerad Boolean Moment->Namn Anstalld->Anvnamn Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä 6 */auto Auto(tilldelas) * * */auto * Auto(Beroend e på vem lagt in) */Auto(Beron de på varifrån adderat) Auto(Beroend e på vem lagt in) Auto(Beroend e på vem lagt in) 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 ID Status Auto number Koppling Ä */auto Auto (tilldelas) Auto(beroende på när skapas) Doktorand Text Anstalld->Anvnamn Lasar AndelGRU Int Int Lasar->LasarID Ä Auto(sätts till 10%) ForaldraLedighet OvrigLedighet KvarvarandeTimmar Int Int Int Ä Ä Studierektorkommentar Text Ä Auto(från föreg. år) 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 LasarID TimmarPerDag Status Unik identifikator (numeriskt t.ex. 0102, 0203, o.s.v.) Int Koppling Ä */auto Auto(nästa år) Ä Auto(föregående års) Auto(föregående års) Auto(föregående års) Auto(Default false) DagarPerAr Int Ä ArbetstimmarPerAr Int Ä Redigerbar Boolean Ä 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 ID Doktorand Status Auto number Text Koppling Kurs Varchar Kurs->KursID Kommentar Privat Text Boolean Ä Anstalld->Anvnamn Ä Ä 8 */auto Auto(Tilldelas) Auto(Beroende på id inloggad) Auto(Beroende på gällande kurs) 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 Namn Forberedelsetimmar Varningsgrans Befattning Tabell: Initiering: Borttagning: Status Text Unique Int Int Koppling Ä Ä Ä Ä */auto * * 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 Namn Status Text Unique Avdelning Tabell: Initiering: Borttagning: Koppling Ä Ä */auto * 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 Namn Status Text Koppling 9 Ä Ä */auto * 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 Namn Status Text Unique Koppling Ä Ä */auto * Ä */auto Ä */auto Dok Visar alla doktorander med sina resp. kurser Tabell: Dok Initiering: Påverkar inga andra fält Borttagning: Behörighet: Fält Namn Status Text Kursid Text Koppling Doktorand>Anvnamn Kurs->KursID Assistent Visar alla assistenter med sina resp. kurser Tabell: Assistent Initiering: Påverkar inga andra fält Borttagning: Behörighet: Fält Assistnamn Status Text Kursid Text Koppling Kurs>KursassistentID Kurs->kursiD 10 Bilaga 2 - Systemdesign 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 Kommentar 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 Svenska så långt det är möjligt Namngivning 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 Bilaga 2 - Systemdesign 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) Namn Komponentens namn Uppgift Kort beskrivning Relaterade JSP-sidor De JSP-sidor som används för presentation av data från aktuell komponent. Indata De parametrar som komponenten tar emot. Anrop sker via http request Data 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. Verifiering/Kommentar Kommentarer till parametrarna, beskrivning på action och dylikt. Presentation-komponenter (JSP-sidor) Namn Komponentens namn Tillhör Vilken servlet som ger indata Skärmdump Referens till beskrivande bild Utnyttjar Vilka hjälp-/stödkomponenter som JSP-sidan använder Data fr servlett Vilken indata JSP-sidan får från servletten Kommentar (till data) Ev. kommentar till vad indata ska användas till Anrop/Actions Vilka servlet som anropas/länkas från JSP-sidan Kommentar (till anrop) 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 Bilaga 2 - Systemdesign 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 studierektor_variabler.jsp ............................................................................................................... 33 3 Bilaga 2 - Systemdesign servKursAdm ................................................................................................................................. 34 kurs_adm.jsp .................................................................................................................................. 35 servAnvAdm .................................................................................................................................. 36 anv_adm.jsp.................................................................................................................................... 37 servLasarAdm ................................................................................................................................ 38 lasar_adm.jsp .................................................................................................................................. 38 studierektor_resurs.jsp.................................................................................................................... 38 4 Bilaga 2 - Systemdesign Hjälpklasser Verifiering Ev. sessionshantering typ CheckIfLoggedIn, Servletts (hjälpkomponenter) Namn Uppgift Indata anv_id servStatusbar Namn Uppgift servDropdownArtal Indata aktuellt_ar Namn Uppgift Indata moment_id Namn Uppgift Indata kurs aktuellt_ar Returnera html-koden för hela statusbar-rutan Data Verifiering/Kommentar ID doktoranden vars statusbar skall visas 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. Data Verifiering/Kommentar läsår detta årtal skall anges som default i menyn 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. Data Verifiering/Kommentar ID det moment skall anges som default i menyn. Om inget anges skall texten ”Välj moment” anges som default. 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. Data Verifiering/Kommentar ID Om angesdenna kurs default i menyn 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 Bilaga 2 - Systemdesign Namn Uppgift Indata anv_id Namn Uppgift Indata anv_id Namn Uppgift Indata kurs_id Namn Uppgift Indata amne Namn Uppgift Indata doktorand_id 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 Data Verifiering/Kommentar ID Om angesdenna doktorand default i menyn 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. Data Verifiering/Kommentar ID Om angesdenna lärare default i menyn 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. Data Verifiering/Kommentar ID Den kurs vars alla läsår man skall returnera 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. Data Verifiering/Kommentar ID Eventuellt förval. 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. Data Verifiering/Kommentar ID Den doktorand man vill ha info om. 6 Bilaga 2 - Systemdesign Namn Uppgift Indata kurs_id Namn Uppgift Indata sok_typ sokdata kurs_ar returservlet direkt_servlet Namn Uppgift Relaterade JSPsidor Indata 1. anvnamn 2. losenord action=”” 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 Data Verifiering/Kommentar ID Den kurs id vars man vill ha info om. ServSokning 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. Data Verifiering/Kommentar ”larare”, Sökning kan ske efter dessa parametrar. ”doktorand”, ”kurs” text Namn eller kurskod/förkortning. 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). text Den servlet som skall anropas vid misslyckad sökning eller om flera träfar funnits. text Gå direkt till denna om sökning lyckas, d.v.s. kolla inte vilken användartyp mm. ServCheckLogin Kontrollera inloggningsuppgifter. Skicka autentiserad användare till startsida beroende av roll. Data Verifiering/Kommentar användarnamn Lösenord Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i databasen) 7 Bilaga 2 - Systemdesign Namn Uppgift Indata sida anv_id ServMenyrad Ska returnera html-koden för komplett menyrad, används ej i dagens läge Data Verifiering/Kommentar 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. ID användaren vars menyrad skall visas 8 Bilaga 2 - Systemdesign Huvudkomponenter och relaterade JSP-sidor Namn Uppgift Relaterade JSPsidor Indata action=”” ServSyttLogin Inloggningssida. Frågar efter namn och lösenord. sytt_login.jsp Data Verifiering/Kommentar Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i databasen) Namn sytt_login.jsp Tillhör servSyttLogin. Skärmdump Utnyttjar Data fr servlett Kommentar Anrop/Actions Kommentar servCheckLogin Logga in (action=””). Parametrarna "anvnamn" och "losenord" måste skickas. Namn Uppgift Relaterade JSPsidor Indata action=”” Namn Tillhör Skärmdump Utnyttjar Data fr servlett Anrop/Actions ServSyttLogout Avslutar aktuell session. Meddelar att användaren är utloggad. Ger möjlighet att logga in på nytt. sytt_logout.jsp Data Verifiering/Kommentar Användaren skickas efter kontroll av behörighet till startsida beroende av dennes roll (som finns i batabasen) sytt_logout.jsp servSyttLogout. Kommentar Kommentar 9 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. aktuellt_ar 2. doktorand_id action=”” 3. anteckning action=”spara” 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 Data Verifiering/Kommentar läsår det årtal som man skall se ID Används bara vid annan användare än doktorand. Anger vilken doktorand vars sida/information som skall visas. 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. text maxlängd 300 tkn 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.) Namn 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 Kommentar Ses bara av doktorand Komplett html-kod för expanderbart kursblock. AnvändarID, vad används denna till? Kommentar 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 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar larare_doktorand.jsp servVisaDoktorand servDropdownArtal servStatusbar Kommentar Data fr servlett doktorand_namn doktorand_id epost avdelning handledare handledare_epost kurs_block Komplett html-kod för expanderbart kursblock. anv_id Lärarens användarID, används för att få sidhuvud. Anrop/Actions Kommentar servVisaDoktorand Byt läsår (action=””) servLarareKurs Titta på en kurs (action=””) servAktivitet Öppna pop-up för att addera aktivitet (action=”visa_addera”, kurs_valbart=true) 11 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. kurs_id 2. doktorand_id servDoktorandKurs Logik för kurssidan för en enskild doktorand. Används av både studierektor och doktorand, vilken jsp respektive användare skall se avgörs utifrån sessionsvariablerna. doktorand_kurs.jsp studierektor_doktorand_kurs.jsp Data Verifiering/Kommentar ID Den kurs som skall presenteras ID Den doktorand vars info för ovan angiven kurs skall visas. Utnyttjas då användare=studierektor, annars används sessionsvariabeln. 1*, (2*) Visa lagrad information om kursen för aktuell doktorand. text Max 300 tkn text Max 300 tkn action=”” 3. kursinfo 6. studrekt_kommentar action=”spara” 1*, 3*, 2*, 4, (6*) 4. aktuellt_ar läsår action= 1*, 4* ”visa_kurs” (2*) 5. aktivitet_id ID action= 1*, 5*, ”radera_aktivitet” (2*), 4 Om användare=studierektor spara kursinfo och studrekt_kommentar (denna används bara på studierektor_doktorand_kurs.jsp). Visa sedan jsp igen Visa kurssidan för ovan angivet årtal, leta alltså reda på kurs med samma bokstavsdel av förkortningen, men för aktuellt_ar ID för den aktivitet som skall raderas Verifiera att användaren har behörighet att utföra raderingen. Radera sedan specificerad aktivitet och presentera sedan respektive jsp igen. 12 Bilaga 2 - Systemdesign Namn doktorand_kurs.jsp Tillhör ServDoktorandKurs Skärmdump Utnyttjar servDropdownKursOmg Övrig info Data fr servlett Kommentar kursansv_namn kursansv_epost kurs_block Komplett html-kod för expanderbart kursblock. anv_id Doktorandens användar-ID, används för att be om menyrad kurs_info kurs_forkort kurs_kod kurs_namn kurs_id Används för att be om dropdown-meny Anrop/Actions Kommentar servDoktorandKurs Se annan kursomgång dvs annant år (action=”visa_kurs”) servAktivitet Öppna pop-up för att addera aktivitet (action=”visa_addera”) servAktivitet Öppna pop-up för att redigera en specifik aktivitet (action=”visa_andra”, aktivitetID) servAktivitet Öppna pop-up för att överföra en specifik aktivitet (action=”visa_genomf”, aktivitetID) servDoktorandKurs Radera en aktivitet (action=”radera_aktivitet”, aktivitetID) En popupp ska fråga om man verkligen vill radera. 13 Bilaga 2 - Systemdesign Namn studierektor_doktorand_kurs.jsp Tillhör SerDoktorandKurs Skärmdump Utnyttjar ServDropdownKursOmg Övrig info Data fr servlett Kursinformation, Egna kommentarer kursansv_namn kursansv_epost kurs_block Komplett html-kod för expanderbart kursblock. Kursblock_lärare_dokt_kurs anv_id Studierektorns användar-ID, används för att be om menyrad kurs_info kurs_forkort Skrivs ut & Används för att be om dropdown-meny kurs_kod kurs_namn kurs_id Används för att be om dropdown-meny Doktorand_id Används för att be om dropdown-meny Anrop/Actions Kommentar servDoktorandKurs Se annan kursomgång dvs annant år (action=”visa_kurs”) servAktivitet Öppna pop-up för att addera aktivitet (action=”visa_addera”) servAktivitet Öppna pop-up för att redigera en specifik aktivitet (action=”visa_andra”, aktivitetID) servDoktorandKurs Radera en aktivitet (action=”radera_aktivitet”, aktivitetID) En popupp ska fråga om man verkligen vill radera. 14 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. namn 2. epost 3. handledare_id 4, p_mejl 5. visa_kod servDoktorandUppgifter Logik för att hantera en doktorands uppgifter och inställningar. Visar uträkning av tjänst för innevarande år, eller av doktoranden angivet aktuellt_ar doktorand_uppgifter.jsp Data text text ID boolean boolean 6. ny_losen1 7. ny_losen2 8. gammal_losen action= ”spara” alfanumeriskt alfanumeriskt alfanumeriskt 1*, 2*, 4*, 5*, 9 action=”byt” 6*, 7*, 8*, 9 9. aktuellt_ar läsår action=”” 9 Verifiering/Kommentar användarens riktiga namn, max 30 tkn kolla att korrekt epostadress handledarens användarID, (studierektor eller lärare) huruvida doktoran önskar påminnelsemejl, doktorandens preferens för kod/förkortning. True=visa kurskod. nytt lösenord nytt lösenord, kolla att identiskt med ovanstående kolla att ett korrekt lösenord angivits. Spara data/uppgifterna, visa sidan på nytt, (sätt ev status så att JSP-vet att uppdatering lyckats) verifiera lösenorden, byt lösenord, visa jsp-sidan på nytt. (sätt ev status så att JSP-vet att uppdatering lyckats) Visa sidan med uträkning av tjänst för aktuellt_ar. Denna parameter kollas alltid, om =null visa uträkning för innevarande läsår. Presentera sidan, om aktuellt_ar är angivet skall detta års timuträkning skickas med, annars innevarande läsårs. 15 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id anv_namn avdelning namn handledare paminnelse visa_kod aktuellt_ar arbetstid andel_gru assistent_avdrag doktorand_uppgifter.jsp servDoktorandUppgifter servDropdownArtal servDropdownLarare Se till att handledare endast är valbart som dropdown, ej fritext. Väljs av studierektor från användar administration Kommentar boolean boolean, anger doktorandens preferens Det år som uträkning av tjänst gäller för. Antal procent nedsättning av heltid för att arbeta som assistent. Summerad för de kurser som doktoranden är kursassistent i. ledig_proc Ledighet i procent ledig_dagar Ledighet i dagar tillgodo Timmar från året innan Anrop/Actions Kommentar servDoktorandUppgifter Spara ändringar (action=”spara”) servDoktorandUppgifter Byt lösenord (action=”byt”) servDoktorandUppgifter Visa uträkning för anat år (action=””) 16 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id anv_namn doktorand_resurs.jsp Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id anv_namn doktorand_historik.jsp Namn Uppgift Relaterade JSPsidor Indata 1. kurs_id 2. doktorand_id 3. moment_id 4. omfattning 5. forberedelse 6. datum1 7. datum2 8. planerad 9. aktivitet_id 10. kurs_valbart Sidan består av menyrad+länk+bild Kommentar Sidan består av menyrad+länk+bild Kommentar ServAktivitet Att hantera inmatning av nya aktiviteter, ändring av befintliga samt överförsel av planerade till genomförda. addera_aktivitet.jsp redigera_aktivitet.jsp overfor_aktivitet.jsp Data Verifiering/Kommentar ID kolla att kursen existerar ID doktorandens ID, används enbart då då användare=studierektor/lärare, annars utgå från sessionvariablerna. Kolla att doktorand existerar ID kolla att momentet existerar Numeriskt Numeriskt YYYYMMDD obligatoriskt! YYYYMMDD ej obligatoriskt. kolla om finns smidigare datumformat Boolean planerad=false innebär att den är genomförd. ID Den aktivitet som redigeras eller överförs (existerar endast vid dessa). Kolla att den verkligen existerar Boolean anger om användaren skall få påverka (välja) vilken kurs som det gäller eller inte Denna parameter skickas vidare till JSP:n som behöver informationen. Alternativt tar vi in en parameter som anger vilken JSP-sida varifrån anropet/begäran sker 17 Bilaga 2 - Systemdesign 11. beskrivning text 12. boolean doktorand_valbart action= ”visa_addera” action= ”visa_andra” action= ”visa_genomford” action= ”spara” 1, 2, 10, 12 Beskrivning av aktiviteten Anger om användaren skall få välja vilken doktorand som aktiviteten gäller. Behandlas som kurs_valbart, ovan. Visa jsp med så många givna parametrar som möjligt. 9* Visa jsp med så många givna parametrar som möjligt. 9* Visa jsp med så många givna parametrar som möjligt. 4*, 5*, 6*, 7, 9*,11* action= ”addera” 1*, (2*), 3*, 4*, 5*, 6*, 7, 8*, 10, 11* action= ”overfor” 1*, 3, 4, 5, 6, 7, 9*, 11 Efter att verifiering av indata gjorts Ersätt databasens information om aktiviteten med indata från användaren. OBS Ändra endast de poster som kommer ifrån JSP!!! Uppdatera användarens vy, tex genom att anropa användarens kursvy dvs servDoktorandKurs, servVisaDoktorandosv. Efter att verifiering av indata gjorts Skapa aktivitet utifrån indata från användaren. Visa sedan addera_aktivitet.jsp igen, med status satt till lämpligt meddelande och skicka med samma moment och kurs (samt doktorand_id då användare=lärare) som just adderats. Skicka även med kurs_valbart, som ej skall ändras i servletten. Uppdatera även användarens vy. Verifiera indata samt jämför med databasens information. Om inga ändringar gjorts Sätt aktiviteten till genomförd, uppdatera användarens vy. Om användarens inmatade omfattning eller förberedelse är lägre än databasens OCH befintlig post innehåller både datum 1 och 2 skapa ny genomförd aktivitet med all indata, subtrahera inmatad omfattning och förberedelse från den befintliga posten (som ej ändras på annat sätt), uppdatera användarens vy. Om andra ändringar gjorts Ändra aktiviteten utifrån indata, sätt den till genomförd, uppdatera användarens vy. 18 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info addera_aktivitet.jsp servAktivitet servDropdownKursnamn servDropdownDoktorand servDropdownMoment Förhållandet mellan huvudservlett, JSP-sida och hjälpservletts beror på hur vi kan lösa stängning/uppdatering av pop-up/underliggande fönster samt hur vi kan utforma JavaScript för att automatiskt fylla I värden I själva pop-up-fönstret. Rubriken upp till vänster anpassas beroende på vad JSP får för indata dvs hur mycket vi vet resp vilka parametrar som är valbara. Möjligheten att ”Addera och stäng” är borttagen på anv begäran. Kommentar Statusrapport från servlett som meddelar resultatet av föregående action. Ska presenteras tydligt, tex högst upp i pop-up-fönstret. Kan vara tom, och visas då inte (ej heller blank rad). Kan vara tex ”Fel datumformat, försök igen”, ”Ej möjlig datumperiod, försök igen”, ”Aktiviteten sparad, addera fler eller stäng fönstret.” kurs_valbart boolean, anger om kurs skall vara valbart för användaren, antingen via dropdown-meny eller textfält. Om inte anges kurs i rubriken. kurs_id Då kurs ska väljas används ev kurs_id för att få rätt kurs default i dropdown_menyn. Annars lagras den dolt för att skickas med vid action. kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet vilken kurs han/hon adderar aktiviteter för, tex I rubriken. Om det är kod eller förkortning beror på användarens preferens vilket kollas i servletten. doktorand_id Den doktorand som man adderar aktivitet åt. Endast nödvändig då lärare adderar aktiviteter åt en doktorand. Om doktorand_id anges används detta för att rätt doktorand skall visas som förinställt värde i dropdown-menyn. doktorand_valbart Boolean. Om sant skall användaren få ange vilken doktorand han/hon vill addera aktivitet åt. Valet görs från dropdown-meny planerad boolean, =false betyder att den är genomförd. Om ej angiven ska genomförd visas som default. moment_id Om angiven skall den vara default i dropdown-menyn. (Ev behöver denna meny skapas i JSP:n för att lyckas med JavaScript. Då bör servletten istället skicka en sträng med de olika momenten på formen ”antal moment$momentID$momentnamn$förberedelsetid$ varningsgräns$ och sedan data för moment nr 2 osv så många moment som angavs som första parameter. Denna sträng kan enkelt parsas i JSPoch omvandlas till en dropdown.) omfattning Om angiven skall antalet timmar sättas default i tillhörande fält forberedelse Om angiven skall antalet timmar sättas default i tillhörande fält, summera då också och sätt ut summan. Data fr servlett status 19 Bilaga 2 - Systemdesign datum1 datum2 beskrivning Anrop/Actions servAktivitet Om angivet, sätt ut datumet. Annars dagens datum. Om angivet, sätt ut datumet, annars tomt. om angivet sätt ut texten, annars tomt. Kommentar Addera aktiviteten (action=”addera”) ge all data till servletten. 20 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info redigera_aktivitet.jsp servAktivitet servDropdownKursnamn servDropdownDoktorand servDropdownMoment Stora likheter med addera_aktivitet.jsp. Se denna för kommentarer. Föreslaget att användaren skall kunna ändra moment, kurs samt genomför/planerad. ENDAST Moment skall kunna ändras!! Utseendet blir mycket likt addera_aktivitet.jsp. Frågetecken: Ska lärare kunna byta doktorand för aktiviteten? -NEJ Data fr servlett Kommentar aktivitet_id Lagras dolt och skickas med till servlet vid action. kurs_valbart boolean, anger om kurs skall vara valbart för användaren, antingen via dropsown-meny eller textfält. Om inte anges kurs_kod_forkortning i rubriken. kurs_id Om kurs får väljas används kurs_id för att få rätt kurs default i dropdown-menyn. kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet vilken kurs han/hon redigerar aktiviteter för, tex i rubriken. Om det är kod eller förkortning beror på användarens preferens vilket kollas i servletten. doktorand_id Den doktorand som man redigerar aktivitet åt. Endast nödvändig då lärare redigerar aktiviteter åt en doktorand. Om doktorand_id anges används detta för att rätt doktorand skall visas som förinställt värde i dropdown-menyn. Kommer ej visas ngn dropdown, men datan kan behövas ändå… doktorand_valbart Behövs ej pga att det ej skall gå att välja doktorand planerad Behövs ej pga att det ej skall gå att ändra mellan planerad/genomförd här moment_id Skall vara default i dropdown-menyn. (se dessutom kommentar för addera_aktivitet.jsp vid moment_id) omfattning Sätts in i tillhörande fält forberedelse Sätts in i tillhörande fält datum1 Sätts in i tillhörande fält datum2 Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt beskrivning Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt Anrop/Actions Kommentar ServAktivitet Addera aktiviteten (action=”spara”) ge all data till servletten. 21 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett aktivitet_id overfor_aktivitet.jsp servAktivitet servDropdownMoment Stora likheter med addera_aktivitet.jsp. Se denna för kommentarer. Föreslaget att sidan ska visa vilken kurs aktiviteten som ska överföras tillhör Kommentar Lagras dolt och skickas med till servlet vid action. kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet vilken kurs han/hon överför aktiviteten för, tex i rubriken. Om det är kod eller förkortning beror på användarens preferens vilket kollas i servletten. doktorand_valbart Skall ej vara möjligt att göra … planerad boolean, =false betyder att den är genomförd. Sätts in som default. moment_id Anges så att användaren vet vilket moment aktiviteten tillhör. omfattning Sätts in i tillhörande fält forberedelse Sätts in i tillhörande fält datum1 Sätts in i tillhörande fält datum2 Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt beskrivning Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt Anrop/Actions Kommentar servAktivitet Addera aktiviteten (action=”overfor”) ge all data till servletten. 22 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSP-sidor Indata 1. aktuellt_ar 2. larare_id action= ”” 3. sok_typ 4. sok_resultat action= ”inga_traffar” action= ”flera_traffar” servLarareStart Lärarens startsida, presentera data, erbjuda länkar vidare. Spara anteckningar. Visa kursöversikt för olika årtal. Servletten används dessutom för studierektors vy över lärare. (Enda skillnad mellan JSP:erna är att studierektor får se planerat/genomfört, dvs skicka olika html-tabeller till respektive jsp.) larare_start.jsp studierektor_larare.jsp Data Verifiering/Kommentar Läsår ID Den lärare som studierektorn skall se, anges bara vid anrop fr studierektorer. 1, (2*) Visa respektive jsp med kurser för angivet läsår, om aktuellt_ar ej angivits används innevarande läsår ”larare” Sökt datatyp ”doktorand” ”kurs” String Separerar alla resultat mha ”&”. 3*, Sökningen resulterade i inga funna. Sätt sok_status till jsp. Vad som sökts efter ses på sok_typ. 3*, 4* Skicka vidare träffarna i sok_resultat till repektive jsp, samt ange vad som sökts efter. 23 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id namn epost html_tabell aktuellt_ar kurs_res doktorand_res sok_status Anrop/Actions servLarareStart servLarareKurs servSokning larare_start.jsp ServLarareStart servDropdownArtal Kommentar Användarens ID, används för att be om menyrad Komplett html-kod för et tabell innehållande lärarens kurser, bygger på hans preferens för kod/förkortning. Det årtal som kurser visas för, detta årtal används dessutom för att be om dropdown för årtal. Om en sökning har gett flera traffar ges en sträng med träffarna, separerade med &.. Om inga träffar gavs får vi ett statusmeddelande från servletten, tex ”Inga träffar, försök igen” Kommentar Se kurser för annat läsår (action=”nytt_ar”) Om man klickar på en kurs ska man komma till lärarens kurssida. (action=””, kurs=Id för kursen) Ange sökparametrar. Utnyttjar samma servlett för all sokning. Namn studierektor_larare.jsp Tillhör ServLarareStart- osäker Skärmdump Utnyttjar ServDropdownArtal, ServDropDownLärare Övrig info Data fr servlett Kommentar anv_id Användarens ID, används för att be om menyrad namn epost avdelning html_tabell Kursblock_studierektor_lärare, bygger på hans preferens för kod/förkortning. aktuellt_ar Det årtal som kurser visas för, detta årtal används dessutom för att be om dropdown för årtal. sok_status Om inga träffar gavs får vi ett statusmeddelande från servletten, tex ”Inga träffar, försök igen” Anrop/Actions Kommentar ServLarareStart? Se kurser för annat läsår (action=”nytt_ar”) servLarareKurs Om man klickar på en kurs ska man komma till studierektor_lärare_ kurssida. (action=””, kurs=Id för kursen) servSokning Ange sökparametrar. Utnyttjar samma servlett för all sokning. 24 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. aktuellt_ar 2. assistent_id 3. kurs_id 4. kursinfo 5. aktivitet action=”” servLarareKurs Logik för kurssidan. Utnyttjas av både studierektor och lärare. Om användare väljer att byta läsår bör JSP-sidan lagra detta byte i en dold variabel och skicka med det aktuella året vid varje anrop, detta för att användarens val ska ”kommas ihåg” av systemet. larare_kurs.jsp studierektor_larare_kurs.jsp Data Verifiering/Kommentar läsår ID doktorand ID text ID Den aktivitet som skall avmarkeras 3*, 1 Presentera kursen. Om parametern ”aktuellt_ar” angivits skall detta läsår användas, annars innevarande läsår. (Detta gäller alla actions) 1, 3*, 4* Spara kursinformation. action= ”spara_kursinfo” action= 1, 3*, 5* ”avmarkera” avmarkera aktivitet, dvs sätt aktivitetens fält för markering till false, presentera sedan sidan på nytt 25 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar larare_kurs.jsp servLarareKurs servDropdownKursOmg servDoktorandinsats servExpandDoktorand Övrig info Data fr servlett Kommentar kursansv_namn kursansv_epost kursassistent_namn kursassistent_epost anv_id Lärarens användar-ID, används för att be om menyrad kurs_info kurs_forkort kurs_kod kurs_namn kurs_id Används för att be om dropdown-meny Anrop/Actions Kommentar servLarareKurs Spara kursinfo (action=”spara_kursinfo”) servLarareKurs Avmarkera (action=”avmarkera”) servAktivitet Öppna pop-up för att addera aktivitet (action=”visa_addera”) servAktivitet Öppna pop-up för att redigera en specifik aktivitet (action=”visa_andra”, aktivitetID) servAktivitet Öppna pop-up för att överföra en specifik aktivitet (action=”visa_genomf”, aktivitetID) 26 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar studierektor_larare_kurs.jsp servLarareKurs servDropdownKursOmg servDoktorandinsats servExpandDoktorand Övrig info Data fr servlett Kommentar kursansv_namn kursansv_epost kursassistent_namn kursassistent_epost anv_id Studierektorns användar-ID, används för att be om menyrad kurs_info kurs_forkort kurs_kod kurs_namn kurs_id Används för att be om dropdown-meny Anrop/Actions Kommentar servLarareKurs Spara kursinfo (action=”spara_kursinfo”) servLarareKurs Avmarkera (action=”avmarkera”) servAktivitet Öppna pop-up för att addera aktivitet (action=”visa_addera”) servAktivitet Öppna pop-up för att redigera en specifik aktivitet (action=”visa_andra”, aktivitetID) servAktivitet Öppna pop-up för att överföra en specifik aktivitet (action=”visa_genomf”, aktivitetID) 27 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSP-sidor Indata 1. namn 2. epost 3. visa_kod servLarareUppgifter 4. ny_losen1 5. ny_losen2 6. gammal_losen action=”” action= ”spara” action= ”byt” alfanumeriskt alfanumeriskt alfanumeriskt Logik för att hantera en lärare uppgifter och inställningar. larare_uppgifter.jsp Data text text boolean 1*, 2*, 3* 4*, 5*, 6* Verifiering/Kommentar användarens riktiga namn, max 30 tkn kolla att korrekt epostadress doktorandens preferens för kod/förkortning. True=visa kurskod. nytt lösenord nytt lösenord, kolla att identiskt med ovanstående kolla att ett korrekt lösenord angivits. Visa jsp-sidan Spara data/uppgifterna, visa sidan på nytt, (sätt ev status så att JSP-vet att uppdatering lyckats) verifiera lösenorden, byt lösenord, visa jsp-sidan på nytt. (sätt ev status så att JSP-vet att uppdatering lyckats) Namn larare_uppgifter.jsp Tillhör servLarareUppgifter Skärmdump Utnyttjar Övrig info Data fr servlett Kommentar anv_id Doktorandens användar-ID, används för att be om menyrad namn visa_kod boolean, anger doktorandens preferens Anrop/Actions Kommentar servLarareUppgifter Spara ändringar (action=”spara”) servLarareUppgifter Byt lösenord (action=”byt”) 28 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id anv_namn Namn Uppgift Relaterade JSP-sidor Indata 1. aktuellt_ar action= ”” 2. sok_typ 3. sok_resultat action= ”inga_traffar” action= ”flera_traffar” larare_resurs.jsp ? Sidan består av menyrad+länk+bild Kommentar servStudierektorStart Presentera studierektorns olika ingångar till systemet. Om användare väljer att byta läsår bör JSP-sidan lagra detta byte i en dold variabel och skicka med det aktuella året vid varje anrop, detta för att användarens val ska ”kommas ihåg” av systemet. studierektor_start.jsp Data läsår 1 ”larare” ”doktorand” ”kurs” String Verifiering/Kommentar Presentera JSP-sidan. Om parametern ”aktuellt_ar” angivits skall detta läsår användas, annars innevarande läsår. (aktuellt_ar är det årtal för vilket kursdropdown ska presenteras.) Sökt datatyp Separerar alla resultat mha ”&”. Sökningen resulterade i inga funna. Sätt statusmeddelande till jsp:n. Vad som sökts efter ses på sok_typ. Skicka vidare träffarna i sok_resultat till jsp, samt ange vad som sökts efter. 29 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id namn visa_kod Anrop/Actions servSokning servAnvAdm Namn Uppgift Relaterade JSPsidor Indata 1. doktorand_id 2. aktuellt_ar action= ”” 3. andel_gru 4. ledighet_proc 5. ledighet_dagar 6. kommentar action= ”spara” studierektor_start.jsp servStudierektorStart servDropdownArtal servDropdownMoment servDropdownLarare servDropdownDoktorand Kommentar Studierektorns användar-ID, används för att be om menyrad boolean, anger doktorandens preferens Kommentar Sökning (action=””) Skapa ny användare (action= ”skapa_anvandare”) servStudierektorDoktorand Presenterar information om en specifik doktorands arbetsbelastning och kurser för studierektor. Arbetsbelastningen är ändringsbar, (obs att nedsättning för assistenttjänst ej är ändringsbart härifrån, det är bara ändringsbart på kursadministrationen.) studierektor_doktorand.jsp Data Verifiering/Kommentar ID Den doktorand som skall ses/redigeras läsår det årtal som man skall se 1*, 2 Visa jsp med kurser för ”aktuellt_ar”, om denna parameter ej angivits skall det innevarande läsåret användas. Numeriskt Procentantal(0-100) Numeriskt Procentantal(0-100) Numeriskt Antal dagar text 1*, 2, 3*, 4*, 5*, 6* Studierektors kommentar om doktorand, (maxlängd ???) Verifiera att (användare=studierektor) och att indata är okej/existerar. Spara sedan informationen och presentera jsp-sidan igen på samma sätt som action=””. 30 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar studierektor_doktorand.jsp servStudierektorDoktorand servDropdownArtal servStatusbar servExpandDoktorand Övrig info Data fr servlett Kommentar anv_id Studierektorns användar-ID, används för att be om menyrad doktorand_namn doktorand_epost handledare_namn handledare_epost avdelning arbetstid andel_gru_proc foraldraledigt ovrigt_ledigt tillgodo kommentar Anrop/Actions Kommentar servStudierektorDoktorand Visa med nytt årtal (action=””) servStudierektorDoktorand Spara (action=”spara”) servAnvAdm Användar administration, doktorand_id skickas med (action=””) Namn Uppgift servStudierektorVariabler Relaterade JSPsidor Indata action=”” 1. varning_text Data 2. mejl_text Studierektorns möjlighet att redigera variabler. Efter att ändringar sparats skall sidan presenteras på nytt. Verifiera att användaren är studierektor! studierektor_variabler.jsp text text action= 1*, 2* ”spara_texter” 3. radera_id id action= 3* ”radera_avdelning” ”radera_befattning” ”radera_amne” Verifiering/Kommentar Presentera sidan. Varningsmeddelandet som visas vid inmatnig av för högt antal förberedelsetimmar Text för det påminnelsemejl som skall skickas till de doktorander som så angivit. Spara varning_text och mejl_text, presentera sedan jsp på nytt. id för den post som skall raderas Radera den post som anges i 31 Bilaga 2 - Systemdesign ”radera_moment” id_1 data_1 id_2 data_2 osv action= ”spara_avdelning” ”spara_befattning” ”spara_amne” action= ”ny_avdelning” ”ny_befattning” ”nytt_amne” id_1 namn_1 timmar_1 varning_1 id_2 namn_2 timmar_2 varning_2 osv action= ”spara_moment” action= ”nytt_moment” ID text ID text alla ”id-data”-par ovan. id för tabellpost nr 1 text som skall lagras för post nr 1 id för tabellpost nr 2 text som skall lagras för post nr 2 JSP-sidans parameternamn för avdelning, befattning och ämne är identiska eftersom de har olika actions, se nedan. Spara de ”id-data”-par som tagits emot för respektive tabell. data_1* Skapa ny post i korrekt tabell med värden angivna i data_1. ID text numeriskt numeriskt ID text numeriskt numeriskt id för tabellpost nr 1 text som skall lagras för post nr 1 förberedelsetid för moment-post nr 1 varningsgräns för moment-post nr 1 id för tabellpost nr 2 text som skall lagras för post nr 2 förberedelsetid för moment-post nr 2 varningsgräns för moment-post nr 2 samtliga: id_x, namn_x, timmar_x och varning_x namn_1* timmar_1* varning_1* Spara ändringarna som gjorts för moment Skapa ny post i tabellen moment, med data från namn_1, timmar_1 och varning_1. 32 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id varning_text mejl_text avdelning1 avdelning2 befattning1 befattning1 moment1 timmar1 varning1 moment2 timmar2 varning2 amne2 kommentar Anrop/Actions studierektor_variabler.jsp servStudierektorVariabler Studierektorns användar-ID, används för att be om menyrad Initialvärdet i textfältet ”Varningsmeddelande” Initialvärdet i textfältet ”Påminnelsetext” Initialvärdet i första avdelningsfältet Initialvärdet i andra avdelningsfältet (Ska väl vara fler än två fält?) Initialvärdet i första befattningsfältet Initialvärdet i andra befattningsfältet Initialvärdet i första momentfältet Initialvärdet i första förberedelse tidfältet Initialvärdet i första varningsgränsfältet Initialvärdet i andra momentfältet Initialvärdet i andra förberedelse tidfältet Initialvärdet i andra varningsgränsfältet Initialvärdte i andra ämnesindelningsfältet servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler servStudierektorVariabler Kommentar Spara avdelning (action= ”spara_avdelning”) Skapa ny avdelning (action= ”ny_avdelning”) Radera avdelning (action= ”radera_avdelning”) Spara befattning (action= ”spara_befattning”) Skapa ny befattning (action= ”ny_ befattning”) Radera befattning (action= ”radera_befattning”) Spara moment (action= ”spara_moment”) Skapa nytt moment(action= ”nytt_moment”) Radera moment (action= ”radera_moment”) Spara ämnesindelning (action= ”spara_amne”) Skapa nytt ämnesindelning (action= ”nytt_amne”) Radera ämnesindelning (action= ”radera_amne”) Spara varningsmeddelande och påminnelsetext (action = ”spara_texter”) 33 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. kurs_id servKursAdm 2. aktuellt_ar läsår 3. kursnamn text 4. forkortning text 5. amne ID 6. ansvarig_larare ID lärare eller studierektor 7. kursassistent ID doktorand 8. assistent_proc numeriskt Antal procent av heltidstjänst som kursens kursassistent får nedsättning med. (1, 3, eller 4) Visar information om vald kurs. Använd sökfunktionen med extra parameter om ej kurs_id är inparameter. Ladda om sidan med kursens läsår som aktuellt år. Skapar ny kurs per valt läsår. Sparar kursinställningar för aktuell kurs. Presentera kursadministrativa parametrar samt tillåta ändring av dessa. kurs_adm.jsp Data ID Verifiering/Kommentar Används vid laddning av sidan om kurs har valts, för att kunna presentera info om denna kurs. Används om kurskod har angivits som kursidentifiering. Samt som parameter vid byte av drop-down-meny till annat läsårs kurser. 9. kurskod_ny action= ”visa_kurs” action= ”ny_kurs” 2*, 4* action= 1*, 2, 3*, ”spara_inställningar” 5*, 6, 7, 8*, 9* action= 1*, 2 ”radera_kurs” action= ”” 1, 2 Raderar vald kurs. Ladda om sidan. Presentera jsp-sidan, om aktuellt_ar angivits skall detta år användas, annars innevarande årtal. Om kurs_id angivits skall denna kurs visas, obs att årtal som skickas till JSP (för att användas i kursdropdown) är aktuellt_ar om sådant angivits ej utgående från den aktuella kursens läsår. 34 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett kursnamn forkortning kurskod artal amne ansvarig_larare assistent kommentar Anrop/Actions servKursAdm servKursAdm servKursAdm servKursAdm servGenereraAr kurs_adm.jsp servKursAdm servDropdownArtal servDropdownMoment servDropdownLarare servDropdownDoktorand Kommentar Kursens förkortning = Nyckel Kommentar Visa vald kurs (action=”visa_kurs”) Skapa ny kurs (action=”ny_kurs”) Spara inställningar för aktuell kurs (action= ”spara_inställningar”) Radera vald kurs (action=”radera_kurs”) Generera nytt år 35 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSPsidor Indata 1. anv_id 2. losenord 3. namn 4. epost 5. kategori 6. handledare 7. mail 8. kurskod 9. andel_gru 10. foraldraledigt 11. ovrigt_ledigt 12. anv_namn servAnvAdm Presentera användaradministrativa parametrar samt tillåta ändring av dessa. anv_adm.jsp Data ID text text text ID ID Boolean Boolean int int int text Verifiering/Kommentar Vid laddning av sidan om användarnamn har valts. Vid ”sökning” efter användaren eller skapande av ny användare Sök användare. action= 3, 12* ”sok_anvandare” action= 2*, 5*, 12* Skapa ny användare. ”skapa_anvandare” action= ”spara” samtliga parametrar Skriv all information om användaren till tabell. Anv_namn ej möjligt att ändra! action = ”radera” Raderar användaren. action= ”” 1 Presentera ”tom” sida. Om id angivet skicka info om denna användare. 36 Bilaga 2 - Systemdesign Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anvnamn anv_id namn epost kategori handledare visa_kurskod paminnelse andel_gru foraldraledigt ovrig_ledigt tillgodo Anrop/Actions servAnvAdm servAnvAdm servAnvAdm servAnvAdm servGenereraAr anv_adm.jsp servAnvAdm servDropdownLarare Kommentar Kommentar Sök användare (action=”sok_anvandare”) Skapa användare (action=”skapa_anvandare”) Spara inställningar (action= ”spara”) Radera vald kurs (action=”radera”) Generera nytt år 37 Bilaga 2 - Systemdesign Namn Uppgift Relaterade JSP-sidor Indata action= ”” action= ”generera” 1. redigerbar 2. lasar 3. tim_ar 4. tim_dag action= ”spara” servLasarAdm Generera nytt läsår samt presentera och tillåt ändring av administrativa parametrar för läsår. lasar_adm.jsp Data ”true”/”NULL” numeriskt numeriskt numeriskt samtliga parametrar Verifiering/Kommentar Presentera jsp-sidan Skapa ett nytt läsår, sätt default till icke editeringsbart samt för över föregående läsårs: - kursnamn, kursförkortning (bokstavsdel) - kursansvarig - nedsättning för kursassistent Alla genererade kurser får nytt kursID/förkortning som har årtalsdelen ökad med ett. (numi02numi03) Anger om lärare/doktorander ska få editera läsåret Vilket läsår som administreras Antal timmar/år för läsåret Antal timmar/dag för läsåret Spara samtliga data-parametrar som kommer in, presentera sedan jsp-sidan igen. Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett Anrop/Actions ServLasarAdm lasar_adm.jsp Namn Tillhör Skärmdump Utnyttjar Övrig info Data fr servlett anv_id anv_namn studierektor_resurs.jsp servlasarAdm servDropdownArtal Kommentar Kommentar Generera nytt år (action=”generera”) Sidan består av menyrad+länk+bild Kommentar 38