Delprosjekt:
Guided Tour

Ansvarlig:
Erik Åsberg (erik.a.aasberg@hiof.no)
Innledning:
Al Mashriq inneholder en enorm mengde informasjon, og for en som ikke er kjent på serveren kan det være vanskelig å oppfatte mengden og bredden i stoffet. Det kan også være vanskelig å finne det man leter etter. Dessuten har vi, som driver serveren, noe vi er fornøyd med og vil vise fram.

For å få dette til på en enkel måte ble det besluttet å lage en Guided Tour. Denne skulle i utgangspunktet være slik at bruker skulle kunne surfe på sider vi på forhånd hadde bestemt. På denne måten får vi vist fram det vi er interessert i at andre skal se. Denne tjenesten eksisterte ikke på Al Mashriq fra før.

Hva har vi gjort:
For å kunne styre/kontrollere en browser er det i grunnen to reelle valg: Java eller JavaScript. Vi gikk for JavaScript for å slippe å lage en rimelig komplisert Java-applet. JavaScript er heller ikke noe godt valg, men vi mente det var det beste av to onder.

JavaScript har to store ulemper:

  1. Kompabilitet. JavaScript er et scriptspåk utviklet av Netscape. Hvis man benytter seg av de mest avanserte delene av språket, f.eks objekter, er man nesten avhengig av at bruker har en nyere browser av merket Netscape for at det skal virke.
  2. Språket har veldig få muligheter. Det er greit til å lage småtteri og dill, men hvis man skal prøve å lage noe seriøst kommer spåkets begrensninger snart fram. Spesielt til behandling av strenger er språket usselt.

Guided Tour benytter seg av en del automatisk genererte sider. Disse blir generert av Perl-script. Dette gjøres for at man enklest mulig skal kunne legge til tour'er.

For at dette skulle være en Guided Tour trengte vi en guide. Vi valgte Giha, en arabisk fortellerfigur som går igjen i mange folkehistorier. Giha forteller bruker hva hun/han skal foreta seg underveis, og han har en kommentar til sidene bruker kommer til.

Når en bruker ønsker Guided Tour, dukker det opp et nytt, lite vindu. Dette er et kontroll-vindu. Dette vinduet kontrollerer det vinduet som senere kommer til å dukke opp: surfe-vinduet. Bruker har hele tiden disse to vinduene å forholde seg til.

Slik Guided Tour eksisterer idag, gis det to muligheter. Bruker kan velge mellom en Auto-Guide, som var den opprinnelige Guided Tour, og en Do It Yourself-tour, som gir brukere anledning til å lagre sin egen Guided Tour.

Auto-Guide gir bruker mulighet til å velge mellom forskjellige pre-definerte turer. Disse turene er lagret som tekstfiler med navn: navn-på-turen.tour som ligger i home/almash/admin/tour/. Disse filene er bygd opp på følgende måte:
url\tkommentar
url\tkommentar
osv.
Der "\t" er en tabulator. For å legge til en ny tur er det bare å lage en tekstfil i dette formatet på nevnte sted.
Det er også laget en step-by-step oppskrift for å gjøre om Guided Tours som kommer i mail til Al Mashriq, til .tour-filer. Denne ligger i samme directory som .tour-filene selv og heter mail2tour.txt:

  1. Lagre mailen som "navn-på-tur.tour" i denne katalogen. (home/almash/admin/tour)
  2. Fjern alle html-tags og mail-header.
  3. Fjern alt bortsett fra:
    -url
    -kommentar
  4. Legg inn en tabulator mellom url og kommentar, slik at filen blir på følgende format:
    url\tkommentar
    url\tkommentar
    url\tkommentar
    osv.
    Der "\t" er tabulator.
    Hvis det ikke er kommentar til en url, bør det legges til en kommentar.

Det som faktisk skjer når bruker velger "Auto-Guide" er at perl-scriptet findTours.pl starter. Dette scriptet genererer neste side inneholdende de forskjellige .tour-filene. Når bruker har valgt den turen han/hun vil se starter scriptet readTour.pl. Dette scriptet genererer JavaScriptet som styrer tour'en. Perl-scriptet leser den .tour-fil som er valgt og legger url'er og kommentarer inn i JavaScriptet. Bruker kan nå trykke seg fram og tilbake mellom de url'ene tour'en inneholder.

Do It Yourself-touren er i utgangspunktet ikke en tour. Det er itilfellet en tour der veien blir til mens du går. Bruker får tre knapper i kontroll-vinduet å forholde seg til. "Add", "Remove" og "Mail" gir bruker mulighet til akkurat det.

"Add" legger til tittelen til den siden som er åpnet i surfe-vinduet. Denne legges så til i en liste i kontroll-vinduet. Bruker gis mulighet til å velge om han/hun vil legge til en egen kommentar eller ikke.
"Remove" sletter det nederste entry'et på listen.
"Mail" gir bruker en dialogboks hvor han/hun kan skrive inn sin e-post adresse dit listen blir sendt.

Også her benyttes et Perl-script, url_handler.pl, som tar imot de data som trengs (tittel, url, anker, kommentar, filnavn). Disse dataene blir sendt som argumenter til Perl-scriptet. Her blir dataene formatert og lagret i en temporær fil. Den samme fila blir senere sendt som mail og slettet. Flerbruker-problemet blir her taklet ved at filene gis navn hhmmss.bkmrk. Disse filene legges i katalogen /www/almashriq/htdocs/general/000/000/003/guitour/extended/write/. Når bruker er fornøyd med sin tour kan han/hun enkelt maile den til seg selv, lagre mailen som en fil, og så åpne den lokale fila i browseren sin.

Erfaringer:
Stol ikke på at noe er enkelt i JavaScript. Det er gått med en del timer til å "hacke" seg rundt banale problemer pga JavaScripts begrensninger.

Delprosjektet har tatt veldig lang tid, og har en rimelig høy timesum. Veldig mye av tiden har gått med til planlegging av tekniske løsninger, og problemer som har dukket opp underveis. Det har kanskje vist seg at det man forestiller seg som ganske enkelt (ihvertfall normalt), brått kan by uventede problemer når man arbeider med såpass nye språk.

Mulige forbedringer:
Filene som sendes som mail i Do It Yourself-touren bør sendes som en MIME-attachement, og ikke som body på mailen.

Det bør være mulig å editere kommentarene som legges til url'ene. Få å gjøre dette idag må man slette den kommentaren man ønsker å editere, sammen med url/tittel.

Det går per idag ikke an å legge til titler/urler fra eksterne servere, kun fra Al Mashriq. Hvis dette blir mulig har man egentlig et verktøy man kan bruke over hele nettet for å lage sine egne turer.

Grensesnittet er veldig enkelt og tildels kjedelig. Det hadde hatt godt av en oppfriskning.

Prosjektfakta
Lokalisering:
  • Guided Tours .html-filer ligger i /home/almash/almashriq/general/000/000/003/guitour/extended/
  • De tre Perl-scriptene ligger i /www/almashriq/cgi-bin/
  • .tour-filene ligger i /home/almash/admin/tour/
  • De temporære .bkmrk-filene ligger i //home/almash/almashriq/general/000/000/003/guitour/extended/write/
Tidsestimering:
  • Totalt ca 530 timer.
Ressurspersoner:
  • Linette Vik(NRK-prosjektet)
Programvare/Nettressurser: