5 1* {3 Mikä on AmigaGuide? {3 ------------------- Sami Klemola Mikä se on tämä AmigaGuide, josta jokaisessa Sakussa höpistään, mutta jonka sa- loja ei ole kukaan paljastanut? Nyt se selviää. Tutustumme myös aiheeseen liit- tyviin ohjelmiin, ja artikkelin lopussa esitän yhden AG-sovelluksen. Postissa on useampaan kertaan kyselty Sakujen yhdistämismahdollisuuksista, mutta aina sen on kerrottu olevan mahdotonta. Disketti-Sakun osalta näin onkin, mutta AmigaGuide- versioilla se onnistuu! {3Hypermedia ja multimedia {3------------------------ Asiaa laajemmin käsiteltäessä törmätään käsitteeseen hypermedia. Sana hyper (la- tinaksi super) on kreikkaa, ja se tarkoittaa yli. Kun multimediaan liitetään as- sosiatiivinen tiedonhallinta, saadaan hypermediaa. Multimedia siis kuuluu hyper- mediaan. Multimedia koostuu staattisesta tiedosta (teksti) ja dynaamisesta tie- dosta (ääni ja kuva). Käsitteet hypermedia ja hyperteksti otti käyttöön jo 1960-luvulla Ted Nelson, joka on 30 vuoden ajan työstänyt yleismaailmallista hy- pertekstijärjestelmäänsä eli Xanadu-projektia. Hypermedian perusta on hypertekstirakenteeseen sovitettu multimediatieto. Multi- media yhdistää informaation kokonaisvaltaiseksi kokonaisuudeksi. Hypermedian sisältämä tieto on koottu solmukohtiin, nodeihin, joiden välillä havainnoija voi liikkua käyttäen linkkejä, jotka sitovat ne kokonaisuudeksi. Perinteiset tiedon- tallennusmuodot, kuten kirjat, tuottavat jatkuvan lineaarisen informaatiovirran, kun taas hypermedian tieto on modularisoitua. Tieto on ennen kirjoittamistaan epälineaarisessa muodossa. Kirjoitettaessa siitä tulee lineaarista tietoa. Lukija lukiessaan delinearisoi tiedon ja käsittelee sen omalla tavallaan. Hyperteksti ei ole lineaarista tietoa, vaan lukijalla on dynaaminen kontrolli. Hän voi vastaanottaa informaatiota vapaasti, eikä hän ole sidottu siihen tiedon esittämisen järjestykseen, jonka kirjoittaja on hänen puo- lestaan valmiiksi päättänyt. {3AmigaGuide-hyperteksti {3---------------------- Peter Brown kehitti alunperin UNIX-ympäristöön Guide-hypertekstiohjelman Kentin yliopistossa. Nykyään se toimii PC- ja MacIntosh-ympäristöissä. AmigaGuide on Amigalle kehitetty hypertekstiformaatti. Se mahdollistaa linkit toiseen kohtaan tekstiä sekä kuvan ja äänen liittämisen tekstiin. Linkki tarkoittaa sanaa, jonka kohdalla painettaessa hiiren nappulaa hypätään tekstissä kohtaan, jossa käsi- tellään asiaa lisää. Linkki voi osoittaa myös suoraan kuva- tai äänitiedostoon, joka näytetään tai soitetaan nappulaa painettaessa. Hypertekstin idea on, ettei tekstiä tarvitse lukea siinä järjestyksessä, jossa se on olemassa, vaan siitä voi poimia itseään kiinnostavia asioita ja siirtyä tekstissä eteenpäin haluamaansa suuntaan. Kehittyneemmät hypertekstiformaatit sallivat myös nk. inline-kuvat eli tekstin seassa olevan grafiikan. AmigaGuide ei kuitenkaan mahdollista tätä. Hyperteksti mahdollistaa myös helposti toteutettavan sanaston tai hakemiston. Tekstiä lukiessa saattaa kohdata termin, jota ei tunne. Tällöin sitä kohtaa pai- namalla voi ehkä saada siitä lisää tietoa, kun taas termin tarkoituksen tietävä lukija voi lukea eteenpäin, eikä hänen tarvitse häiritä itseään hänelle jo selvällä tiedolla. Eräs yleisimmistä hypertekstiformaateista on HTML. Sen vaatimat lukuohjelmat ovat kuitenkin toistaiseksi varsin massiivisia. Asiaan on kuitenkin tulossa muu- tos Amphibia-projektin myötä. Nyt Sakun hypertekstiversioista suosituin on AG- lehti, mutta Internetissä laajassa käytössä oleva HTML tekee tuloaan myös jokai- sen amigistin kotiin, ja toivon mukaan pian HTML on Sakun ainoa hypertekstimuo- to. Useimpien Amigan ohjelmien ohjeet toimitetaan guide-muodossa. Guide-muotoisia tekstejä tavataan sanoa AmigaGuide-dokumenteiksi. Dokumentti tulee englannin kielen sanasta document, joka tarkoittaa asiakirjaa. Tästä voi kuitenkin tulla väärinkäsityksiä, koska suomen kielessähän dokumentti jo tarkoittaa muutakin. Jatkossa tarkoitan dokumentilla ja guide-tiedostolla samaa asiaa. {3AmigaGuide vai MultiView? {3------------------------- Guide-muodossa olevia tekstejä voi lukea useillakin ohjelmilla. Ensisijainen näistä on vanhemmilla käyttöjärjestelmillä AmigaGuide. Se täytyy kuitenkin hank- kia erikseen, ja sillä voi lukea vain guide-tiedostoja. Jos olet niin onnelli- sessa asemassa, että sinulla on koneessasi OS2.04 tai uudempi, voit käyttää pa- rempaa MultiView-ohjelmaa. Kaiken lisäksi MultiView tulee vieläpä käyttöjärjes- telmän mukana julkaisusta 3.0 alkaen ja sijaitsee SYS:Utilities-hakemistossa. Sinun kannattaa käyttää MultiViewiä, jos se on mahdollista. Myös PC:lle löytyy guide-tiedostoja näyttävä Bag-ohjelma. MultiView osaa datatyyppejä hyödyntävänä ohjelmana näyttää myös muita kuin gui- de-muotoisia tiedostoja. Se osaa näyttää puhdasta ASCII-tekstiä sekä IFF-määrit- telyyn kuuluvaa FTXT-tekstiä. FTXT on tekstin tallennustapana hyvin harvinainen, vaikka siitä olikin aikoinaan tarkoitus tulla suosituin muoto. MultiView osaa näyttää myös kuvia, ja se osaa avata oman ruudunkin. Molemmat ohjelmat tarvitsevat lisäksi SYS:Libs-hakemistoon amigaguide.libraryn. Tämän kirjaston rutiinit tekevät varsinaiset guide-käsittelyt, eikä itse pääoh- jelman tarvitse näin olla kovin monimutkainen rakenteeltaan. Mukana tulee myös ohjelmointitietoutta, ja kirjastoa voi hyödyntää suoraan omissa ohjelmissaankin. {3AmigaGuide-dokumentin rakenne {3----------------------------- Guide-tiedoston rakenne on yksinkertainen. Se on tekstieditorilla valmiiksi asti tehtävissä, koska se koostuu täysin ASCII-tekstistä ja selväkielisistä määritte- lyistä. Määrittelyillä muotoillaan teksti, tehdään siihen tehostuksia ja ohja- taan lukuohjelman toimintaa. Määrittelyt alkavat aina @-merkillä. Niiden vaiku- tuksen voi poistaa laittamalla kenoviivan ennen kissanhäntää. Teksti on jaettu solmuihin. Lukuohjelma näyttää aina yhden solmun kerrallaan. Esimerkiksi AG-lehdessä tämän artikkelin jokainen luku on yksi solmu. Linkit viittaavat aina tiettyyn solmuun, ja kun lukija painaa nappulaa linkin kohdalla, ohjelma siirtyy siihen solmuun, johon linkki viittaa. Jokainen dokumentti alkaa @database-määrittelyllä, jolla määritellään dokumentin nimi. Alussa on usein muitakin määrittelyjä, joilla ilmoitetaan dokumentin copy- rightit, tekijä ja muut mielenkiintoiset tiedot: Määrittely Tarkoitus @database dokumentin nimi @author dokumentin kirjoittaja @$VER: dokumentin versio ( ) @(c) tekijänoikeuden haltija @remark huomautus, joka ei näy lukijalle @index määrittää indeksisolmun @help määrittää apusolmun @wordwrap laittaa rivityksen päälle Taulukko 1. Dokumentin alussa käytetyt määrittelyt. Nämä määrittelyt ovat yleensä dokumentin alussa, mutta esimerkiksi @remarkin avulla voi laittaa kommentteja ympäri tiedostoa. Index- ja help-määrittelyt määrittävät solmun, joka näytetään, kun lukija painaa Index- tai Help-nappulaa. Solmut määritellään näin: @node "otsikko" @endnode Nodeen osoitetaan laittamalla haluttuun linkkiin solmun nimi. Otsikko näytetään lukuohjelman ikkunan otsikkorivillä. Solmun teksti sijoitetaan @node- ja @endno- de-määrittelyjen väliin. Otsikon voi määrittää myös erikseen: @title "otsikko" Lukuohjelmassa on myös Contents-nappula, jolla saa sisällysluettelon. Normaalis- ti sisällysluettelon virkaa toimittaa pääsolmu. Se määritellään antamalla @no- de-määrittelylle lisäoptio main: @node main "otsikko" Sisällysluettelon saa myös vaihdettua. Contents-nappulasta voi määritellä tule- maan muunkin solmun: @toc Selailunappulat Browse eteen ja taakse näyttävät yleensä edellisen tai seuraavan solmun. Nämäkin voi kuitenkin määritellä haluamikseen: @prev @next Linkit tekstistä toiseen solmuun tehdään näin: @{ link []} Tässä teksti tulee nappulan sisään, jota painamalla hypätään määriteltyyn sol- muun. Solmun nimen jälkeen voi antaa rivinumeron, jolloin tekstiä näytetään ha- lutusta kohtaa. Jos sitä ei anneta, kuten yleensä, näytetään tekstiä solmun alusta. Tämä mahdollistaa esimerkiksi yhdessä solmussa olevan pikasanaston, jos- sa hypätään aina siihen kohtaan, jossa halutun sanan merkitys selitetään, eikä näin ollen tarvita omaa solmua jokaiselle sanalle. Linkkejä voi laittaa minne vain tekstin sekaan: Tällainen lause AmigaGuide-dokumentissa antaisi lisää tietoa @{"solmuista" link SolmuTietoa} painamalla nappulaa, jonka sisällä sana "solmuista" on. Tällöin lukuohjelma hyppää nodeen "SolmuTietoa", kun sanaa "solmuista" paine- taan. Määrittelyssä oleva "link" ei ole pakollinen. Guide-formaatti tukee myös muutamia tehokeinoja. Tekstiä voi lihavoida (@{b}), kursivoida (@{i}) ja alleviivata (@{u}). Nämä saa loppumaan vastaavalla määrit- telyllä, jossa on vielä u-kirjain alussa. Esimerkiksi lihavointi loppuu määrit- telyllä @{ub}. Myös tekstin väriä voi muuttaa. Sitä varten on määrittely @{fg }. Taustan väriä voi muuttaa vastaavalla määrittelyllä, mutta komento on bg. Määrittelyssä on yksi näistä: text normaali tekstiväri shine kolmiulotteinen valaistu reuna shadow kolmiulotteinen varjon puoli fill täyteväri (reunukset, pohjat) filltext tekstin väri täytevärin päällä background normaali taustaväri highlight korostettu teksti Taulukko 2. Värimäärittelyjen käyttämät värikoodit. Lukuohjelman voi myös ohjata käyttämään haluamaansa fonttia, mutta silloin kan- nattaa varmistua siitä, että se on saatavilla SYS:Fonts-hakemistossa. Fontti määritellään näin: @font On olemassa vielä muutamia muitakin määrittelyjä, mutta nämä ovat tärkeimmät. Mainitsemisen arvoinen on ehkäpä kuitenkin vielä @master, jolla dokumentin alus- sa kerrotaan alkuperäisen tiedoston nimi, josta guide-versio on tehty, silloin kun se on muodostettu ohjelmallisesti kokoamalla tai konvertoimalla. {3AmigaGuide-dokumentin tekeminen {3------------------------------- Työn voi tehdä käsinkin millä tahansa tekstieditorilla, mutta tekemisen apuna voi käyttää erityisiä guide-suunnittelijoita. Eräs tällainen ohjelma on Heddley. Sen avulla voi ylläpitää ja tehdä helposti suuriakin dokumentteja. Se luettelee dokumentissa olevat solmut, ja niiden ominaisuuksia ja sisältöä voi helposti muuttaa. Uuden dokumentin tekeminen kannattaa aloittaa pääsolmun ominaisuuksien asettami- sella painamalla Attrib-nappulaa. Otsikko on oikeastaan ainut, jota tässä kui- tenkin tarvitsee muuttaa. Tämän jälkeen solmun sisältöä voi editoida kaksoisnap- sauttamalla sen nimeä tai painamalla Edit-nappulaa. Ruudulle avautuu tyhjä ikku- na, johon solmun sisältö kehitellään. Valitse vasemmanpuoleisesta valikosta Edit. Nyt voit editoida dokumenttiin ha- luamasilaisen etusivun. Voit myös ladata valmiin tekstin Load-toiminnolla. Tämän jälkeen voit poistua solmueditorista painamalla ikkunan sulkunappulaa. Tee nyt dokumentin muut solmut lisäämällä niitä tarpeellinen määrä Add-nappulalla ja editoimalla ne samalla tavalla. Linkkien tekeminen kannattaa jättää viimeiseksi, ellei ole selvää kuvaa siitä, miten ne tulevat. Linkiksi voi tehdä minkä tahansa kohdan tekstistä. Kun olet solmueditorissa, merkitse hiirellä tekstistä se kohta, josta haluat linkkinappulan, ja valitse tämän jälkeen oikeanpuoleisesta valikosta Make into button. Tällöin sinulle avautuu Button Edit -ikkuna, jonka saat myös painamalla hiiren nappia solmuedi- torissa jonkin linkin kohdalla. Linkit näkyvät solmueditorissa käänteisenä teks- tinä. Linkkieditorissa näet tekstin, joka nappulan sisään tulee, ja voit valita nappu- lan ominaisuudet. Kyseessä voi olla normaali linkki, ulkoinen linkki, poistumis- nappula tai DOS-komento. Jos nappulaan määritellään komento, se suoritetaan, kun sitä painetaan. Kirjoita haluamasi komento Command-kohtaan. Jos kyseessä on linkki, kirjoita solmun nimi tai paina Document-nappulaa, jolloin voit valita solmun listasta, tai tiedoston, jos kyseessä on ulkoinen linkki. Solmueditorissa voi vielä tyhjentää solmun sisällön Document-valikon Clear-toi- minnolla sekä poistaa yksittäisen nappulan Buttons-valikon Delete-toiminnolla tai kaikki solmun nappulat Delete all buttons -toiminnolla. Indeksisolmun voi valita pääikkunan Index-nappulalla samaan tapaan kuin linkin solmun. Ominaisuu- sikkunassa (Attrib-nappulalla) voit määrittää vielä jokaiselle solmulle erikseen Contents-solmun sekä solmut, joihin Browse-nappulat siitä lukijan vievät. Tässä samalla asiaa selittäessäni olen tehnyt testiguidea, ja edetessäni työssä olen havainnut ohjelmassa muutamia huonoja puolia. Jostain syystä solmueditorin ikkunan sulkunappulaa joutuu joskus painamaan monta kertaa ennen kuin ikkuna sulkeutuu. Toinen huono puoli on se, että tekstieditorilla ei (välttämättä) voi jättää rivin loppuun välilyöntejä, jolloin nappuloista tulee rumia, kun kyseessä on hakemisto. Hakemistot on syytä tehdä AG-Sakun tapaan niin, että kaikki nappu- lat ovat saman mittaisia. Tällöin sivusta ei tule sellaista sekavaa vaikutelmaa kuin joidenkin ohjelmien ohjeista. Lisäksi nyt, kun dokumentti on valmis, olisi kätevää, jos sen saisi näkyviin nappulaa painamalla. Tällaista nappulaa ohjelmassa ei kuitenkaan ole, joten jou- dun käymään shellin puolella käynnistämässä käsin MultiViewin. Joka tapauksessa lukuunottamatta sitä, että hakemiston nappulat ovat rumia tynkiä, tuli dokumen- tista toimiva ja juuri sellainen kuin tarkoitinkin. Käytin sekä sisäistä että ulkoista linkkiä, ja kummatkin menivät oikein. Heddley on erittäin kätevä apuväline guide-dokumenttien teossa. Jossakin vai- heessa dokumenttia on ehkä kuitenkin syytä kaunistella käsin. Tehostekeinoja ei Heddleyn kanssa voi hyödyntää. Myös fontin määrittäminen ja värien käyttö jäävät haaveeksi. Raaka työ sillä kuitenkin sujuu näppärästi, ja dokumentin valmistumi- seen kuluva aika varmasti lyhenee Heddleyn avulla, kun lopuksi vain viimeistelee dokumentin käsin. {3Saku-lehdille yhteinen päävalikko {3--------------------------------- Tässä projektissa hyödynnämme guide-formaatin ulkoisen linkin mahdollisuutta. Asiaa selventää seuraava esimerkki, jossa meillä on oma guide-teksti ja siinä viittaus toiseen dokumenttiin: @{" PFS:n ominaisuudet " link prg:system/PFS/PFS.guide/Features} Kun tekstiä lukiessasi painat "PFS:n ominaisuudet" -nappulaa, hakee ohjelma (AmigaGuide tai MultiView, tämä toimii kummallakin) sinulle PFS.guidesta Featu- res-nimisen solmun! Sinun täytyy tietysti ensin muuttaa hakemistopolku vastaa- maan omaasi. Tätä ominaisuutta hyödyntämällä voimme tehdä kaivatun yhteisen valikkosysteemin Saku-lehdille. Ensiksi AmigaGuide-Sakut tulee purkaa samaan hakemistoon, kuiten- kin kukin omaan alihakemistoonsa. Itselläni alihakemistot ovat nimeltään AG-Sa- ku, jossa on lehden numero. Tämän jälkeen kannattaa tehdä looginen asema, joka osoittaa tähän hakemistoon, mutta se ei ole pakollista ja sen voi jättää tekemättä, jos lehdet ovat lähellä aseman juurta. Tämän jälkeen teemme "päähakemistoon", eli siihen hakemistoon, jossa ovat puret- tujen lehtien alihakemistot, oman Saku.guidemme, joka sisältää viittaukset jo- kaiseen purettuun lehteen. Tässä on esimerkki sellaisesta: @database "Sakut" @node main "Sakut" Saku-lehden päävalikko @{" Saku 10 1/95 " link Misc:AG-Saku10/Saku.guide/main} @{" Saku 11 2/95 " link Misc:AG-Saku11/Saku.guide/main} @{" Saku 12 3/95 " link Misc:AG-Saku12/Saku.guide/main} @{" Saku 13 4/95 " link Misc:AG-Saku13/Saku.guide/main} Numeroiden ilmestymiskuukaudet: 1 tammikuu 2 maaliskuu 3 toukokuu 4 heinäkuu 5 syyskuu 6 marraskuu Lehti ilmestyy aina kuukauden ensimmäisenä päivänä. @endnode Voit kaapata suoraan tämän esimerkin tiedostoksi Saku.guide. Ilmestymiskuukaudet eivät suoraan vaikuta sen toimintaan, mutta ne voivat helpottaa oikean numeron etsimisessä. Itselläni lehdet on purettu DH0:Misc-hakemistoon, johon osoittaa looginen laitenimi Misc. Muuta se omaasi vastaavaksi. Linkkimäärittelyjen lopussa oleva main tarkoittaa dokumentin pääsolmua, joka Sa- kujen tapauksessa on otsikkosivu. AmigaGuide ja MultiView näyttävät sen normaa- listi ensimmäisenä, kun dokumentti ladataan. Linkit vievät katsottaessa vain va- semman reunan, joten niitä voi laittaa huoletta kaksi rinnan jatkossa, kun uusia lehtiä tulee. Esimerkiksi ensi vuoden numerot voisi laittaa näiden oikealle puo- lelle. Ongelmilta emme kuitenkaan säästy. Retrace-nappulalla pääsee kyllä takaisin, mutta ei enää lehteä aikansa selailtuaan. Lehdet eivät kuitenkaan hyödynnä in- deksitoimintoa, joten kaappamme sen omaan käyttöömme. Pääset takaisin omaan päävalikkoomme painamalla Index-nappulaa, kun ensin lisäät jokaisen lehden Sa- ku.guiden alkuun tämän rivin: @index "Misc:Saku.guide/main" Huomaa taas muuttaa polkumäärittely. Tämä rivi viittaa siis omaan Saku.guideem- me, joka pitää sisällään vain viittaukset kaikkiin lehtiin. Toinen ongelma muodostuu lehtien sisältämistä kuvista. Niihin viitataan ni- mittäin suhteellisilla poluilla, joten ne eivät toimi. Ne eivät toimi muuten- kaan, jos ei ole käynnistänyt lukuohjelmaa samassa hakemistossa kuin Saku.guide on. Käytännössä ainut ratkaisu tähän pulmaan on ladata vuoron perään jokainen lehti johonkin editoriin ja Korvaa-toimintoa käyttäen muuttaa suhteellinen polku absoluuttiseksi omaa hakemistorakennettasi vastaamaan. Homma onnistuu nopeasti esimerkiksi TxEd:llä, joka tosin saattaa sotkea tai kaa- taa koneen, joten suosittelen kuitenkin jotakin muuta editoria. Toiminta on kui- tenkin kaikissa melkein sama, eli valitse Replace-toiminto ja laita korvattavak- si merkkijonoksi "Kuvat/" ja korvaavaksi merkkijonoksi "Misc:AG-Saku/Kuvat/", jossa on taas lehden numero. Laita kuitenkin tähänkin taas oma polkumäärit- telysi. Muista määritellä ennen AmigaGuiden tai MultiViewin ajamista SAKUVIEW-alias. Hyväksi havaittu ohjelma kuvien näyttämiseen on Viewtek. Myös MultiView käy tähänkin hommaan. Tämä siis tapahtuu komennolla "Alias SAKUVIEW MultiView", tai Viewtek tai jokin itselläsi oleva parempi ohjelma. Sitten kaikki onkin valmista, ja voit kokeilla viritelmää lataamalla oman päävalikkodokumenttisi. Jos jokin meni pieleen, lue ohjeet uudestaan ja tarkista kaikki. Jos ohjelma ilmoittaa "Loading...", mutta mitään ei tapahdu, on linkkimäärittely tai solmun nimi ehkä virheellinen, eikä solmua löydy.