Inf 329 Kapittel 3 Hypertekstmodell

Like dokumenter
Modeller for design av Web-Applikasjoner

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Oppsummering. Thomas Lohne Aanes Thomas Amble

9 Hypertekstdesign. Kristen Vinje Naley Eirik Antonsen

INF120: Oblig 3. Yngve Mardal Moe

Brukermanual. PUS i Web. Mai 2009 (Versjon 1)

Kom i gang. Nå er det enklere en noensinne å redigere hjemmesiden din med Plone CMS. 17. mars 2010

Navigasjonssystemer. Information Architecture Peter Morville & Jorge Arango Kap

Objektorientert programmering i Python. Resten av semesteret. Innhold uke 9 Mer komplekse strukturer. Referanser og objekter, inkl Mentimeter spørsmål

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

DinVikar - Bruker Manual

UNIVERSITETET I OSLO

Manual for innlegging av standard sideinnhold og nyheter via «backend»

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN

UML 1. Use case drevet analyse og design Kirsten Ribu

Kort oppstartsmanual Frisk torsk

Merking (labeling) Information Architecture. Kap 6. Peter Morville & Louise Rosenfeld

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

CustomPublish.com. Sider. Introduksjon til sidehåndtering i CustomPublish

Innhold uke 9. Objektorientert programmering i Python. Om ukens pensum. Referanser og objekter Tema: Mer komplekse strukturer

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

PUBLISERING PÅ

Brukermanual TYPO3. (tillegg for FAQ og brukeradministrasjon, statistikk) Versjon Utarbeidet av: Erik Svendsen

Informasjonsorganisering. Information Architecture Peter Morville & Jorge Arango Kapittel 4, 5 & 6

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Brukermanual for nettpublisering. frivilligsentral.no

Øvingsforelesning 5 Python (TDT4110)

1. SQL datadefinisjon og manipulering

UB Intranett Brukerveiledning For WIKI/Confluence

Doserings DLL. E-resept dokumentasjon. Tekniske krav 0

GoOnline Site Search

INF1010 våren januar. Objektorientering i Java

SiteGen CMS. Innføringsmanual

Post-it spørsmål fra timen (Arv og subklasser)

Øvingsforelesning 5 Python (TDT4110)

Eksamen i Internetteknologi Fagkode: ITE1526

INF2810: Funksjonell Programmering

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

UNIVERSITETET I OSLO

Pipfrog AS Flere nettbutikker og språk

BRUKERMANUAL FOR NETTINTRO CMS Dette dokumentet er skrevet for Nettintro CMS versjon 1.9.0, og kan derfor avvike noe fra nåværende versjon.

Vedlikeholde nettstedet i Joomla 2.5 +

Databaser & objektorientering.

Hvordan lage en hjemmeside

Løse reelle problemer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

Web Computing AS Brukerveiledning WebWiz 2.0. WebWiz 2.0. Brukerveiledning. [Skriv inn tekst]

UiNs Kvalitetshåndbok - hurtigguide

E-post: Tel.: Hurtigkurs for nybegynnere

Konfigurasjon av SFX-menyen

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

TEKNISK VEILEDNING TIL NTREPRISEAPPEN

Vortex 3.0 hva er nytt? Nytt administrasjonsgrensesnitt Nye rapporter Andre forbedringer

Kap3: Klassemodellering

IN1010 våren januar. Objektorientering i Java

Data design p.1/17. Data design. Lage ER modell av kravspesifikasjoner.

Funksjonalitetsbeskrivelse scenefolk.no

Analyse av Web- medier, Lenker. Oppgaven jeg her skal presentere har tatt utgangspunkter et gruppearbeid vi fikk utlevert. Dette lyder som følgende :

Brukermanual. Trio Visit Web. Trio Enterprise 5.0

Opprette dokumentbibliotek med unike rettigheter

EKSAMEN Web-publisering

INF1000 Prøveeksamen Oppgave 7 og 9

INF2810: Funksjonell Programmering. Trær og mengder

the web Introduksjon Lesson

INF Notater. Veronika Heimsbakk 10. juni 2012

Introduksjon til objektorientert programmering

Manual Squarespace. Gasta support. Squarespace support. 1.Innlogging nettside

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Brukermanual for lr.no

Guide til system for flervalgsprøver

6108 Programmering i Java. Leksjon 5. Tabeller. Roy M. Istad 2015

QuickGuide Oppdateres fortløpende ved nye funksjoner

AirDog Hovedprosjekt ved Høgskolen i Oslo 2009

Søkesystemer og thesauri

Slik lager du et web-område bestående av flere sammenhengende websider i. Frontpage Laget av Magnus Nohr Høgskolen i Østfold

