Løbeseddel 1: HTML, Web-services og simpel TCL

for Databasestøttet Webpublicering

af Martin Elsman og Niels Hallenberg sidst rettet 10. februar, 2002


I denne og i de fremtidige øvelser får du brug for at oprette, gemme og læse filer på hug.it.edu. Hug er en PC, som kører Linux. En del af øvelsen har til formål at du bliver fortrolig med at bruge ssh til at overføre filer mellem hug og den arbejdsstation du sidder ved under øvelsen. I denne øvelse skal du blandt andet oprette en hjemmeside på hug.it.edu, som kan ses af en browser på en anden maskine på Internettet (f.eks. den maskine du sidder ved).

For hver studerende kører hug.it.edu et webserverprogram, som når det modtager en forespørgsel om en side, sender indholdet af siden tilbage til browseren (klienten). I den sidste opgave skal du se et eksempel på en dynamisk HTML-side, det vil sige, en HTML-side, som først genereres når webserveren får en forespørgsel fra en browser.

Bemærk, at der for alle opgaverne lægges vægt på at svarene gemmes i de anviste filer og at der er links til svarene fra din index.html side (se nedenfor).

Ved graduerigen lægges der vægt på:

For at lave og aflevere denne løbeseddel skal du være oprettet i CourseGrader, og du skal have en konto på hug. Dette bliver ordnet lige før den første øvelsestime.

Inden du går igang med øvelserne kan du med fordel installere ssh og en TCL fortolker på din hjemme PC.

Ved problemer kan du med fordel orientere dig i kursets Q&A forum.

Opgave A (20 procent) - Konstruktion af Hjemmeside

Følg anvisningerne på siden http://www.it.edu/courses/W2/ssh.html til at ændre filen
  /web/login/www/index.html 
på hug, så den overholder kravene til en rigtig HTML side (se evt. Peter Sestofts HTML-oversigt). Du skal udskifte login med dit eget login.

Du skulle nu være istand til at se siden fra din browser på den arbejdsstation du sidder ved (ligesom alle andre på Internettet kan se din side.) Hvis du er tildelt portnummer 8013 (se deltagerlisten på kursets hjemmeside) er siden tilgængelig som

   http://hug.itu.dk:8013/index.html
Tilføj et link fra index.html siden til http://www.google.com/ og et link til din rigtige hjemmeside, hvis du har en sådan.

Opgave B (30 procent) - Kursusoversigt

Konstruer en HTML side, som indeholder en oversigt over de kurser som du følger ved IT-C i dette semester. Gem siden som kurser.html i kataloget /web/login/www/oevelse1. Oversigten skal implementeres som en tabel med en række for hvert kursus du følger. Tabellen skal have tre kolonner. For hvert kursus skal første kolonne indeholde kursusforkortelsen (kurset her har kursusforkortelse W2), anden kolonne skal indeholde kursusnavnet og tredje kolonne skal indeholde kursusdagen.

Indsæt links fra kursusforkortelserne til kursernes hjemmesider.

Indsæt et link fra siden index.html til siden med kursusoversigten.

Husk også at linke tilbage fra kursussiden til indekssiden.

Opgave C (15 procent) - Kommentar-service

I denne øvelse skal du anvende en lille service, som stilles til rådighed af ArsDigita. Servicen giver mulighed for, at du kan tilbyde dine læsere at kommentere dine hjemmesider. Målet med denne opgave er, at man kan kommentere din index.html side.

Besøg http://www.arsdigita.com/pages/free-services.html og opret en ``Loquacious'' på din nye hjemmeside. Overtal en anden person til at komme med en kommentar til din side.

Her følger en beskrivelse af, hvorledes man får servicen til at virke. Eksemplet beskriver hvorledes det kan gøres muligt for læsere at kommentere en løbeseddel med url

http://www.itu.dk/courses/W2/E2001/Lb/lb1.html
Servicen virker ved, at man opdeler url'en i et prefix, f.eks. http://www.it-c.dk/courses/W2/E2001/ og en underside, f.eks. Lb/lb1.html. Man giver prefix et navn, f.eks. dwebE2001. Servicen giver mulighed for at tilføje kommentarer til samtlige sider der ligger under ens prefix.

I den formular, hvor servicen oprettes skrives

http://www.it-c.dk/courses/W2/E2001/
i feltet "Server Prefix". Herefter udskiftes ***url*** med Lb/lb1.html.

Opgave D (15 procent) - Forum

Opret en ``Q&A'' eller et ``diskussionsforum'' (``Lusenet'') ved brug af http://www.arsdigita.com/pages/free-services.html. Du vælger selv emnet for forumet. Indsæt et link fra din index.html side til forumet.

Dette kursus har f.eks. oprettet sin egen Q&A

Opgave E (20 procent) - Dato-service

I denne opgave skal du indtaste et lille tcl-program og gemme programmet i en fil på hug. Ideen er at når web-serveren får en forespørgsel om filen, så hentes filen ind i web-serveren, programmet køres og uddata fra programmet, som er HTML-kode, sendes tilbage til klienten (altså browseren).

Indtast følgende tcl-program og gem det i filen /web/login/www/oevelse1/dato.tcl:

   # number of seconds after 1970
   set seconds [clock seconds]
   # the date in a nice format
   set now [clock format $seconds -format "%c"]
   ns_return 200 text/html "Hi there! The date and time is $now"
Prøv nu at se resultatet af at forespørge URL'en (udskift 8077 med dit portnummer)
  http://hug.itu.dk:8077/dato.tcl
fra din browser. Indsæt et link til dato-servicen fra din index.html side. Se eventuelt man-siden for clock kommandoen for at få din web-applikation til at vise datoen i et pænere format.
mael@it.edu, nh@it.edu