Twisted Scissors. Ett projekt i kursen tnm047 2006/2007. Björn Gustafsson bjogu419@student.liu.se. Mats Wedell matwe812@student.liu.



Relevanta dokument
Projektuppgift: Kalender Martin Hultman marhu002 Patrik Karlsson patka843

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

Hja lp till Mina sidor

uppgifter Närvarorapportering via mobiltelefon 3 via webben 5 Klarmärkning av närvarorappportering 6 Statistik 7 Teckenförklaring 8

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026

Manual Svevacadministratör

Kommentar [k1]: Behöver vi kommentera det som finns till höger ovanför schematyp?

I samband med uppgraderingen till GDPR kompatibel version kommer alla användare av CuttingEdge behöva logga in med personliga konton.

XtraMatLagning. August Ek och Oscar Johnson. TNM065 Dokumentstrukturer

TIPS för BOKA ONLINE För medlemmar i SGIF Gymnastik & Fitness

PREMIUM COMAI WEBBKALENDER

ANVÄNDARMANUAL FÖR WORDPRESS

MULTI COMAI WEBBKALENDER

SCENKONSTKATALOGEN 3.0 Kulturdirekt - Kulturförvaltningen Stockholms Läns landsting

Manual Jourläkarschema Alingsås - Version 1.0

Inställningar. Ljudinställningar

Användarhandledning Time Care Pool och Personec för vikarier 2015

Konton skapas normalt av användaren själv, men kan i undantagsfall behöva läggas upp av annan person, exempelvis en junioradmin.

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

RemoteX Applications Manual för Resurs Login

utbildning Översikt av funktioner i #fakta

Manual webb-bokning. Giltig från Kontakt: Emilia Lindberg, turist- och fritidskonsulent

Kom igång! Snabbstart för dig som är administratör

Lathund för Alingsås TK s bokningssystem

Hitta till schemawebben Sök fram ett schema Mer information om lokalen eller kursen Anpassa schemat... 4

Hur du gör ditt Gilles hemsida - en liten hjälp på vägen

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

MANUAL SCHOLA COMAI WEBBKALENDER OCH SCHEMA


Introduktion till MySQL

So ka artiklar och annan litteratur

Releasedokument för astra WEB

SORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version , rev (19)

Författare Version Datum. Visi System AB

VERSION 2.0 ANVÄNDARE. Benämning Artikelnummer Pris Startavift startwebbmc kr Årlig Licensavgift webbmobilmc kr

Föräldrar och Skola 24

ANVÄNDARBESKRIVNING FÖR PERSONAL

Användarmanual NeverLOST webbokning

FLEX Personalsystem. Uppdateringsanvisning

Användarhandledning Nordea Swish Företag App

Kronoby kommun Kruunupyyn kunta. e-bokning s-varaus. Hur man gör en bokningsförfrågan Med reservation för ändringar

Sö ka artiklar öch annan litteratur

0tid Transport Användarmanual Personal. Rev 1.0

Användarhandbok Mealman

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Slutrapport för JMDB.COM. Johan Wibjer

Lathund för Tibro Tennisklubbs bokningssystem

SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]

Release Notes. Vad är nytt i Easy Planning Programmet nu Vistakompatibelt. Ny html hjälpfil anpassad för Vista

Sammanställning. Innehållsförteckning. 1 Struktur. för ledare

Lathund Webbanmälan. Senselogic AB Version 2.3

Uppstart Agda PS Hosting

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

IDROTTONLINE ANVÄNDARMANUAL ROTTNE IF

1 Starta Internet Explorer och surfa till Ange användarnamn och lösenord för att logga in i bokningssystemet.

Lathund Hemsida för Astma- och Allergiförbundets föreningar

Lathund skriva reseräkning. Tur och Retur (T&R)

Webbmejlens gränssnitt

Scio. en liten användarguide. Skriven av: Josefine Siewertz

manual interbook SKOLOR

Zimplit CMS Manual. Introduktion. Generell Information

Thomas Pihl Frontermanual. för studerande vid Forum Ystad

Instruktioner för att skapa konton i MV-login

Användarhandbok Ver

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

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog.

Användarmanual för Hemsida

Lathund till VFU-portalen

Thomas Pihl Frontermanual för studerande vid Forum Ystad

Guide för räddningstjänsternas kontaktpersoner

E-posthantering med Novell Groupwise WebAccess

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

Användarhandledning. Man trycker på Visa certifikat

Manual Skogsappen - Hemkomstkontroll

Installera din WordPress med 9 enkla steg