DIFI VEILEDNING I BRUK AV AVANT WEBVERKTØY FOR MEDARBEIDERUNDERSØKELSER I STATLIG SEKTOR

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1

Innlogging. Innholdsfortegnelse

Fleet Management Portal (FMP)

Brukerdokumentasjon PIM Bohus

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Programmet er utviklet av

Transkript:

30. August 2004 Inf 329 Kapittel 3 Hypertekstmodell Arianna Kyriacou Eskil Saatvedt

Introduksjon Kapittel 3 omhandler WebML, (hypertext moduling language), som er basert på notasjon av enheter, sider og linker. Enheter beskriver innholdselementene som skal vises, sider indikerer hvordan enheter skal settes sammen og linker beskriver forbindelsen mellom enheter og/eller sider. Flere hypertekster, kalt nettsteds oversikt, kan defineres over samme innhold, og tilby flere forskjellige presentasjoner. Kapittelet tar for seg notasjonen og modellen bit for bit. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 2

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 3

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 4

Enheter / Units Enhetene er byggesteinene for en nettside. Enheter er betegnelsen WebML bruker for å spesifisere innholdet til en nettside. WebML spesifiserer hvor innholdet stammer fra eller hvordan det hentes. WebML har fem forskjellige typer enheter: Dataenheter Multidataenheter Indeksenheter Skrollbare enheter Inntastinsenheter For mer informasjon om notasjon og WebML grafisk syntaks se appendiks A og B i boka. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 5

Enheter WebML har to konsepter for å vise hvor innhol stammer fra Kilden er navnet på entiten som enhetens innhold hentes fra. Entiteten forteller hvilken type objekt som brukes for å generere enhetens innhold. En enhet kan assosieres med en eller flere entiteter. En velger (selector) er et predikat som brukes til å finne det eller de objektene og entitetene som brukes for å generere enhetens innhold. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 6

Enheters syntaks Entiteter er grafisk fremstil som et navngitt rektangel. Enhetens navn står inni rektangelet over ikonet. Ikonet sier noe om typen enhet. Kilden og velgeren settes under rektangelet. Data unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 7

Dataenheter Dataenheter publiserer et enkelt objekt fra en gikk kilde. Dataenheter karakteriseres ved: Navn: brukergitt navn på enheter Kilde: entiteten innholdet hentes fra Velger(valgfri): et predikat som identifiserer et unikt objekt, som blir vist av enheten. Inkluderte atributter: settet av atributter fra entiten som skal vises. DataUnit Navn(source Kilde; selector Velger; attributes InkluderteAtributter) DataUnit Artist(source Artist; selector FirstName= Celine, LastName= Dion ; attributes FirstName, LastName, Photo) Data unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 8

Artists Artists [FirstName= Celine ] [LastName= Dion ] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 9

Multidataenhet Multidataenheter presenterer flere objekter fra en entitet sammen ved å presentere flere dataenheter. Multidataenheter karakteriseres ved: Navn: Brukerdefinert navn Kilde: Entiteten innholdet hentes fra Velger (valgfri): Et predikat som identifiserer et unikt objekt, som blir vist av enheten. Atributter: Settet av atributter fra entiteten som skal vises. Rekkefølge(valgfri): Rekkefølgen som objektene skal vises i. MultidataUnit <MultidataUnitName> ( source <EntityName> ; [ selector <SelectorDef>] ; [attributes <Attrname>] ; [orderby <OrderByDef> ] ) Multidata unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 10

Eksempel på multidataenhet MultiArtist Artist 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 11

Indeksenhet Indeksenheter presenterer flere objekter som en liste Indeksenheter blir karakterisert ved: Navn: Brukerdefinert navn Kilde: Entiteten som innholdet hentes fra Velger (valgfri): Et predikat som identifiserer et unikt objekt, som blir vist av enheten. Atributter: Settet av atributter fra entiteten som skal vises. Rekkefølge (valgfri): Rekkefølgen objektene skal vises. Indeksenheter brukes typisk til å lage lister av linker. Det finnes tre typer indeksenheter: Indeksenhet Flervalgsindeksenhet Hierarkiskindeksenhet Index unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 12

Flervalgsenheter og Hierarkiske enheter HierarchicalIndex Multichoice Index Entity1 [Selector1] NEST Entity2 [Selector2] Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 13

Skrollbare enheter Skrollbare enheter gir mulighet til å gå igjennom objekter et (eller flere) av gangen. Skrollbare enheter blir karakterisert ved: Navn: Brukerdefinert navn Kilde: Entiteten innholdet hentes fra Velger(valgfri): Et predikat som identifiserer et unikt objekt, som blir vist av enheten. Blokkeringsfaktor (valgfri): Antallet objekter som skal skrolles av gangen, normalt en. Atributter: Settet av atributter fra entiteten som skal vises. Rekkefølge (valgfri): I hvilken rekkefølge objektene skal skrolles igjennom. Eksempel: visning av bilde nr 7 av 34. Scroller unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 14

