6 Hypermediajärjestelmistä Lyhyt vilkaisu järjestelmätason hypermediaan. Hypermediasovellukseen liittyy aina kaksi näkökulmaa: lukijan ja laatijan näkökulma Hypertekstijärjestelmä (hypermediajärjestelmä) tarjoaa lukijalle ja laatijalle erilaiset näkymät ja työkalut Tyypillinen hypermediasovellusten (tekninen) jako on seuraava - integroidut sovellukset - alustaratkaisut, ts. yleiskäyttöiset "selain+dokumenttix" -sovellukset Esimerkki: Integroitu sovellus voi olla esim. Toolbookilla, Macromedia Directorilla tai Visual Basicilla toteutettu infokioski Esimerkki: Tuttu "alustaratkaisu"; WWW-selain + hyperdokumentti (selain tarjoaa käyttäjälle peruspalveluja, joista tärkein on ajonaikainen "takaisin"-toiminto) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 141
Pelkistetyn hypertekstijärjestelmän rakenne (selainpohj.) Kolme arkkitehtuurin perustasoa on helposti tunnistettavissa: esitys akdj kasdklj aslk askdl aslkdlk akdj kasdklj aslk askdl aslkdlk erityyppiset solmut dokumentit ja mediaelementit, ikkunointi, linkkien esittäminen, navigointi, hakupyynnöt, haut & navigointi aineiston välittäminen asiakkaalle hyperdokumenttien looginen rakenne ja käsitteistö (=merkattujen graafien käsitteet) varastointi tietokanta tai tiedostojärjestelmä 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 142
Hypertekstijärjestelmien analysoiminen & vertailu Pelkistetyn hypertekstijärjestelmän rakennetta voi kuvata esim. HAMabstraktion ([Hypertext Abstract Machine]) avulla (v. 1988) - esitystapakerros ([presentation level]) - abstrakti hypertekstikerros ([HAM level]) (graph, context, nodes, links, attributes) - tietokantakerros ([database level]) User Interface Application Tools Hypertext Abstract Machine Host File System or Storage Mechanism 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 143
Hypertekstijärjestelmän osat voidaan myös "standardoida", ts. määritellä yleinen malli (referenssikuvaus), jonka kautta analysoida ja vertailla eri (todellisia) hypertekstijärjestelmiä Kenties merkittävin tällainen kuvaus on Dexter Reference Model (v. 1990) - esitystapataso ([run-time layer]) - rakennetaso ([storage layer]) - komponenttitaso ([within-component layer]) Dexterin pääpaino on rakennetason kuvailulla (hypertekstimäinen tieto) Dexter kuvaa myös - yhteydet eri tasojen välillä ([presentation specifications] & [anchoring]) - eri kerrosten peruskäsitteet (komponentit: atomit, linkit & koosteet, ) - eri tasojen funktiot ja operaatiot Dexterille ominaisia piirteitä: - hypertekstiä lukee yhtä aikaa monta käyttäjää (kullakin oma sessio) ja käyttäjät voivat tehdä hypertekstiin muutoksia 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 144
- hypertekstin "reaaliaikainen" muokkaaminen & päivittäminen on mahdollista (transaktiot tietokantojen tapaan) - jokaisella solmulla ja linkillä on oma yksikäsitteinen tunnisteensa - linkit ovat aina valideja (linkit ovat omia "konkreettisia" objektejaan) ja linkit voivat olla aidosti monensuuntaisia - hypertekstin kaikki solmut ovat aina reaalisesti saatavilla saantifunktion avulla - koko hypertekstistä voidaan etsiä solmuja hakufunktion avulla 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 145
Dexterin painotus: rakennetaso (Storage Layer) " Storage layer models a database that is composed of a hierarchy of data-containing components which are interconnected by relational links. Components have unique identifiers and links can be identified by a set of two or more component identifiers. Components correspond to the general notion of nodes and can contain text, graphics, images, audio, video etc. The components are treated as generic containers of data and the model does not specify any structure within the containers. Thus, the storage layer does not differentiate between text components and graphics components. It focuses mainly on the mechanism by which components and links are tied together to form hypertext networks." (Balasubramanian) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 146
Dexter-malli on suunniteltu lähinnä hypertekstijärjestelmän suunnittelijan näkökulmasta. Referenssimallin idea on, että - erilaisten hypertekstijärjestelmien vertailu ja analysoiminen helpottuu (esim. etsimällä yleisestä mallista "pienin yhteinen tekijä") - standardointi tiedonsiirto eri hypertekstijärjestelmien välillä helpottuu - samalla oikeastaan myös täsmällisesti määritellään "mitä hypertekstillä tarkoitetaan" 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 147
Sisällöntuottajan näkökulmasta Dexter-malli ei nykyään ole kovinkaan ajankohtainen, standardien kehittäjät mallia kuitenkin käyttävät - multimedian huomioonottaminen: Dexter Amsterdam Hypermedia Model (AHM) - standardointi, tiedon abstrahointi & SGML Hypermedia / Time-based Structuring Language (HyTime) XLink(!) Soveltajan näkökulmasta referenssijärjestelmiä mielenkiintoisempia ovat yleensä kuitenkin konkreettiset hyperteksti- ja hypermediajärjestelmät esim. - multimedian tekeminen Multimedia ToolBook-ohjelmalla - multimediaohjelmointi Visual Basic -ohjelmointityökalulla - hypermedian tekeminen Macromedia Director-ohjelmistolla - HyTime SGML-standardin käyttäminen sisällöntuotannossa ja työhön liittyvät työkalut, - XML-standardiperhe ja ko. standardeihin liittyvät työkalut sekä - WWW:n HTML-standardi ja tähän liittyvät muut spesifikaatiot ja työkalut. 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 148
Käytännössä hypertekstiä ja -mediaa voidaan siis toteuttaa "miten tahansa", Dexteristä yms. hypertekstimalleista piittaamatta - kuitenkin esim. WWW hypertekstijärjestelmänä voidaan aika luontevasti jäsentää HAM-mallin avulla Dexter-tyyppiseen standardointi- & kerrosajatteluun päätyy kuitenkin myös "omassa työssä helposti", lähinnä taloudellisista ja tehokkuussyistä johtuen Standardoinnin tyypillinen tavoite on kuvattavan järjestelmän eri tasojen erottaminen käsitteellisesti toisistaan, tasojen yhdistäminen toisiinsa standardoitujen primitiivien avulla ja tasojen toteutuksen kapselointi, vrt. HAM: User Interface Application Tools Hypertext Abstract Machine Host File System or Storage Mechanism 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 149
Hypertekstin käsitteelliset tasot Hypertekstin tarkasteleminen johtaa väistämättä tiedon ja kielen ominaisuuksien (omituisuuksien?) tarkasteluun Hypertekstin laatimisessa, käytössä ja opiskelussa voidaan erottaa kolme (kielenkäytön) käsitteellisesti erilaista osa-aluetta: - syntaksi - semantiikka - pragmatiikka Semantiikka vastaa sisältöjä, joita halutaan esittää ja käsitellä (tietosisältö), syntaksi tarjoaa keinon tehdä asiat käytännössä (rakenne) ja lopulta pragmatiikka osoittaa, miksi asioita tehdään (käyttö) Esimerkki: HTML-sivu noudattaa HTML-syntaksia, jolla on HTML:n & selainten toteuttama (sovittu) semantiikka. Se, miksi sivu on tehty ja mitä sillä ajetaan takaa, riippuu laatijan ja käyttäjän näkökulmista ja työlle asetetuista tavoitteista Edellä esitetty "formaalinen" kolmijako nousee tärkeään rooliin yleensä vasta siinä vaiheessa, kun erottelu osataan (läh. "teknisesti") tehdä 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 150
Laatijan näkökulma: käytännön WWW Muutamia huomioita WWW-soveltajan käytännön työskentelystä. Tiedon rakenteistaminen helpottaa WWW-sivuston ylläpitoa. Esimerkkejä rakenteistamiseta: tietokanta+php XML+XSL-muunnokset HTML+CSS Tarkka etukäteissuunnittelu vähentää muutosten tarvetta: opettele ensin suunnittelemaan, sitten vastaa koodaamaan. Hyvän, ylläpitoa tukevan sovelluksen käytön opetteleminen ja sen mahdollisuuksien ymmärtäminen tukee sekä sivuston ylläpitoa että rakenteisuuden ymmärtämistä Macromedian Dreamweaver on varteenotettava vaihtoehto WWW:n ja HTML:n perusteet hallitsevalle soveltajalle 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 151
HTML-editorit HTML:n näkökulmasta editorit voidaan jakaa neljään kategoriaan: Tavalliset tekstieditorit: eivät tunnista HTML-merkkausta Notepad, Wordpad Erityisesti HTML-merkkauksen kirjoittamiseen tarkoitetut editorit merkkauksen korostus pikavalintoja erilaisten elementtirakenteiden lisäämiseen elementtien ja attribuuttien nimien ehdottaminen/täydentäminen HTML-Kit, ks. http://www.chami.com/html-kit/ PHPEdit, ks. http://www.phpedit.com/ 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 152
WYSIWYG-editorit (What You See Is What You Get) 6 Hypermediajärjestelmistä Käyttö vastaa normaalia tekstinkäsittelyohjelmaa; HTML-merkkauksen sijaan käyttäjä näkee suoraan lopputuloksen ulkoasun Helpottaa alkuvaiheessa sivujen tekemistä mutta kuvailevan merkkauksen tuottaminen on hankalaa tai mahdotonta Netscape Composer, MS Frontpage Express Tarkoitettu yksittäisten dokumenttien editointiin Sivuston hallintaan tarkoitetut työvälineet Laaja skaala ominaisuuksia WYSIWYG-editorista FTP-asiakasohjelmaan Macromedia Dreamweaver, ks. http://www.macromedia.com/ Poimintoja Dreamweaverin ominaisuuksista: Sivupohjat, kirjastoalkiot, valmiit merkkaus- ja koodikirjastot (HTML, JavaScript), ohjeet, esimerkit, linkkien ylläpito, jne. 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 153
Tiedostoista (do's and don ts) Ryhmittele HTML-dokumentit tiedostonimien alkuliitteillä, esim. keittokirja-alkuruoka-salaatti.html (tai kk-ar-salaatti.html) Dokumentit voi ryhmitellä myös hakemistojen avulla Dokumentit voidaan versioida liittämällä tiedostonimen perään päivämäärä, esim. index.html index-2003-10-07.html Tiedostonimissä ei kannata käyttää ääkkösiä, välilyöntejä tai muita erikoismerkkejä kannattaa pitäytyä aakkosissa, numeroissa sekä ala- ja väliviivassa Käytä kuvaavia tiedostonimiä, esim. dokumentin otsikkoa (em. rajoituksin) UNIX- ja LINUX-palvelimet erottelevat suuret ja pienet kirjaimet toisistaan SSH saattaa muuttaa siirron yhteydessä tiedostonimien kirjainten kokoa 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 154