ALEPH ver. 16 Introduktion

Administrationsmanual ImageBank 2

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 16

Google Apps For Education

Lathund till e-listor för cirkelledare ABF Malmö

Boka mobilt med WAP! Så fungerar dagsvyn 7 Så fungerar bokningssidan 8 Så fungerar informationssidan 11

Berth Arbman. Välkommen till bokningssystemet myweblog!

Grundläggande funktioner i CMS ifrån Argonova Systems, 2011.

En guide till. Skövde Kontorscenters Webbutik.

Innehåll Nyheter TimeEdit... 2 Skicka e-post vid avbokning... 2 Ange Egen text samt Extern person på många bokningar i bokningslistan...

Artiklar via UB:s sö ktja nst

Omsorgen Användarhandledning

FÖRETAGS AVTALSHANTERING INSTRUKTIONSMANUAL

Avancerade Webbteknologier

Manual. Logga in. OBS! Kontrollera så att korrekt epostadress finns ifyllt. Ändra inga andra uppgifter!

Snabbguide för E-lomake

Klassens aktivitet. Inställningar

Lathund för webbshop

Webbprogrammering - 725G54 PHP. Foreläsning II

SE/Rapport_tillganglig_webb_2004_14.pdf 2 webzone.k3.mah.se/k99ac3hl/helenalackmagisterkogniton2003.

Cactus Informationssystem - CIS. Revision 1.1

Kort om World Wide Web (webben)

UTV5 Lathund för lärare ( )

FUB och Klippan - Vårt webbverktyg I din webbläsare, skriv in eller klicka på Logga in längst ner på startsidan.

Transkript:

Twisted Scissors Ett projekt i kursen tnm047 2006/2007 Björn Gustafsson bjogu419@student.liu.se Mats Wedell matwe812@student.liu.se

Innehållsförteckning Innehållsförteckning...2 Inledning...3 Bakgrund...3 Syfte...3 Metod...3 Information om rapporten...3 Systembeskrivning...4 Användningsområde...4 Funktioner...4 Köranvisningar...4 Analys...5 Fördelar/Nackdelar...5 Begränsningar...5 Varför hemsida och wml?...5 Problem...6 Avklarade moment...7 Obligatoriska moment...7 Input via html-formulär via php-sidor...7 Ändring av inlagd data...7 Lagring i databas...7 Export till XML...7 Stylesheets för generering av presentationsdata för minst två olika ut-enheter...7 Utvidgningar...7 Behörighetskontroll för att skapa/ändra...7 Funktionalitet för att administrera användare...7 Sökfunktioner...7 Krockhantering...7 Skärmdumpar...8 Referenser...11

Inledning Bakgrund Detta är ett projekt i kursen dokumentstrukturer, TNM047, där uppgiften var att utveckla en XML-baserad internettjänst för flerkanalspublicering. En självklar publiceringskanal är en webbsida och i detta fall har även en mobilanpassad lösning utvecklats. Syfte Syftet med projektet är att få kunskap om och erfarenhet av att arbeta med dokumenstrukturstandarden XML, och även exportera till några olika publiceringskanaler. Metod En stor del av kunskapen har erhållits från kursens obligatoriska laborationer och föreläsningar. Allra största kunskapskällan är dock Internet, där det är relativt enkelt att hitta den information man söker, i synnerhet vid felsökning. Information om rapporten Rapporten är uppdelad i tre huvuddelar. Första delen innehåller beskrivning av själva systemet, med användningsområde, funktioner, tekniska lösningar, köranvisningar och några skärmdumpar. Den andra delen innehåller lite analys och reflektioner. Den sista delen är mest för examinatorns skull för att påvisa vad som gjorts för enklare betygssättning.