Inntastingsenhet Inntastingsenheter er enheter som lar bruker skrive inn data, vi kjenner dette som html <forms> Inntastingsenheter blir karakterisert ved: Navn: brukerdefinert navn Felter: Et sett av felter for input verdier. Felter blir karakterisert ved: Navn: Brukerdefinert navn Type: Datatypen til feltet, integer, date, string etc Standardverdi (valgfri): Verdien som står i feltet ved første visning. Forandrbar: Om det er lov til å endre feltet. Korekthetspredikat: Bolsk verdi som forteller om verdien skal sjekkes eller ikke. Eksempler: Inntasting av brukernavn og passord ved innlogging. Entry unit 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 15

Sider Sider er en abstrakt versjon av den siden som blir sendt til bruker. Består av en eller flere enheter eller sider. Enhetene er fote gruppert sammen for å danne et fungerende grensesnitt. WebML er abstrakt og spesifiserer ikke hvordan siden ser ut eller hvordan objekter ligger i forhold til hverandre. Sider spesifiseres ved navn og hvilke undersider og enheter den inneholder. Page AlbumPage(units AlbumIndex, ArtistIndex) Page Index unit Entity [conditions] Data unit Entity [conditions] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 16

Linker Sider eksisterer ikke alene, vi lever i en nettverden med massevis av linkete sider som inneholder relaterte biter av innhold, dette krever at brukeren gies mulighet til å samspille med programmet som genererer sidene. For å utrykke dette samspillet, kan sider og enheter linkes, vi ønsker å spesifisere den tillatte navigasjonen mellom sider, de valg gitt bruker og effekten av de valg bruker gjør sammen med det innholdet som vises. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 17

Linker En link har følgende konsepter: Link: En rettet forbindelse mellom to enheter eller sider. Parameter: En spesifikasjon av en bit informasjon som linken transporterer med seg. Parametrisk velger: En enhetsvelger der predikatet inneholder en referanse til en link-parameter. Eksempler på hva som kan oppfattes som en link: En link som refererer fra en side til en annen side. En link som refererer fra et sted på en side til et annet sted på en side. En link som sender informasjon. Essensen av en link: De lar brukeren navigere ved å flytte fokus fra en kilde på en side til en destinasjon. Transport av informasjon fra en enhet til en annen. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 18

Linker Flere-side-link: En link som går fra en side til en annen. Intern-link: En link som går fra et sted på en side til en destinasjon på samme side. Kontekstuelle link: En link som transporterer informasjon. Ikke-kontekstuelle link: En link som ikke transporterer informasjon 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 19

