Aikajanan valmistelu tietoryhmien lisäämisellä

Annettaessa kontrollilogiikalle tietoryhmän tietoja, voidaan siinä yhteydessä antaa viisi erilaista visualisointiin vaikuttavaa boolean-tyyppistä arvoa seuraavan syntaksin mukaan: addToItemsGroups(dataarray, indicatorname, groupname, grouplongname, isbackgroundindicator, haslevels, showstimedifference, limiteditemwidth, largerimage).

Koodissa se näyttäisi vaikkapa tällaiselta:

personaltimeline.addItemsToGroups(timerangedFeelingFineData, "feelingfine", "Kelpo olo", true, false, true, false, false);

Lisämääritettä showstimedifference varten ei tarvitse tehdä täydentävää tyylimäärittelyä tiedostossa feelingtimeline.css, jos tietoryhmää varten muuten on jo tyylittelyä tehtynä, mutta se vaatii toimiakseen, että tietoryhmän objekteilla on sekä alku-, että päättymisaika, sillä näistä lasketaan tunteina ja minuutteina näiden aikojen välinen ero.

Lisämäärite limiteditemwidth taasen tarkoittaa, että sisältötekstin alueensa sisäpuolellaan pitävä elementti voi olla enintään ennalta rajatun levyinen (60 pikseliä) ja jos teksti ei siihen mahdu, teksti katkaistaan poikki ja tekstin loppuun lisätään tarvittaessa "...". Lisämäärite haslevels toimii visuaalisesti vain, jos tietoryhmien objekteilla on attribuutti level määritettynä (ks. myös alakohta "Tarkemmin esimerkki-tietoryhmien attribuuteista"). Lisämäärite isbackgroundindicator vaatii visuaalisesti toimiakseen sen, että kyseistä tietoryhmää varten on tyylimäärittelynsä valmiina (mallin mukaan tehtynä tai entisiä käyttäen). Lisämäärite largerimage vaikuttaa tooltipien kuvakokoihin (leveys) tietoryhmän laajuisesti kuvien suurempana näkymisenä, mutta kuvia ei silti skaalata suuremmaksi kuin mitä ne todellisuudessa ovat (maksimikoot pienemmällä kuvakoolla 220 pikseliä ja suuremmalla 580).

Tietoryhmissä käytettävistä attribuuteista

Kaikki aikajanalle sisällytettävä on tietoryhmittäin omissa array-tyyppisissä muuttujissaan, joissa olevat objektit attribuutteineen vastaavat kukin yhtä aikajanan tietoryhmän elementtiä (visualisoitua tietuetta).

Kuvassa on esimerkinomaisesti kelpo oloksi nimetty tietoryhmä, jonka objekteilla on attribuutteina vain alku- ja loppuajat. Annettaessa nämä tiedot kontrollilogiikalle (esimerkkisivulla), määritetään siinä yhteydessä vielä erikseen, että kyseistä tietoryhmää käytetään visuaalisesti ottaen background-tyylisesti eli enemmän alaa vievänä palkkina, jonka päälle voisi optionaalisesti sijoittaa vielä jonkin muunkin tietoryhmän tiedot (ks. "Aikajanan valmistelu tietoryhmien lisäämisellä" ja mikseipä myös esimerkkikoodia, jossa aikajanan initialisointia valmistellaan).

Ajankohdat

Tietoryhmien muuttujien nimet kannattaa muistikuormituksensa vähentämiseksi pitää luonnehtivan nimisinä, jottei tarvitse myöhemmin ihmetellä mihinkä ne tiedot kuuluivatkaan, joiden attribuutteina ei ole muuta kuin alku- ja loppupäivät ja -kellonajat (starttime ja endtime). Kaikkien muiden paitsi päiväkohtaiset-tietoryhmien aikamerkinnät noudattavat syntaksia "YYYY-MM-DD HH:mm". Päiväkohtaisilla käytettävä attribuutti päivän määrittämiseen on day ja syntaksina "YYYY-MM-DD".

Joillakin tapahtumilla kuten unella on tavanomaisesti alkunsa ja loppunsa, sekä toisinaan myös keskeytyksensä, joten sellaisen voi kirjoitella yhtenä tai useampana objektina. Aikanajana-komponentti sijoittelee ne sitten paikoilleen. Jos ajan antamisen kanssa möheltää, siitä ei välttämättä seuraa sen suurempaa vahinkoa kuin, että visualisoitu tietua sijaitsee jossain omituisessa kohdin, mutta toki sekin on mahdollista, että aikajana ei toimi ollenkaan ennen kuin virheensä korjaa.

Päätelmien tekemisien kannalta olennaisempaa voi joidenkin tietoryhmien osalta olla ilmentymisien toistuvuus ja alkaminen/loppuminen kuin eksakti kesto eri kertoina, joten sellaisissa tapauksissa pelkkä jonkin ilmenemisen ajankohta ja otsikoiva selite (title, elaboration tai level) voi riittää (esim. joidenkin fysioterapeuttisten oireiden tapauksessa).

Nimikkeet, otsikot ja selitteet

Aikajanalla näkyvä tieto per tietue haetaan ensisijaisesti attribuutista title tai elaboration (ei muuta kuin eroa kuin se, että toinen käyttötarkoituksena hiukan erilaiselta), mutta jos niitä ei ole annettu koetetaan käyttää attribuutissa level olevaa tietoa. Level-attribuutissa on lisäksi se erityisyys, että sen avulla voi vaikuttaa tiedon tyylittyvyyteen, mikä täytyy kuitenkin valmistella erikseen feelingtimeline.css-tiedostossa (mallin mukaan). Jos mitään näistä attribuuteista ei ole, sitten näkyvänä tietona on "yep". Poikkeuksen tässä sanottuun muodostaa se, jos tietoryhmä on kokonaisuudessaan määritelty olevan background-tyyppinen, sillä tuolloin title ja elaboration -attribuutteja ei huomioida, mutta level-attribuutti kylläkin.

Syynä sille, ettei joitakin asioita luonnehdi jokaiselle tietoryhmän tietueelle erikseen, voisi olla se, että tietoryhmän nimi on muutenkin sillä tapaa selittävä, ettei tietueille tarvitse antaa muuta kuin starttime-attribuutti, jonka perusteella visualisoitu tieto voi sijoittua aikajanalla.

Tietokyselyidyn näkökulmasta tietueisiin kirjoitettua tietoa (attribuutit title tai elaboration) ei välttämättä tarvitsee pilkkoa valmiiksi "atomisiin osiinsa", sillä oleelliset kohdat voi osoittaa myöhemminkin säännöllisiä lausekkeita (eng. regular expressions) käyttäen. Täten esim. yhteen huoneilma-tietueeseen voi laittaa useita sisäilmasta kertovia tietoa kuten hiilidioksitason ja huoneen lämpötilan. Säännöllisisten lausekkeiden käytöstä on lisätietoa ja hetikäyttöisiä esimerkkejä kirjoituksessa "Oddqueries (tiedon exportointi ja tietokyselyt)".

Vaikka nimikkeissä, otsikoissa ja selitteissä voi käyttää HTML-koodia, on huomioitava, että aikajana ei ole konfiguroitu siten, että se sopeutuisi monirivisiin tietueisiin ja toisaalta oddqueries-kyselyitä voi olla hankalampi saada hyödynnetyksi syötetiedon ollessa HTML-koodista. Visualisoidun tiedon olemukseen on ensisijaisesti tarkoitus vaikuttaa tyylitiedostoon feelingtimeline.css tehdyillä muutoksilla.

Vakavuuden asteet tai tasot