Systembeskrivning Användningsområde Det är förvånansvärt få frisersalonger som erbjuder möjligheten att boka tid via Internet. Med tanke på att de flesta i dagens samhälle, ung som gammal, har tillgång till dator och Internet samt att många gärna i lugn och ro vill kunna boka den tid som verkligen passar, så är det förvånande att inte fler kommit på den här idén. Att kunna gå in på sidan och boka en tid med en viss frisör, även om man inte memorerat namnet, är också något som tilltalar många. Även om detta system är utvecklat och anpassat för just en frisersalong är det inte särskilt svårt (även om det säkerligen kräver en hel del justeringar) att använda grundstommen av systemet till andra liknande affärsidéer, typ massage och fotografering. Man kan även tänka sig att man istället för att välja vilken frisör man vill gå till får välja ett objekt, exempelvis vid uthyrning av kanoter så kan man se vilka kanoter som är lediga. Funktioner Först och främst finns en login-funktion (figur 2), och om man inte har ett konto kan man skapa det via ett formulär där man registrerar sig som ny användare. När man är inloggad kan man genom ett klicka på Mina bokningar i inloggningsrutan, se sina framtida bokningar och på detta sätt få en överblick över sina bokningar. Väldigt användbart om man vill avboka en tid eller glömt vilken tid man bokat. Det finns en funktion som heter snabbsökningar (figur 4). Med denna funktion kan man söka en tid som är så tidigt som möjligt om man vill klippa sig så fort som möjligt. Man kan även välja sökalternativet senast idag, om man exempelvis slutar jobbet sent och därför vill ha den sista lediga tiden. Det mest användbara på hemsidan är kalendern (figur 3). Dagens datum är markerat i fet stil och om en dag är full, dvs. att det inte finns någon ledig tid med den valda frisören så är den dagen rödmarkerad. När man sedan gör en bokning så kommer ett pop-up fönster upp (figur 1). Här väljs vilken typ av behandling som görs, t.ex. herrklippning, damklippning eller permanent. Beroende på vilken typ av behandling man väljer så tar behandlingen olika lång tid. Exempelvis tar en herrklippning bara 30 minuter medan en permanent tar 90 minuter. Detta syns även i schemat efter att bokningen är gjord. Om man väljer sista tiden på dagen så finns det ju bara 30 minuter kvar på dagen och således så går det bara att välja behandlingar som tar 30 minuter. Köranvisningar Även om det mesta på hemsidan är intuitivt följer ändå lite köranvisningar här. För att fullt ut kunna använda hemsidans funktioner så krävs det att man loggar in. Om man inte är inloggad kan man dock se vilka tider som är lediga och vilka som är bokade.

Men om man är inloggad kan man dessutom boka tider, dels utgående från kalandern, och dels från sökresultatet från en gjord snabbsökning. Man kan även avboka sina egna tider, och om man är administratör så kan man avboka vilken tid som helst. När man sedan har loggat in så finns en knapp som heter mina bokningar där man kan se alla sina bokningar man gjort och även avboka dem om det skulle önskas. Analys Fördelar/Nackdelar Här kommer lite personliga reflektioner om fördelar och nackdelar med att bygga upp ett publiceringssystem på det här sättet. I första början var det lite krångligt att förstå tänket, särskilt eftersom vi skulle utveckla en relativt dynamisk hemsida. Först skriva php-kod som genererar XML-kod beroende på vart någonstans man befinner sig på sidan, och sedan utifrån XML generera HMTL eller WML genom ett XSLT-dokument. Om man har en statisk XML-struktur kan man enkelt förstå hur det går till, men allt eftersom så insåg att vi att vi måste infoga mer och mer information i XML-strukturen. Efter ett tag när vi väl fått grepp om detta så fungerade det dock smidigt. Att kunna generera all information från php-kod till XML och utifrån detta kunna konvertera till valfri kanal är givetvis väldigt smidigt. En stor fördel med att använda sig av XML, istället för att direkt generera exempelvis HTML-kod är att man har mycket större möjlighet att i efterhand exportera till fler kanaler utan att behöva ändra (särskilt mycket) i strukturen. Man kan exempelvis tänka sig att man vill generera en utskriftsvänlig sida med hela veckans bokningar. Begränsningar Vår WML-version av hemsidan (figur 5, 6) är såklart mycket enklare än originalet. På grund av den mindre visningsytan på en mobiltelefon så har vi uteslutit vissa funktioner, t.ex. sökfunktionen och de pop-up fönster där information kan läsas som innehåller mina bokningar eller val av behandling. Det är dock inte bara att skärmen är mindre som gör att WML-delen blir begränsad. Det största problemet var att WML som programmeringsspråk var alldeles för klent, de funktioner som ofta eftersträvades som finns i HTML eller PHP, saknades i WML. Detta leder oss in på log-in funktionen som vi blev tvungna att utesluta på WMLdelen då WML inte kan hantera sessions. Vi ville dock att man skulle kunna boka en klipptid från en mobiltelefon, det var ett stort mål innan vi började med projektet. Detta löstes dock genom att bara ha en kontroll i samband med att man genomför en bokning då man skriver i användarnamn och lösenord, detta kontrolleras sedan mot databasen när man klickar på knappen boka. Gruppen är medveten om att man kan efterlikna sessioner i WML men ansåg inte detta nödvändigt. Varför hemsida och wml? Varför vi har en hemsida är inte svårt att förstå med tanke på att det är detta medium som gemene man (och faktiskt kvinna) i dagens samhälle blivit van vid. Det är ett

