Administratorhandleiding voor admin3i de Bakker Diebrecht De Rammelaere Evert 30 mei 2003
Woord vooraf Deze tekst behandelt op een bondige wijze de installatie en het gebruik van de applicatie admin3i. Dit document is opgesteld door Diebrecht de Bakker en Evert De Rammelaere ten behoeve van het eindwerk voor het behalen van het diploma industrieel ingenieur informatica aan de Hogeschool Gent. Bij deze handleiding horen nog een boek met uitleg over de gebruikte technieken en een boek waarin de code wordt uitgelegd, er wordt aangeraden deze boeken te lezen indien men een beter inzicht wil in de werking van het systeem Wij wensen hier nogmaals onze promotor, Dhr Van Meirvenne, te bedanken voor de begeleiding bij dit project en Dhr Van Dycke voor het aanbrengen van het onderwerp. Natuurlijk vergeten we ook onze naaste familie en vrienden niet voor de steun en een opbeurend woord als het eens wat minder vlot ging. Bijzondere dank gaat uit naar Greet Geenens en Petra Mussche voor het nalezen van deze tekst.
Diebrecht de Bakker Evert De Rammelaere Gent, mei 2003
i
Inhoudsopgave Woord vooraf
i
1 Installatie 1.1 Java SDK . . . . . . . . 1.1.1 Beschrijving . . . 1.1.2 Download . . . . 1.1.3 Installatie . . . . 1.2 Tomcat 4 . . . . . . . . 1.2.1 Beschrijving . . . 1.2.2 Download . . . . 1.2.3 Installatie . . . . 1.3 MySQL 4 . . . . . . . . 1.3.1 Beschrijving . . . 1.3.2 Download . . . . 1.3.3 Installatie . . . . 1.3.4 Opmerkingen . . 1.4 JDBC Connector . . . . 1.4.1 Beschrijving . . . 1.4.2 Download . . . . 1.4.3 Installatie . . . . 1.5 Turbine . . . . . . . . . 1.5.1 Beschrijving . . . 1.5.2 Download . . . . 1.5.3 Installatie . . . . 1.6 Connectie tussen Apache 1.6.1 Beschrijving . . . 1.6.2 Download . . . . 1.6.3 Installatie . . . . 1.7 Opstarten . . . . . . . . 1.7.1 Java . . . . . . . 1.7.2 Tomcat . . . . . 1.7.3 MySQL . . . . .
1 1 1 2 2 2 2 3 3 3 3 3 4 4 5 5 6 6 6 6 6 7 7 7 7 8 8 9 9 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . en Tomcat4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INHOUDSOPGAVE
iii
2 Initialisatie van de databank 2.1 Installatie van de databank . . . . . . 2.2 Initialisatie van de vaste waarden . . . 2.2.1 Opmerking . . . . . . . . . . . 2.3 Invoeren van gegevens . . . . . . . . . 2.3.1 Algemene Opmerkingen . . . . 2.3.2 Gemeentes . . . . . . . . . . . . 2.3.3 Docenten . . . . . . . . . . . . 2.3.4 Studierichtingen en groepen . . 2.3.5 Opleidingsonderdelen . . . . . . 2.3.6 Vakken . . . . . . . . . . . . . . 2.3.7 Vakonderdelen . . . . . . . . . . 2.3.8 Webpagina’s van vakonderdelen 2.3.9 Studenten . . . . . . . . . . . . 2.3.10 Studentenrichtingen . . . . . . . 2.3.11 Lessenroosters . . . . . . . . . . 2.3.12 Toestellen . . . . . . . . . . . . 2.3.13 Thesissen . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
10 10 11 11 11 12 13 14 14 15 16 18 19 19 20 21 23 23
. . . . . . . .
25 25 25 26 26 26 27 27 27
4 Algemene richtlijnen voor het gebruik 4.1 Formulieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Menu’s en topmenu’s . . . . . . . . . . . . . . . . . . . . . . . . .
29 29 29 30
5 Beheer van gebruikers 5.1 Inloggen . . . . . . . . . . . . . 5.2 Gebruikers aanmaken . . . . . . 5.2.1 Contactpersonen . . . . 5.3 Gebruikers aanpassen . . . . . . 5.4 Gebruikers verwijderen . . . . . 5.5 Reeds ge¨ınstalleerde gebruikers
31 31 31 32 32 33 33
3 Installatie van de applicatie 3.1 Installatie van de bestanden . 3.1.1 CLASSPATH instellen 3.2 De applicatie configureren . . 3.2.1 Turbine configureren . 3.2.2 FotoPath . . . . . . . 3.2.3 JSP’s . . . . . . . . . . 3.3 Tomcat configureren . . . . . 3.4 Testen . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . .
. . . . . .
. . . . . . . .
. . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . .
. . . . . .
INHOUDSOPGAVE
iv
6 Beheer en gebruik van de mediatheek 6.1 Beschrijving . . . . . . . . . . . . . . . . . 6.2 Object ingeven . . . . . . . . . . . . . . . 6.2.1 Nieuw item en exemplaar . . . . . 6.2.2 Nieuw exemplaar van bestaan item 6.3 Object verwijderen . . . . . . . . . . . . . 6.3.1 Exemplaar verwijderen . . . . . . . 6.3.2 Item verwijderen . . . . . . . . . . 6.4 Object aanpassen . . . . . . . . . . . . . . 6.5 Exemplaar uitlenen . . . . . . . . . . . . . 6.6 Exemplaar terugbrengen . . . . . . . . . . 6.7 Historieken . . . . . . . . . . . . . . . . . 6.7.1 Uitgeleende objecten . . . . . . . . 6.8 Opzoekingen verrichten . . . . . . . . . . .
. . . . . . . . . . . . .
34 34 34 34 35 35 35 35 35 36 36 36 36 36
7 Logboeken bekijken en beheren 7.1 Bekijken van alle logs . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Instellen van de logs . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Persoonlijk logboek . . . . . . . . . . . . . . . . . . . . . . . . . .
38 38 38 39
8 Berichten en commentaar 8.1 Berichten . . . . . . . . . . 8.1.1 Bericht verzenden . . 8.1.2 Bericht verwijderen . 8.2 Commentaar . . . . . . . . . 8.2.1 Commentaar sturen . 8.2.2 Commentaar beheren
. . . . . .
40 40 40 41 41 41 41
. . . . . . .
42 42 42 42 43 43 43 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44 44 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44 45
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . . . . . . . .
. . . . . .
9 Bedrijven en contactpersonen 9.1 Bedrijf toevoegen . . . . . . . . . . . . . . . 9.1.1 Koppelen van een contactpersoon . . 9.1.2 Ontkoppelen van een contactpersoon 9.2 Bedrijf verwijderen . . . . . . . . . . . . . . 9.3 Bedrijf aanpassen . . . . . . . . . . . . . . . 9.3.1 Door een administrator . . . . . . . . 9.3.2 Door een contactpersoon . . . . . . . 10 Beheer en gebruik van voorstellen 10.1 Voorstel ingeven . . . . . . . . . . 10.2 Voorstel verwijderen . . . . . . . 10.3 Voorstel aanpassen Voorstel aan iemand toewijzen . . 10.4 Bekijken van voorstellen . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . . . . .
. . . . . .
. . . . . . .
INHOUDSOPGAVE
v
11 Lessenroosters en afwezigheden 11.1 Lessenroosters . . . . . . . . . . . . . 11.1.1 Lessenroosters aanpassen . . . 11.1.2 Lessenroosters bekijken . . . . 11.2 Afwezigheden . . . . . . . . . . . . . 11.2.1 Registreren van afwezigheden 11.2.2 Controleren van afwezigheden 11.2.3 Bijwerken van een labo . . . . 11.2.4 Labo toevoegen . . . . . . . . 11.2.5 Gewettigede afwezigheden . . 12 Persoonlijke informatie 12.1 Algemene gegevens . . . 12.1.1 Studenten . . . . 12.1.2 Docenten . . . . 12.1.3 Contactpersonen 12.2 Labogroepen, richting en 12.2.1 Parameters . . . 12.2.2 Richting . . . . . 12.2.3 Vrijstellingen . . 12.2.4 Labogroepen . . 12.3 Foto uploaden . . . . . .
. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vrijstellingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
46 46 46 46 46 46 47 48 48 49
. . . . . . . . . .
50 50 50 51 51 51 51 51 52 52 52
Hoofdstuk 1 Installatie In dit hoofdstuk behandelen we de installatie van de programma’s die nodig zijn om admin3i te laten draaien op een Linux (versie 7.3) computer. We gaan er van uit dat Linux reeds ge¨ınstalleerd is en goed draait, we gaan hier ook niet verder op in. Verder wordt verondersteld dat de lezer van dit document een basiskennis heeft van Linux, dat hij programma’s kan downloaden en op de juiste plaats opslaan op de Linux machine en dat hij tekstbestanden kan aanpassen. Nog een opmerking over de gegeven bestandsnamen en versies: dit zijn de versies en namen die gebruikt zijn bij de ontwikkeling van dit eindwerk. Deze bestanden zijn allen terug te vinden op de cd-rom in de directory ”Installatie”. Door de constante evolutie van de informaticawereld zal het zo zijn dat er reeds nieuwere en betere versies bestaan van onderstaande software, niets weerhoud er u van deze nieuwere versies te gebruiken, u dient dan enkel onderstaande bestandsnamen aan te passen. De rest van de installatie blijft identiek.
1.1 1.1.1
Java SDK Beschrijving
Java is een programmeertaal ontwikkeld door SUN1 . Het is een taal die gecompileerd word tot intermediaire code en zodoende overdraagbaar is naar gelijk welke machine waarop er een java virtuele machine draait. Een voorbeeld hiervan is dat code die gecompileerd is onder windows ook perfect zal draaien onder Linux, mits er een virtuele machine ge¨ınstalleerd is. We hebben hier de SDK versie nodig omdat Tomcat de jsp’s eerst vertaalt naar java programma’s en deze daarna compileert. 1
http://www.sun.com
1
HOOFDSTUK 1. INSTALLATIE
1.1.2
2
Download
Op de site http://java.sun.com is de SDK van java te downloaden (wij hebben gekozen voor de J2SE 1.4.0 SDK in rpm vorm). Sla het bestand op onder de /tmp/ directory van Linux. Het gebruikte bestand is: • j2sdk-1 4 0 03-Linux-i586-rpm.bin
1.1.3
Installatie
Voor de installatie gaan we naar de /tmp/ directory, en voeren daar volgende commando’s uit. #chmod a+x j2sdk-1 4 1 02-Linux-i586-rpm.bin #./j2sdk-1 4 1 02-Linux-i586-rpm.bin hier scrollt u naar beneden en antwoord op de vraag of u de licentie aanvaart met ”yes” #rpm --install j2sdk-1 4 1 02-fcs-Linux-i586.rpm Om aan alle gebruikers duidelijk te maken waar Java geinstalleerd staat maken we een bestandje /etc/profile.d/jdk.sh met volgende inhoud: PATH=”$PATH:/usr/java/j2sdk-1.4.1 02/bin” JAVA HOME=/usr/java/j2sdk-1.4.1 02/ export PATH JAVA HOME en voer vervolgens het commando #chmod a+x /etc/profile.d/sdk.sh uit. De bestanden uit de directory /etc/profile.d/ worden automatisch uitgevoerd voor elke gebruiker die aanlogt, op die manier zal het classpath telkens correct zijn voor alle gebruikers.
1.2 1.2.1
Tomcat 4 Beschrijving
Tomcat 4 is de motor achter het hele gebeuren, dit programma zet de jsp’s om naar servlets, verwerkt deze en genereert voor de cli¨ent html2 code. 2
html: hypertext markup language
HOOFDSTUK 1. INSTALLATIE
3
Tomcat is een open-source programma van de Apache groep3 en zit in het subproject Jakarta4 .
1.2.2
Download
Surf naar http://jakarta.apache.org/tomcat/index.html, klik op binairies, kies de gewenste versie en download het rpm bestand naar de directory /tmp/. Voor dit eindwerk werd volgend bestand gebruikt: • tomcat4-4.1.12-full.2pp.noarch.rpm De andere bestanden die je er vindt zijn voorbeeld- en administratorapplicaties.
1.2.3
Installatie
Ga naar de directorie /tmp/ en geef daar volgende commando’s in: #rpm --install tomcat4-4.1.12-full.2jpp.noarch.rpm #chkconfig --level 2345 tomcat4 on #mv -f /var/tomcat4/conf/server-noexamples.xml.config \ /var/tomcat4/conf/server.xml Het voorlaatste commando dient om Tomcat automatisch te laten opstarten zodat dit niet handmatig moet gebeuren. Het laatste commando is om Tomcat te laten opstarten zonder extra instellingen.
1.3 1.3.1
MySQL 4 Beschrijving
MySQL is een databank programma met een hoge performantie. Er bestaan betalende en gratis versies van (GPL license5 )Hoewel versie 4 nog niet in productie versie verkrijgbaar was, hebben we toch gekozen om deze te gebruiken omdat deze versie UNION statements ondersteunt. Ondertussen is MySQL versie 4 in productie versie uitgekomen, en ook als dusdanig op de server ge¨ınstalleerd.
1.3.2
Download
Weerom voor het gemak van installeren, is er geopteerd om met rpm bestanden te werken. MySQL is te vinden op http://www.mysql.com, daar kies je een versie hoger of gelijk aan 4.0, klik erop en zoek de rpm files op die pagina, sla deze 3
http://www.apache.org http://jakarta.apache.org 5 meer uitleg op http://www.gnu.org/copyleft/gpl.html 4
HOOFDSTUK 1. INSTALLATIE
4
files opnieuw op in de directory /tmp/. Bij installatie werd gebruik gemaakt van volgende files: • MySQL-4.0.4-0.i386.rpm • MySQL-embedded-4.0.4-0.i386.rpm • MySQL-cli¨ent-4.0.4-0.i386.rpm • MySQL-Max-4.0.4-0.i386.rpm • MySQL-shared-4.0.4-0.i386.rpm
1.3.3
Installatie
Ga naar de /tmp/ directory en voer volgende commando’s uit voor de installatie van het databank programma. #rpm --install MySQL-4.0.4-0.i386.rpm #rpm --install MySQL-embedded-4.0.4-0.i386.rpm #rpm --install MySQL-client-4.0.4-0.i386.rpm #rpm --install MySQL-Max-4.0.4-0.i386.rpm #rpm --install MySQL-shared-4.0.4-0.i386.rpm #chkconfig --level 2345 mysql on #mv -f /usr/share/mysql/my-medium.cnf /etc/my.cnf Het instellen van een root-wachtwoord gebeurt met volgende commando’s: #mysqladmin -u root password ’foo’ #mysqladmin -u root -pfoo -h localhost password ’foo’ Hierbij moet foo vervangen worden door het gewenste paswoord.
1.3.4
Opmerkingen
Halverwege het academiejaar werd ons een nieuwe server toegewezen, waarop reeds een MySQL databank draaide. Jammer genoeg bleek dit MySQL 3 te zijn en voldeed dus niet aan onze eisen. Na veel trial and error is het gelukt om MySQL 4 erop te zetten en ondertussen ook Claroline en php te laten werken. Databank migreren van MySQL3 naar MySQL4 Indien er reeds databanken of gebruikers aanwezig zijn, kunnen deze makkelijk overgenomen worden in de nieuwe databank. Verwijder eerst de datafiles van de nieuwe databank en verplaats dan de datafiles van de oude databank naar de
HOOFDSTUK 1. INSTALLATIE
5
datadirectory van de nieuwe databank en wijs ze toe aan de gebruiker mysql. Herstart hierna de databank en de oude accounts en databanken zijn opnieuw gebruiksklaar. Bij de omschakeling heb ik respectievelijk volgende commando’s gebruikt: #rm -Rf /var/lib/mysql #mv /usr/local/mysql/var/ /var/lib/mysql #chown -R mysql /var/lib/mysql/ #/etc/init.d/mysql restart Het nemen van een dump en deze invoeren in de nieuwe databank wordt hier niet besproken omdat er problemen rezen met de verschillende types tabellen. Claroline en php laten werken Php heeft in zijn ini file een aanduiding waar de databank socket staat, deze aanduiding wijzigen had geen positieve werking op de php applicaties, daarom is besloten om het socket bestand te verplaatsen. Ook is het zo dat bepaalde libraries niet zomaar konden verplaatst worden omdat er anders teveel aangepast moest worden. Deze bestanden zijn dus blijven staan en mogen niet verwijderd worden. De bestanden bevinden zich in de directory /usr/local/mysql/lib/mysql/,dit is de oude databank directory, welke de gebruiker mysql als eigenaar heeft. Om de nieuwe databank duidelijk te maken dat de socket file in deze directory moet komen passen we het bestand /etc/my.cnf aan: we commentari¨eren socket = /var/lib/mysql/mysql.sock uit en voegen volgende regel toe: socket = /usr/local/mysql/lib/mysql/mysql.sock Het spreekt vanzelf dat mysql nu moet herstart worden, dit doen we met volgend commando: #/etc/init.d/mysql restart
1.4 1.4.1
JDBC Connector Beschrijving
Een JDBC connector is een jar file, die de Java-klassen bevat die zorgen voor de connectie tussen Java-programma’s en een databank.
HOOFDSTUK 1. INSTALLATIE
1.4.2
6
Download
Op de site van MySQL6 vind je in de download sectie de JDBC connectors, deze worden op de pagina aangeduid als ”MySQL Connector/J”. Ten behoeve van dit eindwerk werd het bestand • mysql-connector-java-2.0.14.tar.gz gedownload en in de directory /tmp/ gezet.
1.4.3
Installatie
Untar eerst het gedownloade bestand en kopieer dit naar de shared/lib directory van Tomcat, indien deze directory niet bestaat dient deze aangemaakt te worden. De commando’s die dienen uitgevoerd te worden zijn dus: #tar -xzvf mysql-connector-java-2.0.14.tar.gz #mkdir /var/tomcat4/shared/lib #cp mysql-connector-java-2.0.14/mysql-connector-java-2.0.14-bin.jar \ /var/tomcat4/shared/lib/
1.5 1.5.1
Turbine Beschrijving
Turbine is een Java-programma dat ervoor zorgt dat er een pool van connecties met de databank kan gemaakt worden. Als we iets willen halen uit de databank moet er niet telkens een connectie worden geopend en gesloten, maar gewoon een opgevraagd uit de pool. We hebben gekozen voor deze oplossing omwille van performantie.
1.5.2
Download
Haal op de site van Jakarta7 het pakket van turbine af. Dit bestand draagt de naam: • tdk-2.1.tar.gz en wordt opnieuw in de directory /tmp/ gezet. 6 7
http://www.mysql.com http://jakarta.apache.org
HOOFDSTUK 1. INSTALLATIE
1.5.3
7
Installatie
Untar het bestand tdk-2.1.tar.gz en kopieer de bestanden turbine-2.1.jar en velocity.1.2dev.jar naar de directory /var/tomcat4/shared/lib/ met volgende commando’s: #tar -xzvf tdk-2.1.tar.gz #cp tdk/share/lib/turbine-2.1.jar tdk/share/lib/velocity-1.2-dev.jar \ /var/tomcat4/shared/lib/
1.6
Connectie tussen Apache en Tomcat4
Er wordt verondersteld dat er een werkende versie van Apache op de computer staat, het installeren en configureren hiervan valt buiten het bestek van dit eindwerk.
1.6.1
Beschrijving
Tomcat is een programma dat instaat voor de vertaling van jsp en servlets naar html pagina’s voor de cli¨ent. De echte server capaciteiten zijn eerder beperkt, zo is Tomcat bijvoorbeeld niet in staat om php pagina’s te vertalen en is de snelheid van statische html pagina’s ook niet optimaal. Om dit te verhelpen kan Tomcat draaien achter Apache, op die manier geniet Tomcat van de beveiliging van Apache, kan hij aangesproken worden via poort 80, en kunnen andere applicaties in bijvoorbeeld php op dezelfde server draaien.
1.6.2
Download
Om steeds de laatste versie te hebben maken we gebruik van de cvs8 server van apache. De procedure staat hieronder en was geldig op server amerigo bij de installatie van dit onderdeel en voor Apache 1.3. De plaats van apxs en de plaats waar het ”so” bestand moet komen kan verschillen van de hier aangeduide plaats. Onderstaande commando’s maken een connectie met de cvs server van Apache, halen de benodigde bestanden af, compileren de connector en plaatsen deze op de juiste plaats. Het programma cvs is standaard ge¨ınstalleerd samen met Linux. 8
cvs: concurrent version server: om steeds de laatst werkende versie van een programma aan het publiek aan te bieden
HOOFDSTUK 1. INSTALLATIE
8
#cvs -d :pserver:
[email protected]:/home/cvspublic login CVS password: anoncvs #cvs -d :pserver:
[email protected]:/home/cvspublic \ checkout jakarta-tomcat-connectors/webapp #cd jakarta-tomcat-connectors/webapp #cvs -d :pserver:
[email protected]:/home/cvspublic checkout apr #./support/buildconfig.sh #./configure --with-apxs=/usr/local/apache/bin/apxs #make #cp apache-1.3/mod webapp.so /usr/local/apache/libexec De benodigde bestanden staan ook op de cd-rom, in het bestand mod.zip. Als u deze bestanden gebruikt moet u enkel de laatste vier commando’s uitvoeren vanuit de directory waar u mod.zip hebt ge-unzipped.
1.6.3
Installatie
Nu is de connector gecompileerd en in de juiste directory gezet, waar ook de andere add-ons voor Apache staan. Nu moeten we enkel Apache nog zeggen dat er een connector is, en waar hij Tomcat kan vinden. Dit doen we door volgende code toe te voegen aan httpd.conf. LoadModule webapp module libexec/mod webapp.so AddModule mod webapp.c WebAppConnection warpConnection warp localhost:8008 WebAppDeploy foo warpConnection /bar / waarbij foo de plaats is waar de applicatie moet komen onder Apache, en bar de plaats waar de applicatie staat bij Tomcat. Voor dit eindwerk raden we aan om voor beide admin3i te gebruiken, anders dienen er teveel aanpassingen te gebeuren bij de initialisatie van de databank en de installatie van de applicatie. Nu kunnen alle poorten van Tomcat afgesloten worden behalve die van 8008. U kunt deze uitschakelen door de bijhorende secties in de configuratie file van Tomcat uit te commentari¨eren.
1.7
Opstarten
Hoewel geacht wordt dat de gebruiker overweg kan met Linux wordt hier kort beschreven hoe de gebruikte programma’s worden opgestart en afgesloten.
HOOFDSTUK 1. INSTALLATIE
1.7.1
9
Java
Java wordt gebruikt door Tomcat en hoeft dus niet specifiek opgestart te worden.
1.7.2
Tomcat
Als de installatieprocedure is uitgevoerd zoals eerder beschreven zal Tomcat automatisch opstarten bij het starten van de computer. Indien Tomcat moet heropgestart worden (bijvoorbeeld na het aanpassen van constanten in de databank, of het aanpassen of toevoegen van servlets) kan men volgend commando gebruiken: #/etc/init.d/tomcat4 restart Voor het starten en stoppen van Tomcat worden volgende commando’s gebruikt: #/etc/init.d/tomcat4 start #/etc/init.d/tomcat4 stop Let er bij het handmatig heropstarten op dat er een 30 tal seconden zitten tussen het stoppen en starten van de service om Java de kans te geven alles op een nette manier af te sluiten.
1.7.3
MySQL
Net zoals hierboven zal MySQL automatisch opstarten bij het starten van de computer. Indien MySQL om de een of andere reden moet heropgestart worden kunnen volgende commando’s gebruikt worden: #/etc/init.d/mysql restart Voor het starten en stoppen van MySQL worden volgende commando’s gebruikt: #/etc/init.d/mysql start #/etc/init.d/mysql stop
Hoofdstuk 2 Initialisatie van de databank Voor men gegevens in een databank kan stoppen moet er eerst een databank opgebouwd zijn. Wil men hier iets zinnigs mee doen dan moeten er ook data inzitten. Voor het invoeren van deze gegevens zijn nog geen webpagina’s beschikbaar en ze kunnen dus enkel handmatig worden ingevoerd of met behulp van bijgeleverde scripts die het werk aanzienlijk versnellen. Deze scripts dienen enkel gebruikt te worden door de administrator waarvan verondersteld zijn dat ze vertrouwd zijn met dit eindwerk. Daarvoor wordt er in de scripts geen foutafhandeling voorzien, u dient er dus voor te zorgen dat de invoerbestanden aan de vereiste syntax voldoen.
2.1
Installatie van de databank
Het databank schema wordt volledig besproken in de andere boeken van dit eindwerk en wordt hier dus niet herhaald. In het bestand analyse.sql staan alle sql commando’s om de databank op te bouwen in MySQL. Dit bestand kan ingevoerd worden door volgend commando: #mysql -pfoo
GRANT SELECT,UPDATE,DELETE,INSERT ON Admin3i.* \ TO tomcat@localhost IDENTIFIED BY bar; mysql> GRANT SELECT,UPDATE,DELETE,INSERT ON Admin3i.* \ TO [email protected] IDENTIFIED BY bar;
10
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
11
ingeven. Hier wordt bar vervangen door het wachtwoord dat u aan de user tomcat wil geven.
2.2
Initialisatie van de vaste waarden
De data die we in dit gedeelte invoeren is belangrijk voor de werking van de applicatie. Aan de hand van deze gegevens zal de applicatie weten welke pagina’s aan bepaalde persoontypes mogen getoond worden, en welke menu’s iemand te zien krijgt. Deze data staan in het bestand vaste waarden.sql en zijn geldig voor de applicatie zoals ze op dit moment is. Het invoeren gebeurt door volgend commando: #mysql -pfoo
2.2.1
Opmerking
Indien ervoor gekozen is om de applicatie niet te installeren onder admin3i (zie pagina 1.6.3) moeten de url’s in de tabel ”Paginas” aangepast worden: daar waar admin3i staat moet dit vervangen worden door de naam van de deploydirectory onder apache. Dit kan eventueel gedaan worden door een eenvoudig scriptje te schrijven dat alle ”admin3i” veranderd naar de nieuwe waarde.
2.3
Invoeren van gegevens
In dit gedeelte wordt standaarddata van de vakgroep en personen ingevoerd. Er zijn voor het invoeren van deze gegevens niet altijd webpagina’s beschikbaar. Maar ook wanneer deze allemaal beschikbaar zouden zijn, blijven de scripts handig omdat de snelheid van ingeven met deze scripts vele malen hoger is dan via een interface. Al de onderstaande scripts zijn geschreven in awk. Elk script kan afzonderlijk uitgevoerd worden vanaf de command line. Ofwel maak je gebruik van het bestand Admin3i, welke alle scripts ´e´en voor ´e´en zal uitvoeren en invoegen in de databank. Elk scriptje wordt apart overlopen en het formaat van de invoerbestanden wordt overlopen. Het is belangrijk bij het handmatig uitvoeren van de scripts dat dit in de hier aangegeven volgorde gebeurt, omdat sommige scripts informatie nodig hebben van andere scripts. Eerst volgen een paar algemene opmerkingen, waarna elk script besproken wordt.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
2.3.1
12
Algemene Opmerkingen
Code Dit stuk van de handleiding is enkel vlot leesbaar als je de code bij de hand hebt. Er is met opzet gekozen om hier geen code in te zetten omdat veel code telkens hetzelfde is, enkel met verschillende waarden. De scripts worden echter wel besproken van boven naar onder en zijn dus makkelijk te volgen met de code naast u. Naar administrators toe is vooral het invoerbestand en de uitvoer van belang. De interne werking is eerder informatief bedoeld. Data ophalen uit de databank met awk In sommige scripts moet data uit de databank gehaald worden en opgeslagen worden in variabelen. Data uit een databank halen gebeurt met queries die onder andere vanop de commandolijn kunnen uitgevoerd worden. Voorbeeld: #echo ”query;”|mysql De resultaten worden dan op het scherm getoont. Voor het uitvoeren van commandolijn-opdrachten vanuit awk en het ophalen van de resultaten wordt gebruikt gemaakt van de opdracht getline, de variabelen $1, $2 krijgen dan waarden die overeenstemmen met de velden van de uitvoer. Om de query door te geven aan mysql werd gebruik gemaakt van het piping commando. Zo komen we tot volgende constructie: ”echo \”query;\”|mysql”|getline Als je informatie opvraagt uit een databank wordt altijd eerst een titelbalk doorgegeven, welke we hier niet nodig hebben. Daarom worden de meeste van deze querys twee maal na elkaar uitgevoerd in een for-lus zodat de juiste data in de variabelen zit van awk, en de titelbalk weggegooid wordt. AWK AWK is een scripttaal die zeer sterk gelijkt op C++. Elke lijn van een invoerbestand wordt geanalyseerd en eventueel bewerkt. De uitvoer wordt telkens naar standaarduitvoer (scherm) gestuurd. Om dit door te sturen naar naar de databank maken we gebruik van volgende structuur: #awk -f verwerkbestand
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
13
Problemen met ’ Bij het invoeren in de databank met querys kan het enkel aanhalingsteken (’) voor problemen zorgen, daarom wordt dit meestal ge¨escaped bij het inlezen van een lijn met volgende code: gsub(”’”,”\\’”,$0)
Reeds aanwezige data Al deze scripts gaan er vanuit dat er buiten vaste waarden en de data van de voorgaande scripts nog niets is ingevuld, u kan deze scripts dus enkel bij het installeren gebruiken, anders lopen de onderlinge koppelingen in het honderd.
2.3.2
Gemeentes
Invoerbestand: gemeentes In dit bestand staan alle postcodes van Belgi¨e met hun gemeente, gescheiden door een tab, per lijn 1 gemeente. Dit bestand werd geconstrueerd uit de officiele lijst die te vinden is op de website van De Post1 . De velden in het bestand zijn dus: • postcode • gemeente Script: verwerkgemeentes In het begin van dit script wordt het veldscheidingsteken ingesteld op het tabteken. Nadien worden postcode en gemeente aan de juiste variabele toegekend. Daarna wordt de INSERT-query opgebouwd en uitgeschreven naar standaard uitvoer.
Uitvoeren van het script #awk -f verwerkgemeentes
http://www.depost.be
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
2.3.3
14
Docenten
Invoerbestand: docenten Hierin staan alle docenten van de vakgroep en de docenten van wie derde en vierde jaars studenten informatica les hebben. Deze laatste zijn nodig om volledige lessenroosters te kunnen opbouwen voor deze studenten. De velden van dit bestand zijn: • voornaam • familienaam telkens gescheiden door een tabulator teken, 1 docent per lijn. Script: verwerkdocenten Eerst halen we het persoontype id op van docenten (zie vaste waarden) en slaan dit op in de variabele docentid. Hierna wordt per lijn de voor- en achternaam opgehaald, waaruit een loginnaam en een e-mailadres geconstrueerd worden. De loginnaam bestaat uit de eerste letters van de voornaam en de volledige achternaam. Het e-mailadres bestaat uit de voornaam, een punt, de achternaam en het achtervoegsel ”@hogent.be”. Na het verwijderen van de spaties worden de SQL-querys gemaakt en uitgeschreven naar standaarduitvoer. Uitvoeren van het script #awk -f verwerkdocenten <docenten |mysql -pfoo
2.3.4
Studierichtingen en groepen
In dit stuk voeren we alle klassen en groepen in die relevant zijn voor de vakgroep. We nemen hier de visie van de Hogeschool Gent over: een klas is geen jaar, waarmee we willen zeggen dat het eerste jaar niet als ´e´en klas beschouwd wordt, echter wel de verschillende onderdelen van het eerste jaar (klas A,B,. . . ). Voor de hogere jaren is er opdeling volgens de gekozen studierichting. Een klas komt dus overeen met een groep die samen theorielessen volgt. Deze klassen zijn onderverdeeld in subgroepen, welke samen labo hebben. Het aantal klassen en groepen kan afgeleid worden uit de lessenroosters, maar moet hier wel handmatig ingegeven worden.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
15
Invoerbestand: studierichtingen Dit bestand is opgebouwd uit volgende velden welke gescheiden zijn door een tabulator, er staat telkens ´e´en klas per lijn: • klas • afkorting • aantal labogroepen Script: verwerkstudierichtingen Eerst halen we de groeptype id’s op van labogroepen en theoriegroepen en slaan deze op in de variabelen labogroepid en theogroepid. Vervolgens voeren we per klas de naam en afkorting in, en duiden aan dat het om een theoriegroep gaat. Hierna gaan we het aantal labogroepen in die klas een entry invoeren en deze koppelen aan het type labogroep, en onderdeel maken van de klas. Het invoeren gaat uiteraard weer via MySQL-queries die naar standaard uitvoer worden gestuurd. Uitvoeren van het script #awk -f verwerkstudierichtingen <studierichtingen |mysql -pfoo
2.3.5
Opleidingsonderdelen
Onder een opleidingsonderdeel verstaan we vakken zoals ze op het rapport verschijnen. Bijvoorbeeld: Besturingssystemen, Internet- en IntranetTechnologie. Invoerbestand: opleidinsonderdelen In dit bestand staat welke opleidingsonderdelen aan wie gegeven worden en op hoeveel studiepunten ze staan voor elke studierichting. Er is ´e´en lijn voorzien per opleidingsonderdeel, de velden zijn als volgt: • opleidingsonderdeel • afkorting van de studierichting • aantal studiepunten • afkorting van de studierichting • aantal studiepunten • ... De velden zijn gescheiden door een tab.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
16
Script: verwerkopleidingsonderdelen We beginnen met het ophalen van alle studierichtingen, om dit te doen moeten we eerst weten hoeveel er zijn, dit gebeurt in de eerste getline opdracht, in de tweede stap halen we alle studierichtingen op. Vervolgens wordt per lijn het opleidingsonderdeel ingelezen. De rest van de lijn wordt eerst in de variabele studierichgew gestoken, en daarna met een tab op het einde opgeslagen in de tabel oplondtab met als index het opleidingsonderdeel. Op het einde wordt voor elke index uit de tabel oplondtab het opleidingsonderdeel ingevoerd. Vervolgens gaan we, met behulp van de functie substr om de velden te scheiden, uit de inhoud van de tabel oplondtab de code en studiepunten filteren en invoeren in de tabel gekoppeld aan het opleidingsonderdeel. Uitvoeren van het script #awk -f verwerkopleidingsonderdelen
2.3.6
Vakken
Vele opleidingsonderdelen bestaan zelf nog eens uit verschillende vakken, zo is Besturingssystemen opgesplitst in theorie Windows 2000, theorie Linux en een labo. Voor opleidingsonderdelen die niet verder opgesplitst worden wordt ´e´en vak met de naam van het opleidingsonderdeel ingevoerd. Deze indeling is belangrijk voor de puntenadministratie. Het is ook zo dat de opdeling van een opleidingsonderdeel kan verschillen naargelang de studierichting. Invoerbestand: vakken Per lijn vermelden we het opleidingsonderdeel en de code van een studierichting, hierna schrijven we de opdeling van dit onderdeel bij die studierichting. Indien een opleidingsonderdeel in verschillende richtingen wordt gegeven moet dit telkens op een nieuwe lijn worden ingegeven. De syntax van een lijn ziet er dus als volgt uit: • opleidingsonderdeel • code van studierichting • vak1 • vak2 • ...
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
17
met telkens een tabulator tussen de velden. Indien een vak een labo is dient dit aangeduid te worden met een dubbelpunt met daarna labo, zoals Object-geori¨enteerd programmeren 3IN OGP OGP : labo Script: verwerkvakken We beginnen met het opslaan van het id dat de koppeling tussen opleidingsonderdelen en studierichtingen aangeeft. Eerst wordt het aantal koppelingen opgehaalt, waarna de titel verwijderd wordt. Vervolgens wordt het id opgehaalt en opgeslagen in de tabel stud oplond met als indices het opleidingsonderdeel en studierichting. Bij het lijn per lijn inlezen kunnen we makkelijk het opleidingsonderdeel en de code van de studierichting ophalen, voor de vakken wordt eerst de volledige regel ingelezen waarna we de eerste twee stukken verwijderen. Hierna splitsen we telkens een stuk van de variabele vakken af en slaan dit op in de variabele vak. Deze variabele wordt dan in de tabel vaktab als index gebruikt, de inhoud van de tabel zijn dan de id’s van de koppeling tussen opleidingsonderdelen en de studierichtingen gescheiden door een tab. Als alle regels ingelezen zijn lopen we de tabel vaktab af en voeren het vak in, in het volgende stuk wordt de inhoud van de tabel in stukken gesplits op de tabulator-tekens en juist ingevoerd in de tabel Admin3i.OplStud Vak XREF die de koppeling is tussen studierichting, opleidingsonderdelen en vakken. Opmerking De mogelijkheid bestaat om aan de vakken ook nog een gewicht toe te kennen binnen een opleidingsonderdeel, de syntax van een lijn wordt dan • opleidingsonderdeel • code van studierichting • vak1 • gewicht1 • vak2 • gewicht2 • ... In het script staat in commentaar wat er moet veranderd worden.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
18
Uitvoeren van het script #awk -f verwerkvakken
2.3.7
Vakonderdelen
Net zoals opleidingsonderdelen worden opgesplitst in verschillende vakken kan het gebeuren dat sommige vakken nog verder worden opgesplitst. Dit is in grote mate afhankelijk van de docent. Ook hier geldt dat labos worden aangeduid met ”: labo”. Invoerbestand: vakonderdelen Per lijn staat een vakonderdeel, daarna het vak waartoe ze behoren gevolgd door de vakcode en de studierichtigen waar ze op slaan (men heeft niet genoeg met de studierichting alleen). Samengevat wordt dit: • vakonderdeel • vak • vakcode • studierichting1 • studierichting2 • ... Script: verwerkvakonderdelen Vooreerst worden alle vakken opgehaald uit de tabel Vakken met de getline opdrachten. We gebruiken de omschrijving als index van de tabel vakid, en het vak id als tabelinhoud. Volgens het zelfde principe worden ook de studierichtingcode en -id opgevraagd. Nadien wordt lijn per lijn het vakonderdeel opgehaald, gekeken of het een labo vak is, het vak wordt opgehaald en opgeslagen in een tabel, daarna wordt per studierichting de code opgeslagen in een tabel met als indices het vakonderdeel en de studierichting. Op het einde worden de queries gegenereerd door alle vakonderdelen uit de tabel te halen, de koppeling met vakken wordt gehaald uit de tabel vakid, daarna wordt de koppeling gemaakt tussen een vakcode, een vakonderdeel en een studierichting. Dit laatste enkel als er een koppeling bestaat tussen een vakonderdeel en een studierichting
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
19
Uitvoeren van het script #awk -f verwerkvakonderdelen
2.3.8
Webpagina’s van vakonderdelen
We hebben ervoor gekozen de url’s van de vakgroepen apart in te voeren om de duidelijkheid van de vorige invoerfile niet in gevaar te brengen. Invoerbestand: vakondurl Hier staan de vakonderdelen samen met een eventuele webpagina waar meer informatie, opgave’s,. . . te vinden zijn. De indeling van dit bestand is: • vakonderdeel • url Voor pagina’s die op intranet staan is het toegelaten om enkel het stuk in te voeren na http://gonzo.hogent.be/intranet/. Andere pagina’s moeten beginnen met http://. . . . Script: verwerkvakondurl Enkel de lijnen waar 2 velden van ingevuld zijn (waar dus een webpagina voor bestaat) worden behandeld. Er wordt gekeken of de pagina begint met http:// of niet en wordt eventueel aangepast. Vervolgens wordt de url in de tabel vakonderdelen toegevoegd. Uitvoeren van het script #awk -f verwerkvakonderdelen
2.3.9
Studenten
Invoerbestand: studenten Dit bestand werd gemaakt door van de offici¨ele leerlingenlijsten (in .xls) een dump te maken in txt files dit is een standaard functie van Excel. Het formaat is als volgt: • stamnummer • familienaam • voornaam
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
20
Script: verwerkstudenten In het begin wordt het persoontype id van studenten opgehaald en wordt gekeken hoeveel personen er al in de databank zitten. Aan de hand van het stamnummer, familie- en voornaam wordt een loginnaam en paswoord gegenereerd (laatste 6 cijfers van het stamnummer samen met 2 initialen van de naam). Deze zijn gelijk aan elkaar. Vervolgens worden queries gegenereerd om de persoonsgegevens in te voeren, een query om de studentenspecifieke (stamnummer) gegevens in te voeren, en nog een query om het persoonstype aan te duiden. Er wordt gecontroleerd op dubbele stamnummers omdat de lijsten niet altijd correct worden bijgewerkt en omdat sommige studenten in meerdere richtingen/jaren zijn ingeschreven. Uitvoeren van het script #awk -f verwerkstudenten <studenten |mysql -pfoo
2.3.10
Studentenrichtingen
In dit deel wordt aan de studenten een richting toegekend, ook worden ze gekoppeld aan hun vakken. Invoerbestand: studentenrichting In dit bestand wordt aangeduid in welk jaar, welke klas en welke labogroep een student zit (voor zover beschikbaar) ook deze informatie wordt uit de Excel bestanden van Hogeschool Gent gehaald. In het bestand staat deze informatie in de volgorde: • jaarinformatie • voornaam • familienaam • groepnummer (eerst theoriegroep dan labogroep) • stamnummer Script: verwerkstudentenrichting We beginnen met het ophalen van de studierichtingen (code) en hun opleidingsonderdelen(id), hun vakonderdelen, labogroepen, theoriegroepen en de studenten. Dit wordt gedaan met het bekende scenario van eerst tellen hoeveel entries er zijn, dan de titel ophalen, dan de informatie zelf ophalen en in tabellen stoppen.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
21
Vervolgens halen we de gegevens op van ´e´en lijn en steken ze in variabelen waarvan de naam aanduidt wat ze voorstellen. We werken enkel verder als de student reeds in de databank zit (moet zijn ingevoerd in vorig script). Indien dit het geval is wordt de juiste studierichtingscode gevormd (diegene die overeenkomt met de bij het verwerken van studierichtingen ingegeven codes). We halen deze code en de labogroep uit het eerste en vierde veld in het bestand. Voorbeeld: de code voor de eerste jaars bestaat uit 1, ”KA” en de eerste letter van het vierde veld. De tweede aanduiding van studierichting (code2) is enkel van toepassing op studenten uit de tweede kandidatuur, we slaan enkel de codes op die voor ons interessant zijn (BO van bouw wordt dus niet verwerkt), als het vierde veld (aanduiding labogroep) niet aanwezig is wordt de student automatisch in labogroep 1 gestoken. Uiteindelijk controleren we of de gegenereerde code wel degelijk bestaat, indien niet wordt niets gedaan en gaan we over naar de volgende entry. Als ze wel bestaat wordt de student gelinkt aan de opleidingsonderdelen die bij de studierichting horen, aan de bijhorende vakonderdelen en vakken. En hij wordt gelinkt aan de juiste labo- en theoriegroep. Uitvoeren van het script #awk -f verwerkstudentenrichting <studentenrichting |mysql -pfoo
2.3.11
Lessenroosters
Invoerbestand: roosters Het formaat van dit bestand is rechtstreeks overgenomen van de Hogeschool Gent. Jammer genoeg is de Hogeschool dit jaar overgestapt naar een ander programma voor de lessenroosters, waardoor we genoodzaakt waren om alles over te typen. Er bestaat hier geen script voor omdat het ontwikkelen en testen van een script meer tijd in beslag nam dan het overtypen. Op het moment dat we deze gegevens nodig hadden was er een grote tijdsdruk en zijn we niet tot implementatie van dit script kunnen overgaan. De volgorde van de velden is: • beginuur • startuur • groepnummer (”-” voor theorielessen) • beginweek • startweek • week (1,2 of 1+2)
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
22
• lokaal • vakonderdeel • vakond code • familienaam docent (”?” indien onbekend) • voornaam docent (”?” indien onbekend) • klasgroep • dag vd week Script: verwerkroosters Dit script wordt ook gebruikt om veranderingen in lessenroosters aan te brengen. Daarom worden in het begin alle data verwijderd die te maken hebben met lessenroosters. Erna worden de weekdagen, lessenroostertype, docenten, labogroepen, theoriegroepen en vakonderdelen uit de databank opgehaald. Bij het inlezen van de lessenrooster laten we de Monitoraten links liggen, de reden van deze keuze is dat bij het opstellen van de lessenroosters de monitoraten nog niet waren ingevuld, tegen de tijd dat deze beschikbaar waren voor ons waren ze oud nieuws. Indien geen monitoraat worden de verschillende velden ingelezen en toegewezen aan variabelen. Dan wordt het id van de docent en het vakonderdeel opgehaald. Vervolgens wordt gezocht naar het groepid, en wordt het lokaal opgeslagen voor zover dit nog niet eerder is gebeurd. Na het bekijken van de weken waarin les gegeven wordt, vragen we het lessenrooster id op uit de tabel lesroostertab. Indien dit id gelijk is aan 0 zit er nog geen entry in de tabel op dat uur, die dag, en dat lokaal. En wordt er een query aangemaakt, en ingevoerd in de tabel lesroostertab. Vervolgens controleren we of de docent reeds gekoppeld is aan de lessenrooster entry, en genereren een query indien nodig. Hetzelfde doen we voor de groep. Deze laatste querys worden apart behandeld omdat verschillende groepen op hetzelfde moment dezelfde les kunnen hebben van verschillende docenten. Op het einde worden de queries gegenereerd die de lokalen in de tabel moeten invoegen. Uitvoeren van het script #awk -f verwerkroosters
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
2.3.12
23
Toestellen
Invoerbestand:toestellen Dit bestand bevat, gegroepeerd per lokaal, de naam van de toestellen samen met hun ip-adres. Het formaat van dit bestand is: • # lokaal lokaalnr voor de lijnen die een lokaal aanduiden en • computernaam • TTL • IN • A • ip-adres voor de lijnen die een computer aanduiden. Het formaat van dit bestand ziet er misschien wat vreemd uit, maar is zo gekozen omdat dit overeenkomt met de DNS zonefiles van de vakgroep. Deze zijn na een simpele vraag aan Dhr. Moreau of Dhr. Van Meirvenne beschikbaar. Script: verwerktoestellen We halen eerst de toesteltypes en lokalen op uit de databank. De toestellen die we hier inlezen zijn allemaal studententoestellen. Als een lijn begint met # gaat het om de aanduiding van een lokaal dat we in een variabele opslaan. Indien het record 5 velden bevat gaat het om de aanduiding van een computer en wordt als dusdanig een query gegenereerd voor de databank. Uitvoeren van het script #awk -f verwerktoestellen
2.3.13
Thesissen
Aan de thesissen werd handmatig een nummer toegekend bestaande uit het jaartal uit 4 cijfers en een volgnummer van 3 cijfers. Dit nummer duidt op het exemplaar id. In de thesis wordt een onderscheid gemaakt tussen een exemplaar en een item: een item is een abstract iets dat een werk beschrijft, een exemplaar is de voorstelling van een werk dat fysisch aanwezig is in bij de vakgroep. Er kunnen dus meerdere exemplaren van een item zijn maar niet omgekeerd.
HOOFDSTUK 2. INITIALISATIE VAN DE DATABANK
24
Invoerbestand: thesissen In dit bestand staan het exemplaar id, de uitvoerder(s), de titel, kernwoorden en of er een bijhorende cd is. Alle velden zijn gescheiden door een tab, behalve de kernwoorden en auteurs, die zijn gescheiden door een komma. Een record ziet er dus als volgt uit: • exemplaarid • titel • auteurs (gescheiden door komma) • kernwoorden (gescheiden door komma) • met CD? Script: verwerkthesissen We starten dit script met het ophalen van het mediatype id van Thesissen. Per lijn halen we de velden op en stoppen ze in variabelen. Daarna kijken we of er al een item is ingevoerd door opzoeking in de tabel titeltab met als index de combinatie van de titel en het jaar (wat we uit het exemplaarid gehaald hebben). Indien nog niet aanwezig wordt er een query gegenereerd die het item in de mediatheek invoert. Vervolgens wordt gekeken of het kernwoord al is opgeslagen door nakijken van de tabel met kernwoorden en genereren, indien nodig, een query om het kernwoord in te voeren. Er wordt sowieso een link gelegd tussen het item in de mediatheek en de kernwoorden in de tabel Admin3i.Kernwoorden Mediatheek XREF. Uiteindelijk voeren we een exemplaar in van het item dat we net ingelezen hebben (er kunnen namelijk verschillende exemplaren van eenzelfde item aanwezig zijn). Uitvoeren van het script #awk -f verwerkthesissen
Hoofdstuk 3 Installatie van de applicatie Nadat de nodige gegevens in de databank ingevoerd zijn kunnen we de applicatie op de juiste plaats installeren en opstarten. In deze beschrijving wordt alles in de directory admin3i geplaatst
3.1
Installatie van de bestanden
Op de bijgeleverde CD-ROM staan in het bestand admin3i.zip alle bestanden die nodig zijn om alles te laten draaien. We kopieren dit bestand naar de /tmp/ directory en voeren dan volgende commando’s uit: #unzip admin3i.zip #mv admin3i /var/tomcat4/webapps/ of indien u verkiest om alles in een andere directory te zetten: #unzip admin3i.zip #mv admin3i /var/tomcat4/webapps/foo/ waarbij foo vervangen wordt door de gepaste directory. Let er wel op dat de directory /var/tomcat4/webapps/foo/fotos/ tomcat4 als eigenaar heeft, Tomcat moet namelijk in deze directory foto’s kunnen opslaan en kan dit enkel als het genoeg rechten heeft op deze directory.
3.1.1
CLASSPATH instellen
Om bij veranderingen van de servlets vlot te compileren zorgen we ervoor dat het classpath goed staat, dit doen we door een bestandje te maken met volgende inhoud: CLASSPATH=$CLASSPATH:.:/var/tomcat4/webapps/foo/WEB-INF/: \ /var/tomcat4/common/lib/servlet.jar 25
HOOFDSTUK 3. INSTALLATIE VAN DE APPLICATIE
26
export CLASSPATH We slaan dit bestand op als classpath.sh in de directory /etc/profile.d/ . Om dit bestand voor iedereen bruikbaar te maken voeren we nog volgend commando uit: #chmod a+x /etc/profile.d/classpath.sh
3.2
De applicatie configureren
Relatieve directories staan allemaal in de directory van de applicatie: in ons geval is dit /var/tomcat4/webapps/foo/. Ook is het zo dat foo telkens staat voor de directory waarin de bestanden staan, normaal is dit admin3i.
3.2.1
Turbine configureren
In het bestand TurbineResources.properties, dat staat in de directory WEB-INF/, moeten we het paswoord en gebruikersnaam ingeven die Tomcat mag gebruiken om de databank aan te spreken (zie sectie 2.1). 29 30 31 32
database.default.driver=com.mysql.jdbc.Driver database.default.url=jdbc:mysql://localhost/Admin3i database.default.username=tomcat database.default.password=bar
We moeten enkel regel 32 aanpassen: bar moet veranderd worden naar het eerder ingegeven paswoord voor Tomcat.
3.2.2
FotoPath
Indien u de applicatie in de directory admin3i heeft gezet mag u dit stuk overslaan. Indien u een andere directory heeft genomen, dient u het bestand FotoBean.java uit de directory WEB-INF/classes/be/hogent/admin3i/personen aan te passen op lijn 43. Hier moet de directory komen waar Tomcat de fotos moet opslaan van de studenten. Zoals eerder vermeld moet tomcat4 de eigenaar zijn van deze directory om erin te kunnen schrijven. Het gaat om de lijn: 43 mbp.setSaveDir(/var/tomcat4/webapps/admin3i/fotos/”); die moet veranderd worden naar 43 mbp.setSaveDir(/var/tomcat4/webapps/foo/fotos/”);
HOOFDSTUK 3. INSTALLATIE VAN DE APPLICATIE
27
Dit bestand dient hergecompileerd te worden. Dit doen we met volgend commando: #cd /var/tomcat4/webapps/foo/WEB-INF/classes/ #javac be/hogent/admin3i/personen/FotoBean.java
3.2.3
JSP’s
Indien u de applicatie in een andere directory dan admin3i heeft gedeployed onder Apache (zie sectie 1.6.3), dient u in elke jsp-pagina een kleine wijziging aan te brengen. Op elke pagina staat een regel in de vorm van <%!final String PAGINA=/admin3i/jsp/Accounts/AccountAanpassen.jsp”; %> In deze regel moet dan telkens admin3i vervangen worden door de directory waaronder de applicatie is gedeployed onder Apache (zie sectie 1.6.3). Deze regel staat ergens bovenaan de pagina, indien deze niet te vinden is moet er niets veranderd worden.
3.3
Tomcat configureren
Nu moeten we Tomcat nog configureren om duidelijk te maken dat er een nieuwe applicatie is en waar deze staat. Hiervoor moeten we het bestand /var/tomcat4/conf/server.xml aanpassen. We plaatsen volgende lijn onder de directive van het bestand (tijdens de ontwikkeling van dit project was dit omstreeks regelnummer 212, net voor ). Hierin moet de waarde van bar gelijk zijn aan bar bij het deployen van Apache (zie sectie 1.6.3), foo is de directory waaronder we de bestanden geplaatst hebben bij installatie (zie sectie 3.1). Nu moeten we Tomcat herstarten met het commando: #/etc/init.d/tomcat4 restart
3.4
Testen
Als alles uitgevoerd is zoals in de vorige pagina’s beschreven, en Apache, Tomcat en MySQL draaien, dan kun je nu de applicatie opvragen door in het adresbalk van een browser
HOOFDSTUK 3. INSTALLATIE VAN DE APPLICATIE
28
http://computernaam/admin3i/ in te typen. Normaal zou je nu het inlogscherm moeten zien van de applicatie. Indien dit niet het geval is en je krijgt een foutmelding van Apache dan is er vermoedelijk iets mis met de connector instellingen. Een foutmelding van Tomcat wijst op een verkeerde instelling in server.xml of een fout met de databank connectie. Controleer of alle instellingen juist zijn en of er een user is die Tomcat kan gebruiken om de databank aan te spreken.
Hoofdstuk 4 Algemene richtlijnen voor het gebruik In dit hoofdstuk worden kort enkele richtlijnen voor het gebruik gegeven die geldig zijn voor alle formulieren en documenten van de applicatie.
4.1
Formulieren
Onder formulieren verstaan we de pagina’s waar de gebruiker om interactie wordt gevraagd. Bijvorbeeld: een aantal velden invullen of een waarde kiezen uit een lijst. Velden die verplicht behandeld moeten worden zijn aangeduid door een sterretje (*). Om het formulier te verzenden is onderaan steeds een knop met gepast opschrift aanwezig (Verzenden, Wijzigen, Verwijderen, . . . ). Na het controleren van de gegevens volgt een bevestigingspagina, waarna u verder kunt werken door op een van de menu’s te klikken. Indien er gegevens niet correct werden ingevuld komt u opnieuw terecht bij het formulier, waar boven elk verkeerd ingevuld item in rode text meer uitleg staat.
4.2
Filters
Soms moet in de formulieren gekozen worden uit een grote hoeveelheid data. Om een beperkte selectie te zien, zijn de meeste formulieren uitgerust met een filter. Indien deze filters niet ingevuld zijn wordt telkens alle informatie getoond, indien wel ingevuld wordt er rekening gehouden met uw wensen. U kan de filter opnieuw laten zoeken door op de knop met opschrift ”Filter” te klikken. De filters die ingesteld worden met behulp van keuzelijsten zijn echter altijd geactiveerd. Bij de filters die ingesteld worden door een tekstveld gezocht waar het ingevulde stuk voorkomt, dus niet enkel in het begin van een veld. Er wordt ook geen rekening gehouden met hoofd- en kleine letters. Een voorbeeld zal dit 29
HOOFDSTUK 4. ALGEMENE RICHTLIJNEN VOOR HET GEBRUIK
30
misschien verduidelijken: indien u bij een lijst van namen in het filterveld van familienaam ”ba” invuld, zullen zowel ”Ballieu” als ”de Bakker” door de selectie geraken. Om op meerdere termen gelijk te zoeken dient u een + tussen de termen te zetten.
4.3
Menu’s en topmenu’s
Als u ingelogd bent zult u aan de linkerkant een aantal keuzemogelijkheden zien, dit deel beschouwen we als het menu. Dit menu is afhankelijk van de rollen die aan u zijn toegewezen. Zo zal een student niets te zien krijgen over accounts en zal een administrator geen lessenroosters kunnen zien. Als u op een menu-item geklikt hebt, zult u zien dat er bovenaan soms nog een aantal verschillende mogelijkheden zijn, dit noemen we topmenu’s. De pagina die nu geactiveerd is staat in een ander kleurtje dan de rest van de pagina’s. Om van pagina te veranderen kunt u op een van de topmenu-items klikken. De pagina’s die in een topmenu te vinden zijn behandelen hetzelfde onderwerp. Bijvoorbeeld bij Accounts zullen in het topmenu, Aanpassen, Toevoegen en Verwijderen te vinden zijn).
Hoofdstuk 5 Beheer van gebruikers In dit hoofdstuk wordt besproken hoe user accounts kunnen beheerd worden.
5.1
Inloggen
Om de gebruikers te kunnen beheren dient u in te loggen met een gebruiker die administratorrechten heeft. Tijdens de databankinitialisatie (zie sectie 2.2) is er een gebruiker ”administrator” aangemaakt die als standaardwachtwoord ”kweenie” heeft. Na het inloggen met dit paswoord zal u eerst gevraagd worden een ander paswoord in te geven, dit om veiligheidsredenen.
5.2
Gebruikers aanmaken
Na het inloggen met de juiste rechten ziet u aan de linkerkant in het menu een onderdeel ”Accounts” staan. Indien u hierop klikt komt u op de pagina om gebruikers aan te maken. De eerste velden die moeten ingevuld worden (voornaam, familienaam, loginnaam, en paswoord) spreken voor zich. Bij het invulveld van rollen moet u opgeven welke rollen de nieuwe gebruiker allemaal krijgt. U kan kiezen tussen: • Docent: voor docenten • Student: voor studenten • Contactpersoon: voor contactpersonen van bedrijven (bedrijven moeten apart aangemaakt worden) • extern persoon: hier is nog geen functionaliteit aan verbonden • administrator: gebruiker met alle rechten
31
HOOFDSTUK 5. BEHEER VAN GEBRUIKERS
32
Als een persoon meerdere rollen heeft, zijn al deze rollen gelijktijdig beschikbaar voor deze persoon. Als laatste staat een veldje ”actief”, dit veld bepaalt of een persoon al dan niet kan inloggen. Soms is het namelijk noodzakelijk een account te hebben voor een persoon die niet kan/wil inloggen. Een voorbeeld hiervan is een docent: om de lessenroosters van de 4de jaars op te stellen zijn er docenten nodig van buiten de vakgroep, als deze personen weinig voeling hebben met informatica zullen zij geen gebruik maken van hun account en vormen dus een potentieel veiligheidsrisico. Om dit te verhelpen kan de account op inactief gezet worden. Na het verzenden van de gegevens krijgt u een bevestigingsscherm te zien.
5.2.1
Contactpersonen
Als er een contactpersoon is aangemaakt dienen er nog een paar extra stappen ondernomen te worden om deze contactpersoon aan een bedrijf te koppelen. Bedrijf aanmaken In het menu vindt u een onderdeel Bedrijven. Als je hierop klikt krijgt u de pagina te zien om een bedrijf in te geven. Hierbij is enkel de naam van het bedrijf verplicht, de rest is optioneel. Contactpersoon aan een bedrijf koppelen Nu we een contactpersoon en bedrijf hebben aangemaakt dienen we deze twee nog te linken aan elkaar. Hiervoor gaat u naar het menu ”Contactpersonen”, daar kiest u de gewenste contactpersoon en klikt op aanpassen, in het volgende venster moet u een e-mailadres en bedrijf ingeven voor deze persoon, na het klikken op ”Aanpassen”, treedt deze persoon op als vertegenwoordiger van dat bedrijf.
5.3
Gebruikers aanpassen
Na het klikken op het menu ”Accounts” kan u bovenaan klikken op ”Account aanpassen”. Op deze pagina dient u eerst te selecteren welke account u wenst te bewerken, na het klikken op ”Aanpassen” kunt u de algemene gegevens van deze account wijzigen. De wijzigingen worden doorgevoerd door op ”Aanpassen” te klikken. Hier kan men ook het paswoord van de gebruiker wijzigen. Omdat de administrator nu het paswoord van de gebruiker kent, dient de gebruiker bij de eerstvolgende keer dat hij inlogt dan wel zijn paswoord te wijzigen.
HOOFDSTUK 5. BEHEER VAN GEBRUIKERS
5.4
33
Gebruikers verwijderen
Voor het verwijderen van gebruikers klikken we in het topmenu van ”Accounts” op ”Accounts verwijderen”, hier kunnen we alle gebruikers die we wensen te verwijderen aanvinken, door vervolgens op ”Verwijderen” te klikken worden deze gebruikers en alle bijbehorende data verwijderd. Voor studenten houdt dit in dat hun punten worden verwijderd, voor docenten worden de uren uit de lessenrooster geschrapt. Bij de keuzelijst van accounts staat na de naam en voornaam van de account soms ”- ONGELDIG PASWOORD” dit duidt erop dat de accounteigenaar nog nooit is ingelogd en dus nog het standaardpaswoord heeft.
5.5
Reeds ge¨ınstalleerde gebruikers
Tijdens de initialisatie van de databank (zie sectie 2.3) zijn een aantal docenten en studenten toegevoegd als gebruikers. Aan deze gebruikers is een standaardpaswoord toegekend afhankelijk van hun naam en stamnummer. De eerste keer dat deze gebruikers inloggen worden ze verplicht om hun paswoord te veranderen, en eventueel hun gebruikersnaam. Ook als het paswoord van een gebruiker gewijzigd is door een administrator zal de gebruiker verplicht worden zijn paswoord te wijzigen.
Hoofdstuk 6 Beheer en gebruik van de mediatheek In dit deel bespreken we het beheer (door administrators en docenten) en gebruik (door studenten, docenten) van de mediatheek
6.1
Beschrijving
In het mediatheek onderdeel van de applicatie worden alle boeken, eindwerken en software bijgehouden die kunnen ingekeken en uitgeleend worden. We bieden hier de mogelijkheid om op een gemakkelijke manier exemplaren toe te voegen en uit te lenen aan personen. We beschouwen de beschrijving van een boek, eindwerk, software als een item in de mediatheek, van elk item zijn er ´e´en of meerdere exemplaren aanwezig in de ”bibliotheek” van de vakgroep, deze exemplaren worden uniek ge¨ıdentificeerd door een exemplaar-ID. Een item is dus een abstract iets, een exemplaar is dan de fysieke representatie van een mediatheek object.
6.2
Object ingeven
Klik in het menu op het item ”Beheer mediatheek”, en vervolgens op het topmenuitem ”Toevoegen”.
6.2.1
Nieuw item en exemplaar
Indien het om een exemplaar gaat waarvan nog geen andere kopie aanwezig is moeten we het stuk onder ”Toevoegen nieuw item” invullen. Bij het invullen van het formulier zijn de trefwoorden van groot belang, de correctheid en de volledigheid van de trefwoorden bepalen voor de volle 100% de efficiency van het zoeken, indien er geen kernwoord is opgegeven zal dit item in geen enkel zoekresultaat 34
HOOFDSTUK 6. BEHEER EN GEBRUIK VAN DE MEDIATHEEK
35
voorkomen, ook niet in het algemene overzicht. Verschillende trefwoorden worden van elkaar gescheiden door een komma(,). Als laatste veld moeten we het exemplaar-ID ingeven, dit is een nummer dat handmatig aan het object moet worden toegewezen en dat het exemplaar uniek identificeert. Indien hier geen nummer wordt ingegeven zal het item niet terug te vinden zijn in zoekresultaten en dergelijke.
6.2.2
Nieuw exemplaar van bestaan item
Als het een exemplaar betreft waarvan er reeds ´e´en of meerdere kopie¨en aanwezig zijn volstaat het om ”Toevoegen nieuw exemplaar van een bestaand item” aan te klikken, vervolgens het item waarover het gaat aan te duiden (maak eventueel gebruik van de filter), en een nieuw exemplaar-ID in te geven.
6.3
Object verwijderen
Door in het menu op ”Beheer mediatheek” en dan in het topmenu op ”Verwijderen” te klikken komen we op de gewenste pagina.
6.3.1
Exemplaar verwijderen
Om een exemplaar te verwijderen duiden we het gewenste exemplaar aan en klikken onderaan de pagina op verwijderen. Er kan slecht ´e´en exemplaar per keer verwijderd worden. Opgelet Indien u een exemplaar verwijdert waarvan er maar ´e´en van aanwezig is, lijkt het ons aangewezen om het item ervan te verwijderen.
6.3.2
Item verwijderen
Bij het verwijderen van items worden automatisch ook alle bijhorende exemplaren en historieken verwijderd. Standaard staan alle items in een lijst met checkboxen ervoor, door middel van de filter kan u echter een beperkte lijst opvragen. Na het aanduiden van ´e´en of meerdere items die u wenst te verwijderen klikt u op ”Verwijderen”. Hierdoor is het verwijderen defenitief gebeurd.
6.4
Object aanpassen
Via ”Beheer Mediatheek” uit het menu en ”Aanpassen” uit het topmenu komen we op een pagina waar moet gekozen worden welk item u wenst aan te passen. Na
HOOFDSTUK 6. BEHEER EN GEBRUIK VAN DE MEDIATHEEK
36
het selecteren van het item en klikken op ”Aanpassen” komen we op een pagina waar we de gegevens van het item kunnen wijzigen. De velden zijn identiek als deze bij het invoeren van een item, maar nu zijn de oude waarden reeds ingevuld. Na het aanpassen en klikken op ”Aanpassen” worden de gegevens gecontroleerd en, indien correct, opgeslagen in de databank.
6.5
Exemplaar uitlenen
Indien een persoon een item wenst uit te lenen gaat u naar de geschikte pagina door op ”Mediatheek beheren” te klikken in het menu. Hier duiden we, door gebruik te maken van de filters, de uitlener en het exemplaar dat wordt uitgeleend aan. Let erop dat u het juiste exemplaar aanduidt door te kijken naar het exemplaar-ID. Door nu op ”Uitlenen” te klikken is het exemplaar als uitgeleend geregistreerd.
6.6
Exemplaar terugbrengen
Om het terugbrengen van een exemplaar te registreren, gaan we via ”Mediatheek beheren” en het topmenu-item ”Terugbrengen” naar de gewenste pagina. Hier dienen we enkel het juiste exemplaar aan te duiden, en de teruggave is geregistreerd.
6.7
Historieken
Op deze pagina, waar we komen via het topmenu dat onder het menu-item ”Mediatheek beheren” staat, kunnen we de historiek van een exemplaar opvragen: wie wat heeft uitgeleend tijdens welke periode.
6.7.1
Uitgeleende objecten
Onderaan de historieken pagina vinden we een link naar de pagina die alle uitgeleende items van het moment weergeeft. U ziet de uitleendatum, het uitgeleende item, en persoonsgegevens van de ontlener.
6.8
Opzoekingen verrichten
Dit gedeelte is voor iedereen beschikbaar. Via het menu-item ”Mediatheek” komt u op een pagina waar u kunt zoeken naar software. U kunt switchen tussen de mediatypes door middel van de topmenu’s. Onderaan de pagina wordt telkens de volledige lijst weergegeven van het geselecteerde mediatype. Door gebruik te
HOOFDSTUK 6. BEHEER EN GEBRUIK VAN DE MEDIATHEEK
37
maken van de filter kunt u een meer specifieke lijst opvragen waarin u beter uw weg zult vinden. Voor het uitlenen van items dient de persoon die wenst uit te lenen contact op te nemen met iemand die administrator rechten heeft.
Hoofdstuk 7 Logboeken bekijken en beheren Om te controleren wat er juist is misgegaan bij foutmeldingen en om de veiligheid te verzekeren wordt elke actie gelogd.
7.1
Bekijken van alle logs
Dit is enkel beschikbaar voor administrators. Via het menu ”Logging” kan het volledige gebeuren op de server gevolgd worden, door middel van de filters kan men een specifieker gebied van de logging bekijken. Aangezien de namen van de filters genoeg zeggen geven we hier geen verdere uitleg bij. Normaal gezien wordt alles gelogd in de databank, wanneer deze om de een of andere reden offline zou zijn, wordt er gelogd in een bestand dat te bekijken is via het topmenu ”Logfile”.
7.2
Instellen van de logs
De standaard instellingen zijn dat alles gelogd wordt. Dit kan soms een grote overvloed aan logging entries genereren. Daarom kunt u beslissen om niet alles te loggen. De keuze kan gemaakt worden op de pagina ”Configureren”, die bereikbaar is via het menu ”Logging”. Hier kan men selecteren om volgende gebeurtenissen al dan niet te loggen: • fout • leesoperatie • schrijfoperatie • ongeldige login • login We raden aan om zeker de fouten en de ongeldige logins te laten registreren. Zo blijft het makkelijk om eventuele inbraakpogingen en fouten te traceren. 38
HOOFDSTUK 7. LOGBOEKEN BEKIJKEN EN BEHEREN
7.3
39
Persoonlijk logboek
Dit deel dat beschikbaar is voor alle gebruikers toont het persoonlijk logboek van die gebruiker, op die manier kan hij controleren hoe hij een bepaalde actie de vorige keer heeft gedaan, of wanneer hij de laatste keer is ingelogd. Indien dit niet klopt met de werkelijkheid dient zo snel mogelijk een administrator gecontacteerd te worden omdat er dan mogelijk sprake is van een misbruikte account. Het tijdstip van de laatste login wordt trouwens altijd weergegeven op de pagina die een persoon te zien krijgt na het inloggen.
Hoofdstuk 8 Berichten en commentaar 8.1
Berichten
Aan docenten en administrators wordt de gelegenheid gegeven om via deze site1 berichten te verspreiden naar ´e´en of meerdere personen. Na het inloggen is het eerste venster dat iedere persoon ziet het venster waarop de berichten staan, zodat er geen excuus is om ze niet gelezen te hebben.
8.1.1
Bericht verzenden
Klik op het menu-item ”Berichten”. Standaard kom je op de pagina om berichten te lezen. Via het topmenu-item ”Bericht sturen” kom je op de pagina waar je het onderwerp en het bericht zelf kunt opgeven. Onderaan de pagina kunt u kiezen aan wie u dit bericht wenst te zenden. U kan kiezen uit volgende groepen: • Alle studenten • Alle docenten • Een specifieke (groep) student(en) • Een specifieke (groep) docent(en) • Alle studenten uit een bepaalde richting • Alle studenten die een bepaald vak volgen Bij de laatste vier keuzes kan met in het volgende scherm een specifieke groep opgeven die dit bericht moet ontvangen. Er wordt geen mogelijkheid geboden om berichten te sturen naar externe personen of contactpersonen. Aangezien het weinig waarschijnlijk is dat deze personen regelmatig gaan inloggen is het zinloos om via deze weg berichten te sturen naar hens. Het is sneller om een e-mail te sturen naar de gewenste persoon. 1
http://amerigo.hogent.be/admin3i/
40
HOOFDSTUK 8. BERICHTEN EN COMMENTAAR
8.1.2
41
Bericht verwijderen
In het menu ”Berichten”, kunt u op het topmenu-item ”Berichten verwijderen” klikken. Op deze pagina krijgt u een overzicht van alle gestuurde berichten. Door middel van checkboxen kunt u de berichten aanduiden die verwijderd moeten worden. Door vervolgens op de knop ”Verwijderen!” te klikken worden de geselecteerde berichten verwijderd.
8.2
Commentaar
Om feedback van de gebruikers te kunnen krijgen wordt de mogelijkheid geboden om commentaar te sturen naar de administrators. Op deze manier kan op een makkelijke manier gecommuniceerd worden met de administrators, en kunnen administrators makkelijk alle commentaar bundelen.
8.2.1
Commentaar sturen
Dit gedeelte is voor iedereen beschikbaar. Via het menu ”Commentaar” komt men op de pagina terecht waar de mogelijkheid geboden wordt om een bericht te verzenden. In het grote tekstveld typt u de gewenste commentaar, en door een druk op de knop ”Verzenden!” wordt de commentaar naar de administrators gestuurd.
8.2.2
Commentaar beheren
Enkel administrators kunnen commentaar lezen en beheren. Door in het menu ”Commentaar” op het topmenu ”Overzicht” te klikken krijgt men het overzicht van alle verzonden berichten. Bij dit overzicht staan de datum, uur, de naam en emailadres van de persoon die het bericht verzonden heeft boven elk commentaar. Door op het e-mailadres te klikken kan direct een mail gestuurd worden naar de verzender van het commentaar. Om berichten te verwijderen klikt u op de checkbox, die naast elk bericht aanwezig is, en klikt onderaan de pagina op de knop ”Verwijderen!”.
Hoofdstuk 9 Bedrijven en contactpersonen De bedoeling van dit project is meer dan alleen maar de administratie te vereenvoudigen voor de docenten. Het is ook een advalvas waar bedrijven vacatures kunnen opzetten en thesisvoorstellen doen. Hoe u een bedrijf moet toevoegen en koppelen wordt hier beschreven. Het gebruik van voorstellen wordt in een volgend hoofdstuk beschreven.
9.1
Bedrijf toevoegen
Via het menu ”Bedrijven” komt u op de pagina terecht waar bedrijven kunnen toegevoegd worden. Hierbij is enkel de naam van het bedrijf een verplicht veld. De rest van deze gegevens kunt u zelf invullen ofwel laten doen door de contactpersoon van dat bedrijf.
9.1.1
Koppelen van een contactpersoon
In sectie 5.2 ziet u hoe u een gebruiker kunt aanmaken. Nu we een contactpersoon en bedrijf hebben aangemaakt dienen we deze twee nog te linken aan elkaar. Hiervoor gaat u naar het menu ”Contactpersonen”, daar kiest u de gewenste contactpersoon en klikt op ”Aanpassen”, in het volgende venster moet u een emailadres en bedrijf ingeven voor deze persoon, na het klikken op ”Aanpassen”, treed deze persoon op als vertegenwoordiger van dat bedrijf.
9.1.2
Ontkoppelen van een contactpersoon
Hierbij dient u de te ontkoppelen contactpersoon te verwijderen. Let er wel op dat ook de door hem gedane voorstellen hiermee worden verwijderd. Indien deze voorstellen moeten worden overgenomen door iemand anders is het waarschijnlijk meer aangewezen de naam, voornaam en e-mailadres van de betreffende persoon te wijzigen.
42
HOOFDSTUK 9. BEDRIJVEN EN CONTACTPERSONEN
9.2
43
Bedrijf verwijderen
In het menu ”Bedrijven” is er in het topmenu een item ”Verwijderen”. U krijgt op deze pagina een volledige lijst van de bedrijven, met behulp van de filter kan u makkelijk een bedrijf opzoeken. Selecteer de checkboxen van de bedrijven die u wenst te verwijderen en klik vervolgens op ”Verwijderen!”. Opgelet! Indien u een bedrijf verwijdert, worden alle contactpersonen, voorstellen en vacatures in verband met dit bedrijf defenitief verwijderd. Let dus goed op welk bedrijf u verwijdert, en vergewis uzelf ervan dat er geen informatie zal verloren gaan.
9.3 9.3.1
Bedrijf aanpassen Door een administrator
Via het menu ”Bedrijven” en het topmenu ”Aanpassen” kunnen we de gegevens van een bedrijf aanpassen. Om dit bedrijf te koppelen aan een nieuwe contactpersoon, dient men bovenstaande procedure ”Koppelen aan contactpersoon” te volgen.
9.3.2
Door een contactpersoon
Contactpersonen kunnen enkel de gegevens van een bedrijf wijzigen waarmee zij verbonden zijn. Via het menu ”Persoonlijke gegevens” kan hij zijn eigen mail adres en de gegevens van het bedrijf wijzigen. Om privacy redenen kan enkel het adres van het bedrijf ingevuld worden, en niet het adres van de contactpersoon.
Hoofdstuk 10 Beheer en gebruik van voorstellen Dit stuk van het project dient om studenten een centrale plaats te geven waar stagevoorstellen, thesissen en vacatures verzameld staan.
10.1
Voorstel ingeven
Dit kan gedaan worden door administrators, docenten en contactpersonen. U gaat via het menu ”Beheer voorstellen” naar de pagina waar u een voorstel kan ingeven. Op deze pagina dient u eerst het type voorstel in te geven (stage, thesis, vacature). Vervolgens een korte beschrijving en eventueel een URL met extra informatie en de precize inhoud van het voorstel. Na het klikken op ”Verzenden!” is het voorstel zichtbaar voor studenten.
10.2
Voorstel verwijderen
Als administrator kunt u elk voorstel verwijderen, een docent of contactpersoon kan enkel zijn eigen voorstellen verwijderen. Via het menu ”Beheer voorstellen” en het topmenu ”Verwijderen” krijgt u een, al dan niet door de filter aangepaste, lijst van voorstellen. Door naast de voorstellen die mogen verwijderd worden de checkbox aan te klikken, en vervolgens op ”Verwijderen” te klikken, worden de gewenste voorstellen verwijderd.
10.3
Voorstel aanpassen Voorstel aan iemand toewijzen
Voorstellen kunnen enkel gewijzigd en toegekend worden door de persoon die ze heeft ingevoerd. Voor het wijzigen en toekennen van voorstellen gaan we naar het 44
HOOFDSTUK 10. BEHEER EN GEBRUIK VAN VOORSTELLEN
45
menu ”Beheer voorstellen” en vervolgens topmenu ”Aanpassen”. Zo komen we op een pagina waar u de gegevens van het voorstel kunt aanpassen en eventueel kunt toewijzen aan studenten. Om meerdere studenten te selecteren klikt u op de eerste student, de andere worden geselecteerd door op die student te klikken terwijl u de control toets ingedrukt houdt. Als vervolgens op ”Aanpassen!” wordt geklikt worden de wijzigingen doorgevoerd. Opmerking Dat een student op deze pagina is ingevuld wil niet zeggen dat de ”eigen thesis” pagina van de student is ingevuld! Dit moet de student nog steeds zelf doen.
10.4
Bekijken van voorstellen
Dit is toegankelijk voor studenten, docenten en administrators, en beschikbaar via het menu ”Bedrijfsvoorstellen”. In de topmenubalk kan gekozen worden tussen de verschillende types voorstellen. Als men een keuze gemaakt heeft qua type krijgt men een lijst te zien van alle mogelijke voorstellen van dat type, aangezien het hier enkel gaat om voorstellen voor Industrieel Ingenieur Informatica wordt hier geen mogelijkheid geboden om met een filter te werken. Door op een onderwerp te klikken krijg je de bijbehorende informatie te zien gaande van de inhoud van het voorstel, de URL, de promoter (contactpersoon), de contactinformatie en de eventuele studenten die reeds aan dit voorstel zijn toegewezen.
Hoofdstuk 11 Lessenroosters en afwezigheden 11.1
Lessenroosters
11.1.1
Lessenroosters aanpassen
Dit kan enkel gebeuren via het scriptje dat uitgelegd staat in sectie 2.3.11. We zijn niet aan de implementatie van dit onderdeel toegekomen.
11.1.2
Lessenroosters bekijken
Docenten en studenten zijn in staat hun persoonlijke lessenroosters te bekijken, alsook de lessenroosters van het 3de en 4de jaar informatica. Deze laatste roosters kunnen belangrijk zijn voor studenten die een IAJ1 programma moeten opstellen. Via het menu ”Lessenroosters” komt men op de pagina terecht waar uw persoonlijke lessenrooster staat, geordend volgens weekdag en uur. Door op het topmenu de gepaste keuze te maken ziet u de lessenroosters van het derde en vierde jaar informatica. Indien er voor een vakonderdeel een webpagina beschikbaar is kan deze bereikt worden door op het betreffende vakonderdeel te klikken.
11.2
Afwezigheden
11.2.1
Registreren van afwezigheden
Als een student inlogt in de applicatie wordt er aan de hand van zijn lokaal en studierichting opgezocht in de lessenroosters of er op dat moment een labo is voor die student. Indien dit het geval is wordt de student automatisch aangemeld voor dat labo, en wordt dit weergegeven op de berichtenpagina van de student. Om dit stuk van de applicatie goed te laten werken is het dus uitermate belangrijk 1
IAJ: Individueel Aangepast Jaarprogramma
46
HOOFDSTUK 11. LESSENROOSTERS EN AFWEZIGHEDEN
47
om ervoor te zorgen dat de lessenroosters, de studierichting en de toestellen (en hun lokaal) juist in de databank zijn ingegeven. Opmerking Indien de registratie van afwezigheden niet goed verloopt, overloop dan volgende puntjes: • Staat de klok van de server goed ingesteld • Zijn alle toestellen juist ingevoerd en gekoppeld aan het juiste lokaal? (zie sectie 2.3.12) • Is de student in de juiste labogroep ingeschreven. (zie sectie ??) • Is het lessenrooster juist ingegeven? (zie sectie 2.3.11)
11.2.2
Controleren van afwezigheden
Studenten Studenten kunnen enkel hun persoonlijke afwezigheden controleren. Via het menu ”Afwezigheden” komen ze op een pagina terecht waar ze een overzicht krijgen van al hun afwezigheden tijdens de labo’s. Via het topmenu ”Huidig Labo” kunnen ze zien wie er allemaal aanwezig is tijdens het huidige labo. Dit laatste is om docenten toe te laten de afwezigheden te controleren zonder zelf in te loggen. Indien dit niet klopt dienen ze dit te melden aan een administrator. Docenten en Administrators Door in het menu op ”Afwezigheden” te klikken komen we op een pagina waar we kunnen kiezen van welk labo we de statistieken willen opvragen. Na het gewenste labo geselecteerd te hebben krijgen we een pagina waar we een overzicht krijgen van alle sessies van dat labo met het aantal aan- en afwezigen. We hebben nu ook een nieuwe topmenu balk gekregen. Indien we op deze pagina op een labo klikken krijgen we een overzicht van wie er allemaal aanwezig of afwezig was tijdens dat labo. Door in het topmenu op ”Statistieken per student” te klikken kunnen we overzichten opvragen van verschillende data. Bovenaan kan gekozen worden van welke groep we een overzicht wensen. Er onder komt dan de lijst met studenten, hun totaal aantal aan- en afwezigheden, en een overzicht per labosessie. Tijdens een labo kan via een student die is ingelogd de statistiek bekeken worden van het labo dat op die moment aan de gang is. Hiervoor gaat men via het menu ”Afwezigheden” en het topmenu ”Huidig Labo” naar de pagina met de statistiek van het huidig labo.
HOOFDSTUK 11. LESSENROOSTERS EN AFWEZIGHEDEN
11.2.3
48
Bijwerken van een labo
Als studenten elkaars paswoord doorzeggen kan de ene student de andere aanmelden waardoor een student aanwezig zou zijn geregistreerd terwijl hij eigenlijk afwezig is. Om misbruik te corrigeren wordt de mogelijkheid geboden om handmatig aanpassingen te doen. Ook wordt de mogelijkheid geboden om alle gegevens van een labosessie te verwijderen, en om labo’s te wijzigen van vakonderdeel (als labo’s verwisseld worden door een test bijvoorbeeld). Al die hieronder beschreven onderdelen zijn bereikbaar door eerst op het menu ”Afwezigheden” te klikken en dan het topmenu ”Bewerken” te kiezen, en de gepaste labosessie te kiezen. Bijwerken van afwezigheden Na te klikken op de knop ”Bewerken” krijgen we een lijst van studenten en het toestel waarop ze zijn ingelogd tijdens dat labo. Naast elke student staat een checkbox die aangevinkt is als de student aanwezig was. Door de checkboxen aan of uit te vinken kan men correcties aanbrengen. Na het klikken op ”Bijwerken” worden de wijzigingen opgeslagen. Labo verwijderen Door in het nieuwe topmenu te klikken op ”Labo verwijderen” en vervolgens op de knop ”Verwijderen” te klikken wordt de geselecteerde labosessie verwijderd. Alle gegevens van deze labosessie worden dan defenitief verwijderd. Vakonderdeel bijwerken Het kan soms zijn dat er omwille van praktische redenen labo’s verwisseld worden. Daarom kan men hier een ander vakonderdeel aan de labosessie toewijzen. Dit doen we door in het topmenu te klikken op ”Vakonderdeel bijwerken” en vervolgens een ander vakonderdeel te selecteren. De wijziging wordt opgeslagen door op ”Bijwerken” te klikken.
11.2.4
Labo toevoegen
Het kan gebeuren dat er een labo verplaatst wordt naar een plaats in de tijd waar er normaal geen labo is. Men moet dit labo toevoegen v´o´or de start van het labo. Via het menu ”Afwezigheden” en het topmenu ”Toevoegen labo” kan men een labo toevoegen. Men duidt het vakonderdeel, datum, start- en einduur aan, de groep en het lokaal. Als men op ”Toevoegen” klikt wordt dit labo opgeslagen en zullen de aanwezigheden van studenten geregistreerd worden.
HOOFDSTUK 11. LESSENROOSTERS EN AFWEZIGHEDEN
11.2.5
49
Gewettigede afwezigheden
Studenten kunnen afwezig zijn om een gewettigde reden (ziekte, begrafenis, oproep van de rechtbank, . . . ). Deze afwezigheden worden apart vermeld in de overzichten van afwezigheden. De functionaliteit is te vinden onder het topmenu ”Gewettigde afwezigheden” van het menu ”Afwezigheden”. Men krijgt dan ook een nieuw topmenu. Men kan terugkeren door op het topmenu ”Statistieken” te klikken. Ingeven Standaard komen we op de invulpagina van gewettigde afwezigheden terecht. Hier kunnen we de naam van de student, de periode van afwezigheid en de reden opgeven. Indien het om ziekte gaat kan ook de dokter worden ingegeven. Verwijderen Onder het topmenu-item ”Verwijderen” kunnen we de gewettigde afwezigheden aanduiden die we wensen te verwijderen. Na het klikken op de knop ”Verwijderen” worden de geselecteerde periodes verwijderd. Er kan gefilterd worden op naam van de student.
Hoofdstuk 12 Persoonlijke informatie Iedere persoon heeft de mogelijkheid zijn of haar persoonlijke gegevens te wijzigen. Voor studenten en docenten houdt dit in dat de informatie over hun verblijfplaats, hobby’s, . . . kan gewijzigd worden. Voor contactpersonen houdt dit hun e-mailadres en de gegevens van het bedrijf in. Voor studenten komt hier hun studierichting en de vakken die ze volgen bij.
12.1
Algemene gegevens
Dit stuk is bereikbaar via het menu ”Persoonlijke gegevens”. Docenten en studenten kunnen hier hun persoonlijke gegevens invullen. Contactpersonen kunnen hier hun e-mailadres ingeven en de adresgegevens van hun bedrijf wijzigen.
12.1.1
Studenten
Wijzigen Omwille van privacy redenen kunnen studenten onderaan de pagina kiezen of hun gegevens zichtbaar moeten zijn voor andere studenten of niet. Docenten en administrators kunnen de gegevens van de student altijd blijven zien. Opvragen Via het menu ”Studenten” krijgt u een overzicht van alle studierichtingen. Door op een studierichting te klikken krijgt u alle studenten uit deze richting te zien. Studenten aan wie geen studierichting is toegewezen zijn te vinden via een link onderaan de pagina. Via deze pagina kan men ook de labogroepen en richting zien van de geselecteerde student.
50
HOOFDSTUK 12. PERSOONLIJKE INFORMATIE
12.1.2
51
Docenten
Opvragen De gegevens van docenten zijn volledig zichtbaar voor docenten. Voor studenten is enkel het e-mailadres van de docent zichtbaar. In beide gevallen zijn de gegevens opvraagbaar via het menu item ”Docenten”. Studenten zien onder dit menu de naam en e-mailadres van de docent, door te klikken op het e-mailadres kan de student onmiddelijk een mail zenden naar de docent. Docenten zien enkel de naam van elke docent staan, echter door op deze naam te klikken krijgen zij de persoonlijke gegevens van deze docent te zien (voor zover deze ingevuld zijn).
12.1.3
Contactpersonen
Wijzigen Via het menu item ”Persoonlijke gegevens” kunnen contactpersonen hun e-mailadres en de adres gegevens van hun bedrijf wijzigen. Opvragen Deze gegevens zijn enkel zichtbaar als de contactpersoon een voorstel heeft gedaan. De informatie is dan zichtbaar in de informatiepagina die bij het voorstel hoort. (zie sectie 10)
12.2
Labogroepen, richting en vrijstellingen
12.2.1
Parameters
Administrators kunnen instellen of studenten hun labogroepen, studierichting en vrijstellingen nog kunnen veranderen of niet. Er wordt aangeraden om deze waarden in het begin van een academiejaar op ’Y’ te zetten en na een paar maanden op ’N’ te zetten zodat er niet kan gesjoemeld worden. De administrator echter kan altijd de labogroep, richting en vrijstellingen van een student wijzigen. Hij kan aan de instellingen via het menu ”Studenten”, daar de gepaste student selecteren en dan de waarden veranderen.
12.2.2
Richting
Op deze pagina, bereikbaar via het menu ”Persoonlijke gegevens” en topmenu ”Richting”, kan de student zijn richting ingeven. Er wordt de mogelijkheid geboden aan studenten om twee richtingen op te geven, dit om IAJ studenten niet uit te sluiten. In de onderste drop down list kan een student uit het tweede jaar zijn keuzerichting aanduiden.
HOOFDSTUK 12. PERSOONLIJKE INFORMATIE
12.2.3
52
Vrijstellingen
In het topmenu ”Vrijstellingen” van ”Persoonlijke gegevens” kan de student aanduiden voor welke vakken hij vrijstelling heeft: de vakken waarvoor hij vrijstelling heeft mogen niet aangevinkt staan! De lijst van vakken wordt gegenereerd op basis van de hierboven aangegeven richtingen.
12.2.4
Labogroepen
Via het menu ”Persoonlijke gegevens” en het topmenu-item ”Labogroepen” kan de student voor elk labo afzonderlijk aanduiden in welke groep hij zit. Het is belangrijk dat dit goed ingesteld staat, want aan de hand hiervan zullen ook de aanwezigheden geregistreerd worden.
12.3
Foto uploaden
In het submenu ”Foto Uploaden” kan de gebruiker een jpg bestand selecteren met een foto van zichzelf door op ”Browse” te klikken. Door te klikken op ”Verzenden!” wordt de foto naar de server verzonden en opgeslagen. Vanaf nu is de foto te zien bij de persoonlijke informatie van de student. Indien dit niet lukt raadpleeg sectie 3.1.