Joitakin ilmiöitä tai tapahtumia saattaa haluta tarkentaa tapauskohtaisesti esim. vakavuuden tason osalta, jolloin voi käyttää attribuuttia level ja antaa sille numeroarvon esim. väliltä 1 - 3. Tämän toimivuus vaatii, että tyylimäärittelyissä tällainen tasoisuuden mahdollisuus on otettu huomioon, mikä tulee paremmin ymmärretyksi vilkaisemalla tiedostoa feelingtimeline.css ja hakee sieltä rivejä esille esim. hakusanalla "stress_level1".

Tooltipit ja visualisoidun tiedon korostamiset

Jokaiselle aikajanaan sijoittuvan tietoryhmän objektille (paitsi background-tyyppisille) voi antaa attribuutiksi:

  • alternativestyle (numeerinen arvo väliltä 1 - 9),
  • tooltipimage (kuvatiedoston nimi images-hakemistossa) ja/tai
  • tooltiptext (tooltipissä näytettävä teksti ajan lisäksi).

Alternativestyle-tyylittelyt

Näitä on ounasteltu voitavan käyttää siten, että ne eivät olisi aivan liiaksi huomiota vieviä, mutta kuitenkin aikajanaa silmäillessä tulisi tunnistetuksi merkitsevän jotain erityistä, joka sitten todennäköisesti tulisi selitetyksi tarkemmin päivittäiskommenteissa. Värisävyiset versiot ovat käytettävissä kuvastamaan jonkin olevan jollain tapaa huonommin/pahanlainen tai paremmin/hyvänlainen. Numerojärjestyksen voi lukea kuvasta siksak-kaavalla eli ylimmällä rivillä vasemmalla ilman alternativestyle-attribuuttia oleva ja sen alapuolella alternativestyle-attribuutti numeroarvolla 1. Nämä tyylittelyt toimivat käyttökelpoisesti jo entuudestaan reunuksen sisältäviin elementteihin, mutta eivät niinkään sellaisiin, joiden merkittävyyden taso on tarkoitettu esitettävän level-attribuutilla. Liian monen merkittäväksi tarkoitetun visuaalisen vihjeen sisällyttäminen samaan elementtiin olisi muutenkin luettavuutta hidastavaa.

Tooltipien kuvat ja tekstit

Tooltipien taustaväri on musta ja tekstin väri valkoinen, jos kumpaakaan attribuuttia, tooltiptext tai tooltipimage, ei ole annettu, mutta niitä käytettäessä taustaväri tooltipillä on valkoinen ja tekstin väri musta. Tooltipit näyttävät vakiona kellonajan tai kellonajat, jos sekä starttime, että endtime on annettu. Attribuutti tooltipimage mahdollistaa kuvan näyttämisen tooltipissä, sekä samalla myös tooltiptext-attribuutin sisällön, jos se on annettu. Jos lisäksi tietoryhmäkohtaisesti on otettu käyttöön lisämäärite largerimage, nämä kuvat näkyvät isompikokoisena. Kellonaika näkyy tooltipeissä joka tapauksessa. Tooltipin tooltiptext-attribuutissa voi käyttää HTML-koodia rajoituksetta.

Päivittäiskommentit

Päivittäisissä kommenteissa voi myös käyttää HTML-koodia, mihin sisältyy myös mahdollisuus HTML:n style-attribuutin käyttöön tekstin tyylittelyyn ja class-attribuutin käyttöön käyttääkseen tyylittelyä, joka on määritelty feelingtimeline.css-tiedostossa. Kuvassa olevan esimerkkitekstin versaalilla (suuraakkosin) kirjoitetut kohdat ovat kaikkien kolmen kohdan osalta toteutettu kolmella eri tavalla: HTML-tagilla strong ja sille tyylitiedostossa määritellyllä tyylillä "text-transform: uppercase;", HTML-tagilla b (käytännössä sama kuin strong) ja sille annetulla attribuutilla style, jolla arvona "text-transform: uppercase;", sekä keksityllä HTML-tagilla fancytitle, joka on kokonaisuudessaan määritelty tyylitiedostossa.