enkelt sätt att publicera information och det är relativt enkelt att få hemsidor att se bra ut oberoende vilken dator eller webbläsare man använder, även om det även här kan uppstå lite problem med olika standarder. En WML-sida ser vi som ett nödvändigt komplement till ett system som detta. I dagens mobila samhälle är man ofta ute på resande fot och det är inte säkert att man har tillgång till dator hela tiden. Med dagens moderna mobiltelefoner har man dock möjlighet att nå webben via WAP och WML. Som det ser ut idag ser vi ingen anledning att använda sig av ytterligare en publiceringskanal, men det är inte omöjligt att ordna. Problem Under projektet uppkom givetvis en hel del problem. De flesta gick att lösa men annars så uteslöt vi tekniken om vi inte kunde få det att fungera. Olika wap-emulatorer gav olika resultat. Exempelvis så var utseendet på WML-delen annorlunda i Opera än på en emulator, dessutom kunde det även skilja sig från emulator till emulator. Vi bestämde oss till slut att använda emulatorn från TagTag och få hemsidan att fungera med den. Ett annat ofta återkommande problem var användandet av formulär och funktionerna GET och POST. T.ex. så kunde det hända att när man skickade iväg ett formulär så loggades användaren samtidigt ut, på grund av krock med funktionerna. Dessa problem återkom även senare när vi arbetade med WML och dess POST och GET funktioner. Problemen löste sig till slut efter en del testande. Teckenkodningen av våra svenska bokstäver å ä ö fungerade ibland och ibland inte. På grund av att man kan ställa in teckenkodningen på flera olika ställen, t.ex. i databasen, i xml-dokumentet och i xslt-dokumentet så fungerade ej teckenkodningen automatiskt, utan det krävdes lite analyserande innan det fungerade fullt ut för hela sidan. Vi testade att använda dynamisk omskalning av bilder på servern. Denna teknik var något övergav då den inte fungerade och det inte var något direkt krav för hemsidans funktion. I början försökte vi använda XML s version av formulär, nämligen XForms. Men då även de mest grundläggande formulären inte fungerade och vi sett på forumet i Blackboard att webbhotellet kanske inte stödde detta, så övergav vi denna teknik Vi använde sessions för att logga in på vår hemsida och när vi började skapa WML-delen så tänktes det att detta kan användas även för WML-delen. Detta var naivt att tro att WML kunde hantera något så avancerat som sessions, vilket vi upptäckte då vid navigering på hemsidan så loggades man ut hela tiden.

Avklarade moment Obligatoriska moment Input via html-formulär via php-sidor Det går att lägga in data (bokningar och nya användare) i databasen via PHP. Ändring av inlagd data I vårt system finns inte så stor anledning att gå in och verkligen ändra redan inlagd data, men vi menar ändå att vi klarat detta moment eftersom man kan logga in och ta bort sina bokningar och sedan boka en ny tid. Om vi hade sett en anledning att kunna gå in och modifiera sina bokningar så hade vi utvecklat en sådan funktion, men vi ser detta som onödigt. Lagring i databas Alla bokningar lagras i en SQL-databas Export till XML Check Stylesheets för generering av presentationsdata för minst två olika ut-enheter Två stylesheets, ett till HTML och ett till WML Utvidgningar Behörighetskontroll för att skapa/ändra Vi har, åtminstone på HTML-sidan, implementerat en möjlighet att logga in, antingen som vanlig användare eller som administratör. Om man är inloggad som användare kan man boka/avboka sina tider och om man är administratör kan man boka/avboka alla tider. Om man inte alls är inloggad kan man endast se vilka tider som är lediga. Inloggningen löstes med sessions. Detta medförde vissa svårigheter på WML-sidan, men vi löste det istället på ett annat sätt. Man kollar helt enkelt behörighet endast vid bokningstillfället och då fungerar det. Funktionalitet för att administrera användare Se funktioner Sökfunktioner Se funktioner Krockhantering Det är omöjligt att dubbelboka tider. I php-koden som skapar bokningen görs en koll: om det mot förmodan redan finns en bokning vid det tillfället får man endast ett felmeddelande och ingen bokning utförs.

Skärmdumpar Figur 1 Figur 2

Figur 3 Figur 4

Figur 5 Figur 6

Referenser PHP.net http://www.php.net W3C, http://www.w3.org