Linker i WebML En link representeres som en rettet pil fra kilde til destinasjon. Notasjon: Link <LinkName> ( from <LinkSource> to <LinkDest> [ ; parameters <ParamDef>] [ ; type (automatic manual)] [ ; newwindow : (True False)] Params 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 20

Automatiske linker I tillegg til navigasjon kan linker bli brukt til å spesifisere en bestemt informasjonsstrøm mellom enheter, som skjer uten brukers innblanding. Automatiske linker vises med en rettet pil med en innbokset A på. Params A 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 21

Eksempel på automatisk link Albums AlbumIndex AlbumDetails Album Album Albums AlbumIndex AlbumDetails A Album Album 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 22

Transportlinker Transportlinker er linker som brukes til å sende informasjon fra en enhet til en annen, uten at de har et anker. De tegnes som en stiplete rettet pil. Params 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 23

Globale parametre Dette er parametere som er globale for hele nettstedet. Verdien til paramtereren er assosiert med brukerens session. Informasjonene sendes ikke fra enhet til enhet men kan nåes globalt på nettstedet. En global parameter inneholder: Navn: Brukerdefinert navn Type: Datatype Standardverdi (ikke påkrevd) Typisk eksempel på globale parameter er språk og innlogging. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 24

Set- og get-enhet Linker til set-enheten er normalt en Transportlink. En bruker set- og getenhet for å sette og hente globale linker. Set unit Parameter Get unit Parameter 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 25

Eksempel på setting av land Link CountryDataToSetCountry transport (from CountryData to SetCountry) Country CountryData SetCountry setunit SetCountry (parameter CurrentCountry) getunit getcountry (parameter CurrentCountry) Country Country GetCountry CurrentCountry CurrentCountry CountryData Country 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 26

Hypertekst Organisering Spesifikasjonen av store og komplekse hypertekster kan organiseres hierarkisk ved å bruke modulariseringskonstruksjoner. Eksempler på slike er oversikter(views) områder(areas) nøstede sider 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 27

Nettstedsoversikt (Site-Views) Er et sett med sider og/eller områder som utformer en enhetlig oversikt over nettstedet. Multible nettstedsoversikter kan utformes over samme datamodell. Forskjellige typer nettstedsoversikter kan publiseres for forskjellige typer brukere. En Nettstedsoversikt kan være public (tilgang for alle) eller private(krever brukernavn og passord for å få tilgang). Siteview 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 28

Hjemmesider, Landmerker og Områder Hjemmesiden er hovedsiden til et nettsted og må være unik innen nettstedsoversikten. Grafisk notasjon er en innbokset H. Det er normalt at hjemmesiden kan nåes fra hele nettstedet. Homepage H 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 29

Landmerker Et landmerke er en side som kan nåes fra alle sidene innen en nettstedsoversikt eller et superområde. Landmerke er globalt synlig innenfor nettstedsoversikten / området. Et landmerke tilsvarer en ikkekontekstuell link implisitt definert fra alle sider, og reduserer betydelig antallet av slike linker som må tegnes opp i skjemaet. Grafisk notasjon er en innbokset L. Landmark page 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 30 L

Områder Områder er et sett med logisk homogene sider. Områdene kan være nøstet slik at subområder kan defineres inni områdene. Hvert område bør ha en default side eller et default område. En default side må være unik innen et område. Grafisk notasjon en inbokset D. Company siteview Area Customer information area Contact us D Support L 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 31

Eksempel Company siteview CustomerInformation area L Area CorporateNews area Area Home H L L 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 32

Nøstede sider Nøstede sider er en hierarkisk struktur av sidene. Ved å dele dem inn i sub-sider. Vi har to typer: Conjunktive sider: AND-sub-sider, vises samtidig på supersiden. Disjunktive sider: OR-sub-sider, erstatter hverandre (kun en vises av gangen) 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 33

Mønstre for innholds publisering Organiseringen av nettsider følger ofte typiske mønstre som dukker opp i mange sammenhenger og på mange sider. Boken nevner noen: Fordypende indeks: Fra en indeks til en underindeks. Eks bøker-kapitlerunderkapitler Filtrert indeks: Et søk gir flere svar, hvorav et følges opp. Filtrert skrollet indeks: et søk gir mange svar som vises side for side. Typisk for søkemotorer. Gaidete turer: En forhåndsoppsatt rekkefølge å se på sidene. Indekserte gaidete turer: En forhåndsoppsatt rekkefølge på hvordan man skal se sidene med mulighet til å forflytte seg i indeks. Objektvisninger. En rekke av flere linkete dataenheter hvor hver dataenhet gir en annen visning av objektet. Nøstet data. En hierarkisk indeks bestående av to entiteter, slik at hvert toppnivå er linket til andre nivå i en til en relasjoner. Hierarkisk indeks med alternerende subside. En hierarkisk indeks med linker som peker på forskjellige entiteter som vises i samme vindu. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 34

Fordypende indeks Fra en indeks til en annen over en bestemt entitet. Author Book [author2book] Book 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 35

Filtrert indeks Et søk gir en utlisting som svar. AlbumSearch Albums Album Serach conditions AlbumTitle PublYear AlbumINdex AlbumData Album [Title contains AlbumTitle] implied [Year = PublYear] implied Album 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 36

Samme som filtrert indeks bare søket gir så mange funn at de listes ut side for side. Typisk eksempel er søkemotorer. Filtrert skrollet indeks 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 37

Gaidet tur /Guided tours En gaidet tur er en forhåndsbestemt sekvens av sider. Settes opp ved bruk av automatiske linker. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 38

Indeksert gaidet tur En indeksert gaidet tur er en gaidet tur som støtter forflytning i sekvensen. Artist ArtistDetails Albums AlbumScroller AlbumData A Artist Album [ArtistToAlbum] Album 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 39

Objektvisning Objektvisning er å vise et objekt på forskjellige måter. Typisk eksempel er et vindu som viser essensiell informasjon og et vindu som viser utdypende informasjon. 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 40

Nøstet data En hierarkisk indeks bestående av to entiteter, slik at elementet på toppnivå er linket til andre nivå i en til en eller mange til mange relasjoner. Albums AlbumIndex Album NEST Artist [AlbumToArtist] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 41

Hierarkisk indeks med alternerende subside En hierarkisk indeks med linker som peker på forskjellige entiteter som vises i samme vindu. I eksempelet bytter høyere vindu på å vise album og artistinformasjon Outermost Lefmost AlbumIndex Artist NEST Album [ArtistToAlbum] Art:Artist.OID Alb:Album.OID Rightmost Rightmost1 ArtistInfo Artist [OID=Art] Rightmost2 AlbumInfo Album [OID=Alb] 30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 42

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 43