TIM-ohjeet
Apua voit tarvittaessa kysyä: tim@jyu.fi
TIMin käyttämään merkitsemiskieleen (Markdown) voit tutustua esimerkiksi ohjeesta: Pandoc's Markdown. Tässä dokumentissa esitetään tästä kielestä tärkeimmät ominaisuudet ja voit kokeilla niitä samalla kun tutustut tähän dokumenttiin.
1. Uuden dokumentin luominen
Seuraavassa sijainti (kansio, folder) ja dokumentin nimi eivät ole kiveen kirjoitettuja ja niitä voi aina muuttaa jälkeenpäin ja jopa tehdä dokumentille aliaksia, joiden ansiosta se näkyy eri sijainneissa mahdollisesti eri nimelläkin. Eli voit ihan hyvin aloittaa henkilökohtaisella dokumentilla.
- henkilökohtainen vaiko yleinen:
- jos haluat tehdä oman henkilökohtaisen dokumentin, paina sivun yläreunassa olevaa nimeäsi ja valitse sieltä
My documents
- täällä voit vielä tarvittaessa ensin valita uuden kansion luomisen
Create new folder
jos haluat dokumentin johonkin alakansioon - jos sinulla on jo valmiiksi alakansioita, siirry sopivaan
- täällä voit vielä tarvittaessa ensin valita uuden kansion luomisen
- mikäli haluat tehdä kurssin tms. uuden dokumentin:
- jos haluat tehdä koko kurssin, johon liittyy useita dokumentteja, lue myös Opettajan ohje
- mene pääsivulle https://tim.jyu.fi
- mieti mihin kategoriaan dokumenttisi kuuluisi.
- vielä täälläkin voit valita että jos dokumentti on henkilökohtainen tai ihan kokeilu, paina
My documents
. - Jos dokumentti kuuluu selkeästi jollekin kurssille, niin
- Valitse
All documents
ja sitten esimerkiksikurssit
-kohdan alta sopiva kohta. - Jos ei ole sinulle sopivaa organisaatiota, niin pyydä ylläpitoa
tim@jyu.fi
luomaan sinulle sopiva kansio joka vastaa organisaatiotasi ja jatka sitten dokumentin tekemistä organisaatiosi alle. - mieti vielä tuleeko "kurssiisi" useita dokumentteja. Jos tulee, luo vielä kurssin nimeä kuvaava kansio kohdasta
Create a new folder
.
- Valitse
- jos haluat tehdä oman henkilökohtaisen dokumentin, paina sivun yläreunassa olevaa nimeäsi ja valitse sieltä
- paina
Create a new document
- anna dokumentille hyvä nimi, esimerkiksi
tilastoperusteet
1.1 Dokumenttipolun ja nimen kirjoittaminen osoitepalkkiin
Vaihtoehtoisesti, jos tiedät dokumentin polun ja nimen, niin tämän voi kirjoittaa suoraan selaimen osoitepalkkiin (ja enter), jolloin TIM (olettaen, että oikeudet ovat kunnossa) antaa mahdollisuuden luoda dokumentin ja kansiopolun suoraan.
Esimerkiksi, jos haluaisin luoda dokumentti
-nimisen dokumentin kansioon nimeltä kansio
, niin menisin osoitteeseen
https://tim.jyu.fi/view/kansio/dokumentti
1.2 Dokumentin kopiointi
Jos haluat kopion jo olemassa olevasta dokumentista, niin tämä mahdollisuus on Manage
-näkymässä Create a copy
.
Jos tarvitse kopioida useita tiedostaja kerralla, katso Hakemiston kopiointi.
1.3 Templaatit
Jos joudut luomaan useita samanlaisia dokumentteja, niin tämän helpottamiseksi TIMissä on mahdollista käyttää dokumenttipohjia, eli templaatteja, uusien dokumenttien pohjana.
Käyttääksesi templaatteja luo uusien dokumenttien kansioon tai yläkansioihin kansio nimeltä
templates
TÄRKEÄÄ: Kansion nimen täytyy olla tämä.
Templates-kansioiden sisälle voit luoda dokumentteja, joiden sisältö voidaan kopioida uuteen dokumenttiin. Tämä kopiointimahdollisuus näytetään, kun dokumentissa ei ole vielä sisältöä.
Toiminto on oikein käyttökelpoinen esimerkiksi opiskelijoiden raporteissa yms, jolloin valmis pohja (template) tuo kaikki tarvittavat perusasetukset sekä mahdollisen jäsennyksen perusotsikoineen.
1.3.1 Pakotetut pohjat
Jos tietyn kansion kaikkiin uusiin dokumentteihin halutaan aina sama pohja, voi templates
-kansioon luoda pohjan lyhytnimellä force
. Tällöin aina, kun uusi dokumentti luodaan, ladataan siihen suoraan kyseinen force
-pohja.
2. Perustekstin kirjoittaminen
TIM-dokumentti koostuu lohkoista (block). Yksi lohko voi sisältää yhden tai useita tekstikappaleita tai yhden interaktiivisen komponentin (plugin). Lohko on pienin yksikkö, jota voi muokata ja johon liittyy kommentointimahdollisuus sekä luetuksi merkitseminen.
Pitäisikö olla sinisessä laatikossa? Sisältö hyvä :)
—Kielen kappale ja lohko eivät siis ole sama asia, vaikka tässäkin ja monessa muussa TIM-oppaassa sanaa kappale (paragraph) käytetään välillä tarkoittamaan lohkoa.
Tosin usein voi olla ihan perusteltua kirjoittaa yhteen lohkoon yksi luonnollisen kielen kappale. Tässä lohkossa on kaksi luonnollisen kielen kappaletta. Sen näkee siitä, että kun tätä kappaletta klikkaa, tulee valituksi myös samassa lohkossa oleva edellinen kappale.
Tyhjässä dokumentissa tai dokumentin loppuun lisättäessä saa uuden lohkon kun painaa Add paragraph
-painiketta. Muihin paikkoihin lisäys tai muokkaus tehdään muokkausmenun kautta.
2.1 Muokkausmenu
Saat muokkausmenun klikkaamalla jotakin dokumentin lohkoa ja klikkaamalla lohkon oikealla puolella ilmestynyttä -painiketta.
Muokkausmenusta voit valita muokkauksen tai lohkon yläpuolelle lisäämisen. Alapuolelle lisäämistä ei ole, sillä alapuolelle voi aina lisätä siirtymällä pykälän alaspäin ja lisäämällä yläpuolelle. Poikkeuksen tekee dokumentin loppuun lisääminen, jolle on oma aina näkyvä painike.
Muokkausmenussa on alalaidassa kynän kuva, josta saat laajemman muokkausmenun, jossa on lohkon kopiointiin, tuhoamiseen, alueen valintaan yms. liittyviä lisätoimintoja.
Menussa on myös tukku radiopallukoita. Jos joku niistä on valittuna, tapahtuu vastaava toiminto tuplaklikkaamalla lohkoa. Eli jos muokkaa paljon, kannattaa sen valita oletukseksi, jolloin tuplaklikkauksella pääsee muokkaamaan. Toisaalta valinta sotkee sanan valitsemista tuplaklikkauksella, joten toiset haluavat pitää pallukan menun sulkemisen kohdalla.
Mikäli Cut toiminnon valitsee oletukseksi, kannattaa se palauttaa Close Menu
-kohtaan kun loptettaa massatuhoamisen. Muuten voi tulla jatkossa yllätyksiä.
2.1.1 Muokkausmenun paikan vaihtaminen
Oletuksena muokkausmenu ilmestyy painikkeena sivun oikealle puolelle. Menun paikan voi vaihtaa myös vasemmalle puolelle menun "Move menu to left" -toiminnolla:
Kun menun suuntaa vaihdetaan vasemmalle, avatuu menu lohkon vasemmalla puolella olevasta palkista:
Huomaa, että palkki ilmestyy vain, kun siirrät kursorin lohkon vasemmalle puolelle.
2.2 Muokkausikkuna
Lisäämisessä (Add paragraph above
) saat uuden tyhjän lohkon, johon voit kirjoittaa kappaleen tai kappaleiden sisällön. Muokkauksessa (Edit
) saat auki vanhan lohkon sisällön. Joka tapauksessa aukeaa muokkausikkuna (Edit paragraph
):
Muokkausikkunan alareunassa on esikatseluikkuna (Preview
), joka samalla kertoo montako lohkoa ikkunan tallentamisesta syntyy. Ikkunan yläreunassa on välilehtiä eri toimintojen tekemiseksi. Kaikki toiminnot voi tehdä ilmankin välilehtien käyttämistä, mutta välilehdet auttavat varmasti muutamalla ensimmäisellä käyttökerralla. Kunkin välilehden alla on omia toimintojaan.
Muokkausikkunan painikkeet ja valinnat:
Save
: tallentaa muokatun lohkon/lohkojen sisällönCancel
: unohtaa tehdyt muutoksetDelete
: tuhoaa muokkauksessa olevan lohkon/lohkojen sisällön pois dokumentista. Saman voi tehdä myös tyhjentämällä editorissa näkyvän sisällön ja painamallaSave
. Toiminto varmistetaan vielä käyttäjältä.Mark as unread
: toiminto on toistaiseksi hieman väärässä paikassa. Jos avataan muokattavaksi jo luetuksi merkitty lohko, laittaa taas lohkon lukemattomaan tilaan (eli tulee punainen reunapalkki).Advanced view
-valinnalla voidaan valita suppea tai laaja näkymä muokkaukseen. Suppeassa näkymässä häviävät välilehdet ja suuri osa painikkeista.ACE editor
: tällä voidaan valita minkälaista muokkauseditoria käytetään. Oletus riippuu käytettävästä laitteesta. Työasemilla oletuksena onACE
-editori, joka on vapaan lähdekoodin selaimessa toimiva editori, jossa on useita muista editoreista tuttuja toimintoja Mobiililaitteissa aukeaa selaimen oma "alkeellinen" teksti-ikkuna, jossa toimii selaimen omat toiminnot. Editorien välillä voi vaihtaa painamalla tätä painiketta. ACE editorissa on runsaasti pikanäppäimiä jotka auttava käyttöä. Lista ACE-editorin pikanäppäimistä. Iteraktiivinen versio jossa pikanppäimia voi kokeilla.Fullscreen
: vaihtaa muokkauksen kokoruutuun/pois.Mark as read
: kun muokkausikkuna suljetaan, merkitään samalla syntynyt uusi teksti luetuksiWrap
-kentässä on arvo sarakkeelle, jonka jälkeen teksti katkaistaan automaattisesti uudelle riville. Jos et halua käyttää wrap-toimintoa lainkaan, pistä tähän arvo 0. Arvosta riippumatta rivitystä ei tehdä, jos tekstissä on jono```
(plugin tai kirjoituskoneteksti) tai merkki|
(taulukot). Klikkaamallawrap
-sanaa, voidaan silti pakottaa rivittämään vaikka em. jonoja olisikin tekstissä. Mikäliwrap
arvo on pienempi kuin 0, käytetään sen itseisarvoa, mutta rivitystä ei tehdä automaattisesti, vaan ainoastaan klikkaamallawrap
-sanaa.->
: preview-osan oikeassa yläkulmassa olevalla nuoli-painikkeella voidaan irrottaa preview omaksi ikkunakseen. Toiminnosta on hyötyä mikäli on käytössä suuri ruutu ja sijoitetaan preview muokkausikkunan viereen. Vastaavasti irroitetun ikkunan<-
-painikkeesta voidaan palauttaa preview muokkausikkunan alareunaan.
Mikäli haluat luoda useampia lohkoja samalla muokkauksella, niin lisää lohkojen väliin merkit
#-
joko painamalla Insert-välilehdestä Paragraph break
tai näppäinkomennolla + tai kirjoittamalla ko merkit. Toki voit erottaa yhden lohkon sisällä kappaleita toisistaan tyhjillä riveillä ja tällöin rivit näkyvät lukijalle erillisinä riveinä, mutta lukumerkintä koskee aina yhtä lohkoa.
Tarvittaessa voit samalla tavalla pilkkoa isomman tekstin pienempiin osiin. Lohkoja voi tarvittaessa yhdistää aluetoiminnon kautta.
Mikäli haluat pakotetun rivinvaihdon jonkin rivin loppuun, laita viimeiseksi merkiksi \
-merkki, paina Insert välilehdestä End line tai + . Tämän merkin jälkeen ei saa olla edes välilyöntejä.
Lohkoja voi kopioida, poistaa ja siirtää valitsemalla muokkausmenusta kynän kuvan. TIMissä on lohkoille leikepöytä, joka ei teknisten esteiden takia ole yhteydessä koneen omaan leikepöytään. TIMin leikepöydälle laitetut lohkot ovat tallessa vaikka välillä vaihtaisi konettakin.
Muokkausmenussa on pallukka kunkin toiminnon vieressä. Jos ruksit jonkin kohdan, niin se on oletustoimintona ja näin voit helposti esimerkiksi siirtyä aina muokkaamaan tuplaklikkaamalla lohkoa.
Suurelle osalle tässä ohjeessa esiteltävistä toiminnoista löytyy valmiina aputoimintoja editorin välilehdiltä:
- Navigation - nuolinäppäimiä mobiililaitteiden käytön parantamiseksi
- Style - tyyliasioita kuten lihavointi, otsikot jne.
- Insert - kuvien, linkkien yms. lisääminen
- Special characters - erikoismerkkejä joiden tekeminen voi joskus olla vaikeaa mobiililaitteilla
- TeX - apuja matematiikan kirjoittamiseen
- Plugins - eri "lisukkeiden" lisääminen (ajettavat ohjelmakoodit, kuvat joiden kokoa voidaan säätää jne...)
- Upload file/Image - muiden tiedostojen lisääminen (kuvat, muut tiedostot)
2.3 Kirjoita, mutta älä välitä rivinvaihdoista
Kun kirjoitat TIM tekstiä, niin varsinaisesta rivittämisestä huolehtii se laite, jolla tekstiä luetaan. Mobiilissa laitteessa näyttö on kapeampi, ja siksi näytettävät rivit ovat lyhyempiä.
Älä siis kirjoittaessa mieti sitä, miltä teksti näyttää, vaan anna laitteen huolehtia siitä.
Kun kirjoitat TIMin editorissa tekstiä, katko rivit sen mittaisiksi, että niitä on kiva lukea muokkauseditorissa. Eli laita rivinvaihto aina noin 70 merkin jälkeen viimeistään. Näytettäessä tekstiä peräkkäisistä riveistä tehdään yksi kokonaisuus (poikkeuksen tekee listat ja koodityyli), joka rivitetään katseluhetkellä olevan näytön leveyden mukaan sopivaksi.
2.4 Lohko vs. kappale, pitkä vai lyhyt
Vaikka teksti näyttää samalle riippumatta siitä, kirjoittiko yhteen lohkoon monta kappaletta tai monta lohkoa joissa kaikissa on yksi kappale, on tällä kuitenkin eroa muokkauksen ja lukijan kannalta.
Lohkon pituutena kannattaa maksimissaan pitää noin puolta näytön korkeudesta (joskus esim pluginien osalla tästä on pakko poiketa). Näin saadaan editoitavista osista järkevän kokoisia. Pitkän tekstin muokkaaminen on aina hankalaa. Erityisesti mobiililaitteilla pitkät lohkot ovat hankalia käsitellä.
Kommentointimahdollisuus ja lukumerkintöjen tekeminen liittyy myös vain lohkoihin. Silloin liian pitkissä lohkoissa kommentti kohdistuu väärään paikkaan, koska kommentit näytetään aina lohkon alusta eteenpäin.
Tämä kannustaisi kirjoittamaan lohkoja, jotka olisivat suurinpiirtein sama kuin yksi tekstikappale (ja siksi monissa TIM-oppaissa käsitteet sekoittuvatkin). Tämä on kommentoinnin kannalta oikein hyvä tapa. Samoin lukumerkintä kohdistuu tällöin yhteen tekstikappaleeseen.
Olemassa olevaan tekstiin lohkokatkoja saa lisäämällä
#-
Toisaalta jotkut lukijat eivät tykkää klikkailla luetuksi liian lyhyitä tekstiyksiköitä, ja siksi ehkä voisi lohkon suosituskokona pitää kohtuullisen kokoista samaan asiaan liittyvää joukkoa.
Numeroitujen listojen automaattinumerointi ei jatku lohkorajojen ylitse. Eli yksi numeroitu lista pitää saada mahtumaan yhteen lohkoon tai sitten manuaalisesti ylläpitää jatkolohkossa numeroinnin alkua.
3. Oikeuksien lisääminen dokumentille
Kun uusi dokumentti luodaan, niin dokumentille annetaan tietyt oletusoikeudet. Ne näytetään, kun uusi dokumentti luodaan, ja niitä voi muokata haluamakseen. Myöhemmin oikeuksia voi tarvittaessa muuttaa Manage-sivulta:
- Mene Manage-sivulle:
- Tapa 1:
- dokumentin ylälaidassa on linkki
Manage
- dokumentin ylälaidassa on linkki
- Tapa 2:
- mene pääsivulle https://tim.jyu.fi
- siirry siihen kansioon missä dokumentti on
- dokumentin kohdalla oikeassa laidassa on rattaan kuva
- Tapa 1:
- paina
Add right
-painiketta. - valitse alasvetolistasta haluamasi oikeus
- sitten
name:
kohtaan kirjoita uuden haltijan käytäjätunnus tai ryhmän nimi tai paina jotakin valmiiden ryhmien painikkeista - paina
Add
(paitsi valmiiden ryhmien painike sisältää Add-toiminnon)
Käytössä olevia oikeustasoja:
- view: oikeus katsella dokumenttia ja tehdä siellä olevia tehtäviä, mikäli on kirjautunut sisään. Mikäli tehtäville on annettu oikeus tehdä ilman kirjautumista, voivat kirjautumattomatkin tehdä tehtäviä, mutta tulokset eivät tallennu mihinkään. Lisäksi on oikeus katsella ei-pluginlohkojen markdownia View source kautta.
- copy: tämän oikeuden haltija voi nähdä dokumentin markdownin myös pluginien osalta (View source) sekä kopioida dokumentin (manage-näkymän kautta) itselleen. Tällöin mahdolinen pluginissa oleva vastaus tai pisteytysperuste näkyy kanssa, joten tätä oikeutta ei kannata antaa jos vastaukset on tarkoitus salata.
- edit: oikeus muokata dokumenttia. Tämä kannattaa antaa sille ryhmälle, joka dokumenttia kehittää. Yleiskäyttöisissä (wiki-luonteisissa) dokumenteissa myös
jyu.fi users
voi olla käyttökelpoinen vaihtoehto. Miksei jopaLogged-in users
. - see answers: oikeus katsella (mutta ei muuttaa) muiden vastauksia. Vastaajien nimet näkyvät anonyymisti. Tämä oikeus kannattaa useimmiten antaa vain ryhmälle, jolle ko. tehtävät kuuluvat, kun tehtävien takaraja on mennyt. Esimerkiksi
ohj2k16
. - teacher:
- ei oikeutta muokata dokumenttia, eli edit-oikeus annettava erikseen
- oikeus tehdä luentoja dokumenttiin liittyen sekä niihin luentokysymyksiä
- oikeus katsella kaikkia dokumenttiin tulleita vastauksia
- oikeus muuttaa vastausten pisteitä
- oikeus antaa opiskelijalle palautetta vastauksista
- manage: oikeus muuttaa dokumentin oikeuksia paitsi omistajia. Sisältää toki kaikki edelliset oikeudet. Sisältää mm. edit ja teacher -oikeudet.
- owner: korkein oikeustaso.
Edellisten lisäksi kullakin dokumentilla ja kansiolla on vielä omistaja (Document owner), jonka voi manage-sivulta valita haluamakseen. Tämä oikeus on kaikkein laajin ja kannattaa miettiä, antaako sitä muuta kuin itselleen.
Jos dokumentille ei ole annettu yhtään oikeuksia, niin dokumentin taustalla näkyy himmeällä teksti UNPUBLISHED. Jos teksti häiritsee etkä halua vielä antaa oikeuksia kenellekään, voit antaa view-oikeuden dokumenttiin itsellesi, minkä jälkeen kyseinen taustateksti poistuu.
Sitten toki on dokumentteja joille aidosti pitää antaa rajatummat oikeudet, kuten tenttikysymykset, valmisteluryhmien dokumentit jne. Luentomateriaalit olisi kuitenkin kiva pitää mahdollisimman avoimina.
3.1 Oikeudet mieluummin ryhmille
Vaikka oikeuksia voidaan antaa yksittäisille henkilöille, niin mieluummin oikeuksia kannattaisi antaa ryhmille.
Valmiita suurempia ryhmiä ovat:
- jyu.fi users: Korpin/JYUn kautta kirjautuneet käyttäjät. Nämä ovat luotettavasti kirjautuneita käyttäjiä ja näitä tunnuksia ei kuka tahansa voi ihan helposti luoda. Näille käyttäjille voi antaa usein enemmän oikeuksia, koska väärinkäytösten tapauksessa heidän tunnuksensa on helpompi pistää kiellettyjen listalle tai ottaa heihin yhteyttä.
- logged-in users: henkilöt, jotka ovat sisäänkirjautuneita. Tähän ryhmään kuuluvat siis myös ne, jotka ovat itse tehneet
Sign in
-kohdasta sähköpostin avulla itselleen tunnuksen. Näillä henkilöillä on ainakin toimiva sähköposti, koska ovat siihen saaneet TIM-tunnuksen. Näidenkin henkilöiden käyttö voidaan väärinkäytösten tapauksessa evätä, mutta he voivat aina luoda uuden tunnuksen toisella sähköpostiosoitteella, joten yhtä luotettavia he eivät ole kuin Korppi-kirjautuneet. - anonymous users: käyttäjät, jotka eivät ole kirjautuneet lainkaan. Tälle ryhmälle voi usein antaa lukuoikeuden, mutta muokkausoikeuden kanssa pitää olla varovainen.
TIMin ideologiaan kuuluisi että jos mahdollista, annetaan anonymous
-lukuoikeus, eli tehdään mahdollisimman julkista materiaalia. Mikäli dokumentissa on tehtäviä, eivät ne tallennu kirjautumattomille, joten silloin suositus on logged-in users
.
Voidaan luoda myös uusia ryhmiä ja antaa niille kuvaavia nimiä. Ryhmä voi olla esimerkiksi tietyn kurssin opiskelijat tai opettajat.
Esimerkiksi Ohjelmointi 1 -kurssin opettajia ja ohjaajia varten on tehty ryhmä ohj1
. Kun kurssin dokumentin manage
tai owner
oikeus annetaan tuolle ryhmälle, niin vaihtamalla ryhmän jäseniä vuosittain, voidaan säätää kerralla kuka pääsee mitäkin muokkaamaan. Joko samalle tai eri ryhmälle voi antaa opettajaoikeuden, joka mm. oikeuttaa antamaan palautetta opiskelijoiden vastauksiin.
Eli mahdollisista dokumentin ylläpitäjästä kannattaa tehdä ryhmä heti, jos ylläpitäjiä on enemmän kuin yksi henkilö. Jopa yhdenkin henkilön tapauksessa ryhmä kannattaa tehdä jos on pienikin mahdollisuus sille, että ylläpitäjiä tulee enemmän.
Jos lukuoikeus ei ole joku yleisistä Logged in
, Anonymous
tai joku Haka-ryhmistä, niin lukuoikeuden omistavistakin henkilöistä kannattaa tehdä ryhmä.
Ryhmän voi tehdä kohdasta Luo uusi ryhmä
rattaan takaa. Kursseja varten tarvittavat ryhmä saadaan Sisun kautta
Omien ryhmien luominen vaatii oikeuden, jonka voi tarvittaessa pyytää ylläpidolta. Sisusta automaattisesti tulleille ryhmille opettajilla on jo valmiiksi riittävät oikeudet niihin.
Ryhmän hyvä puoli on myös se, että sille voidaan luoda viestilista (postilista).
3.2 Oletusoikeuksien asettaminen uusille dokumenteille ja kansioille
Useita dokumentteja luotaessa oikeuksien asettaminen kullekin erikseen on aikaa vievää, ja se voi myös unohtua helposti. Siksi on mahdollista asettaa kansiokohtaisesti oletusoikeudet uusille dokumenteille ja kansioille.
Jos esimerkiksi haluat, että kansioon harjoitustyot
luotuihin dokumentteihin tulee automaattisesti katseluoikeus ryhmälle jyu.fi users
, etene seuraavasti:
- Mene kansion
harjoitustyot
hallintasivulle (Manage). - Klikkaa välilehteä Default rights for new documents.
- Lisää view-kohtaan oikeus ryhmälle
jyu.fi users
.
Vastaavalla tavalla voit asettaa oletusoikeuksia uusille kansioille (välilehdeltä Default rights for new folders).
Huomaa, että ylempiin kansioihin asetetut oletusoikeudet periytyvät myös alempiin kansioihin.
3.2.1 Tietyn oikeuden antaminen vain yhdelle lohkolle
Tarvittaessa voidaan oikeus antaa myös vain yhdelle lohkolle. Usein oikeus on rajoittava, eli esimerkiksi dokumentin muokkausoikeus on annettu laajalle joukolle, mutta jotakin tiettyä lohkoa eivät saa muokata vain samat henkilöt, joilla on manage-oikeus. Tällöin lohkon voi aloittaa
#- {edit="manage"}
3.3 Oikeuksien massamuuttaminen
Jos on jo paljon kansioita/dokumentteja joiden oikeuksia pitää muuttaa, on yksittäisen kohteen Manage
tähän hidas ratkaisu. Silloin muuttamista varten kannattaa mennä muutettavan joukon yläkansioon (hakmeistoon) ja sen Manageen. Siellä valitaan Rights of subitems
:
Tässä voidaan taulukon suodatin rivillä suodattaa halutun rivit, sitten ruksia tarvittavat (tai kaikki näkyvillä olevat) ja lisätä/poistaa haluttuja oikeuksia.
3.4 Ajastetut oikeudet
Oikeutta annettaessa voidaan valita milloin annettu oikeus on voimassa. Toki oikeuden voimassaoloa voi säätää manuaalisesti niin, että lisää ja poistaa oikeutta kun tarvitsee.
Mutta jossakin tapauksessa on ihan järkevää antaa aikarajoitettu oikeus.
Käyttökohteita voi olla esimerkiksi:
- dokumenttiin pääsee vain tentin ajan
- mallivastaukset ovat näkyvissä vain kurssin loppuun
- joitakin tehtäviä voi tehdä vain rajoitetun minuuttimäärän tiettynä aikavälinä
- tehtäviä voi tehdä milloin vaan rajoitetun minuuttimäärän
Seuraavissa esimerkeissä oleva Require confirmation
tarkoittaa sitä, että oikeus on annettu valmiiksi, mutta se pitää esimerkiksi vahvistaa kun henkilö saapuu tenttiin. Vahvistamisessa voidaan käyttää hyväksi mm. viivakoodia tai QR-koodia
3.4.1 Dokumentti auki tiettynä aikavälinä
3.4.2 Dokumenttia saa katsella vain tietyn ajan milloin vaan
3.4.3 Rajoitettu aika tiettynä aikavälinä
4. Otsikoiden kirjoittaminen
Eri tasoisia otsikoita voidaan kirjoittaa aloittamalla rivi tarvittavalla määrällä risuaitoja (#). Ennen #-merkkiä pitää olla tyhjä rivi.
- # ensimmäisen tason otsikko
- ## toisen tason otsikkon
- ... jne
Tämä ohje alkaa esim. riveillä:
# TIM-ohjeet
TIMin käyttämään merkitsemiskieleen...
Mikäli haluat että otsikolla on itse annettu tunniste, mihin voi toisesta dokumentista hypätä, kirjoita sen perään aaltosuluissa tunniste #
-merkillä aloittaen
# Otsikko jolla oma tunniste {#omatunniste}
Jos haluat hypyn tähän otsikkon samasta dokumentista, kirjoita linkiksi
[katso oma tunniste](#omatunniste)-kohta
Mikäli haluat toisesta dokumentista (tai miltä tahansa HTML-sivulta) hypätä tuohon kohtaan, niin siirrä kursori otsikkorivin loppuun, silloin sinne ilmestyy #
-merkki, josta hiiren oikealla painikkeella painamalla voit kopioida paikan osoitteen. Esimerkiksi:
https://tim.jyu.fi/view/tim/TIM-ohjeet#omatunniste
5. Listojen kirjoittaminen
5.1 Bullet-listat
Listan voi kirjoittaa kirjoittamalla joukon peräkkäisiä rivejä, jotka alkavat väliviivalla (-) rivin 1. sarakkeessa.
Lista
- eka listan alkio
- toka listan alkio
tulee kirjoittamalla
- eka listan alkio
- toka listan alkio
5.2 Numeroidut listat
5.3 Sisennettyjen listojen numerointi
Sisennetyt listat voi numeroida päälistan alkioiden mukaisesti kirjoittamalla oma CSS-laskin dokumentin asetuksiin:
``` {settings=""}
css: |!!
.sub-numbering {
ol { counter-reset: item; }
li {
display: block;
&:before {
content: counters(item, ".") ". ";
counter-increment: item;
}
}
}
```
5.4 Oma numerointi listoihin
Listojen numerointia voi muuttaa CSS-numeroinnilla ja ::marker
-määritteellä:
``` {settings=""}
css: |!!
.axioms li::marker {
content: "(A" counter(list-item) ") ";
}
```
CSS-kielessä listoilla on valmiiksi määritelty list-item
-numeroija, jota voi käyttää yksinkertaisiin itse tehtyihin numerointeihin:
5.5 Kirjainlistat
Mikäli haluat että numeroiden tilalla on aina kirjaimia, lisää dokumentin asetuksiin tyyliohjeet tätä varten:
``` {settings=""}
css: |!!
ol {
list-style-type: lower-alpha; # a, b, c -lists
}
```
5.6 Lohkossa tavallista tekstiä ja listoja
Jos haluat että samassa lohkossa on ensin tavallista tekstiä ja sitten lista, pitää lista erottaa yhdellä tyhjällä rivillä peruskappaleesta, eli tyyliin:
Perustekstiä
- listan 1. rivi
- listan 2. rivi
Mikäli tuota erottamista ei tee, tulee kaikki yhteen pötköön. Harjoittele edellä olevassa listaesimerkissä tätä.
5.7 Listojen riviväli
Listojen riviväliä voi säätää sillä kuinka tiheään tekstiä kirjoittaa. Jos listan lähdetekstissä on yksikin tyhjä rivi, tehdään koko lista harvalla.
5.8 Listat ja moniriviset kohdat
Joskus voi olla tarpeen sisällyttää kokonaisia tekstikappaleita listojen sisään. Tämä onnistuu sopivalla sisennyksellä.
6. Koodilohko
Laatikossa olevan "koodilohkon" voi kirjoittaa sisentämällä jokaista riviä 4:n merkin verran. Koodilohkon voi tuottaa myös näppäimillä
+ + .Kirjoittamalla
eka
toka
kolmas
tulee lohko
eka
toka
kolmas
Lohkon voi kirjoittaa myös sisentämättä aloittamalla sen kolmella `-merkillä ja lopettamalla samalla tavalla. Seuraavassa ÄLÄ aukaise TIMin editoria, vaan kirjoita suoraan alla olevaan laatikkoon.
7. Tekstin korostukset
Erilaisia korostuksia voidaan tehdä määrittelemälle korostettavan tekstinosan ympärille korostusmerkkejä. Korostusmerkit voi
- kirjoittaa käsin
- ottaa Edit-ikkunan
Style
-välilehdeltä - tuotattaa pikanäppäimillä jotka selviävät kun vie kursorin
Style
-välilehdellä vastaavan korostuksen kohdalle
Mikäli joku alue on valittuna ja painetaan korostuksen pikanäppäintä, lihavointiin esimerkiksi **
) valitun alueen ympärille ja toisella valinnalla ne katoavat. Mikäli mitään aluetta ei ole valittuna, tulee korostusmerkit tyhjän ympärille ja kursori jää niiden väliin (esimerkissä **|**
).
Seuraavassa esimerkissä voi korostusmerkkejä kirjoittaa käsin. Pikanäppäimet ja Style
-välilehti näkyvät omaa dokumenttia muokatessa.
8. Eri tyylin käyttäminen
8.1 Tyyli lohkolle
Jos lohkolle haluaa käyttää normaalista poikkeavaa tyyliä, voidaan tyyli antaa lohkolle määrittelyssä:
#- {.huomautus}
kissa on kissaeläin
#-
Tavallista tekstiä
tuottaisi tuloksen:
kissa on kissaeläin
Tavallista tekstiä
Omia tyylejä dokumenttiin voi tehdä alempana olevilla ohjeilla.
8.2 Tyyli kappaleen sisällä
Kappaleen sisällä saadaan eri tyylejä kirjoittamalla
Seuraava sana on [punaisella]{.red} värillä.
Seuraava sana on punaisella värillä.
Tämän muotoilun saa lisättyä suoraan editoristakin kohdasta Style/Style
. Toistaiseksi Style
tuottaa aina tekstin
[teksti]{.red}
josta joutuu itse vaihtamaan sanan red
tilalle jonkin alla olevista (kirjoita vain se pisteellä alkava sana, sen perässä aaltosulkeissa on sanan määritys).
.tim { color: $basic-color}
.red { color: red; }
.blue { color: blue; }
.green { color: green; }
.yellow { color: yellow; }
.white { color: white; }
.gray { color: gray; }
.lightgray { color: lightgrey; }
.bggray { background: #e6e6e6; }
.bgred { background: red; }
.bgblue { background: blue; }
.bggreen { background: green; }
.bgyellow { background: yellow; }
.bglightgray { background: lightgrey; }
.bgtim { background: $basic-color}
.bgwhite { background: white; }
.border { border: 1.00pt solid #000000; }
.radius { border-radius: 0.3em; }
.bgreadline { background: #ff6600c0; }
.bgreadmodified { background: #ffff00c0; }
.obs { border: 1.00pt solid #000000; padding: 0.1em; background: #e6e6e6;}
.note .answer { color: blue; }
Tyylejä voi luetella useampiakin välilyönnillä eroteltuna ja niitä voidaan sisällyttää toisiin tyyleihin.
Valmiita tyylejä:
.tim { color: $basic-color} .red { color: red; } .blue { color: blue; } .green { color: green; } .lime { color: lime; } .yellow { color: yellow; } .white { color: white; } .gray { color: gray; } .lightgray { color: lightgrey; } .bggray { background: #e6e6e6; } .bgred { background: red; } .bgblue { background: blue; } .bggreen { background: green; } .bglime { background: lime; } .bgyellow { background: yellow; } .bglightgray { background: lightgrey; } .bgtim { background: $basic-color} .bgwhite { background: white; } .border { border: 1.00pt solid #000000; } .radius { border-radius: 0.3em; } .bgreadline { background: #ff6600c0; } .bgreadmodified { background: #ffff00c0; } .obs { border: 1.00pt solid #000000; padding: 0.1em; background: #e6e6e6;} /* .note .answer TODO: do we dare to use pure .answer? Otherwise it is not visible in preview */ .answer { color: $answer-color; } .smaller { font-size: smaller; } .small { font-size: small; } .x-small { font-size: x-small; } .xx-small { font-size: xx-small; } .larger { font-size: larger; } .large { font-size: large; } .x-large { font-size: x-large; } .xx-large { font-size: xx-large; } img.smallimage { display: inline; } .text-start .parContent { text-align: left !important; }
Lisäksi normaalin TIM-painikkeen saa tehtyä:
Lisäksi normaalin [TIM-painikkeen]{.timButton} saa tehtyä:
Näitä tyylejä voidaan käyttää myös lohkojen tyyleinä. Ja kuten lohkotyylienkin kanssa, voit määritellä itse dokumenttiisi lisää tyylejä tarpeen mukaan.
8.3 Tooltippien lisääminen
Joskus halutaan niin, että ilmestyy lisäteksti kun kursorin vie tietyn sanan tai lauseen päälle. Kokeile seuraavassa kissa
-sanaa:
Joskus kissa istuu puussa.
Tämä saadaan kirjoittamalla:
Joskus [kissa]{title="eläin"} istuu puussa.
Tämän voi toki yhdistää muiden tyylien kanssa, esim värin:
Joskus kissa istuu puussa.
Tämä saadaan kirjoittamalla:
Joskus [kissa]{.red title="eläin"} istuu puussa.
Laittamalla dokumentin css-asetuksiin esimerkiksi:
.hred:hover {
color: red;
}
saadaan:
Joskus kissa istuu puussa.
kun kirjoitetaan:
Joskus [kissa]{.hred title="eläin"} istuu puussa.
Saisiko tooltipin tekstin sijaan näkyviin esim. texiä tai kuvan?
VL: saa, lopussa esimerkki, LaTeX vastaavasti
—Myös kosketuslaitteilla toimiva tooltip saadaan, jos halutaan kikkailla vielä lisää tyyliasetuksilla. Tässä on myös se hyvä puoli, että saadaan kopioitavissa oleva tooltipin sisältö.
.mytooltip {
position: relative;
border-bottom: 1px dotted black;
}
.mytooltip .tooltiptext {
visibility: hidden;
background-color: black;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px;
/* Position the tooltip */
position: absolute;
top: -1.9em;
left: -0px;
z-index: 1;
}
.mytooltip:hover .tooltiptext {
visibility: visible;
}
jolloin saadaan:
Joskus kissaeläin istuu puussa.
kun kirjoitetaan:
Joskus [kissa[eläin]{.tooltiptext}]{.red .mytooltip} istuu puussa.
Jos edellä olevia joutuu kirjoittamaan paljon, voisi kirjoittamista vähentää lisäämällä dokumentin asetuksiin makron:
macros:
tooltip: "]{.tooltiptext}]{.red .mytooltip}"
jolloin riittäisi kirjoittaa:
Joskus [kissa[eläin%%tooltip%% istuu puussa.
Periaatteesa em. tavalla voi tooltippiin sijoittaa mitä vaan MarkDown-koodia, eli
Joskus kissa istuu puussa.
syntyy kun kirjoittaa
Joskus [kissa[![](/images/209705/image.png)]{.tooltiptext}]{.red .mytooltip} istuu puussa.
8.4 Kelluvat lohkot
Lohkoja voi muuttaa kelluttaviksi antamalla lohkon määritellyssä
#- {float="true" float_caption="Otsikko"}
Tämä on kellutettava lohko
Kellutettavan lohkon voi "irrottaa" kelluvaksi lohkon yläpuolella olevalla -painikkeella:
Tämä on esimerkki lohkosta, joka voi irrottaa kelluvaksi.
Irrotetun lohkon voi siirtää, ja sen kokoa voi muuttaa. Irrotettu lohko käyttäytyy kuin ikkuna.
9. Linkkien lisääminen
Jos linkille ei haluta erillistä otsikkoa, riittää kirjoittaa linkki sellaisenaan <>
-merkkien väliin.
<http://fi.wikipedia.org/wiki/Koira>
Jos halutaan erillinen otsikko, saadaan linkki kissa Wikipediassa seuraavasti:
[kissa Wikipediassa](http://fi.wikipedia.org/wiki/Kissa)
Toisen TIM-dokumentin tiettyyn kohtaan viitataan koko dokumentin polulla:
[linkkien lisääminen ohjeessa](/view/tim/TIM-ohjeet#linkkienlisaaminen)
Dokumentteihin voi viitata URL-osoitteella:
[linkkien lisääminen ohjeessa](https://tim.jyu.fi/view/tim/TIM-ohjeet#linkkienlisaaminen)
Dokumenttilinkeissä kannattaa välttää alkuosan https://tim.jyu.fi
käyttämistä, jotta linkit eivät riippuisi TIMin osoitteesta.
Yksittäisiin lohkoihin voidaan lisätä hyppyankkureita lisäämällä lohkon alkuun
#- {#linkki}
tai otsikoihin tyyliin
## Kissat valloillaan {#kissat}
Otsikothan saavat toki automaattisestikin ankkurin, jonka voi katsoa kun vie kursorin otsikkorivin oikeaan reunaa ja katsoo siellä olevasta #-merkistä. Näitä automaattisia ankkureita on kuitenkin huono käyttää pysyvinä linkkeinä, koska automaattinen ankkuri muuttuu, mikäli otsikkotekstiä muutetaan. Siksi otsikkoon itse laitettu ankkuri pysyy paremmin muuttumattomana.
Itse määritetyt ankkurit kannattaa nimetä selkeästi erilaiseksi kuin kaikki otsikot. Joissain tapauksissa järjestelmä ei osaa erottaa otsikosta tehtyä automaattista ankkuria itse määritetystä, ja silloin linkki dokumentin sisäiseen ankkuriin saattaa johtaa väärään kohtaan dokumenttia.
Linkki dokumentin sisäiseen ankkuriin saadaan kirjoittamalla:
[tekstiä](#linkki)
10. Taulukot
TIMiin voi tehdä kahdentyyppisiä taulukkoja: TIMiin varta vasten kehitettyjä TimTableja, ja vanhempia, TIMin hyödyntämän Pandoc-sovelluksen valmistaulukoita. TimTablet ovat ilmaisuvoimaisempia ja helpompia muokata, ja niiden ohje löytyy täältä.
Muut tämän luvun ohjeet koskevat Pandoc-sovelluksen valmistaulukoita.
Pandoc-taulukoita voidaan tehdä useita erilaisia. Helpoin on perustaulukko, jossa on lyhyitä tekstejä sarakkeissa. Otsikkorivin otsikon sijainti sen alla olevaan viivaan nähden määrää, miten sisältö keskitetään. Sarakkeet määräytyvät viivassa olevien välien mukaan. Tosin tämä muoto on hyvin tarkka sille että sisällöt ovat sopivasti allekkain. Jos tämä on ongelma, käytä myöhemmin esiteltävää tolppaeroteltua taulukkoa.
Kaikista käyttökelpoisin taulukkomuoto on ehkä tolppa (|
)-eroteltu taulukko. Hyöty on siinä, että sarakkeiden ei tarvitse olla täsmälleen kohdakkain, ainoastaan tolppien määrä ratkaisee sarakkeiden paikat. Tolppaerottelussa on sekin hyvä puoli että TIMin makrolaajennukset toimivat niiden sisällä rikkomatta taulukkoa.
Taulukoita tehdessä apuna voi olla että painaa Ins
-painiketta, jolloin voi vaihtaa lisäystilan ja päällekirjoitustilan välillä. Samoin erityisesti viivoitetuissa taulukoissa voi käyttää apuna editorin ominaisuutta, missä pitämällä -painiketta pohjassa maalauksen aikana, saa maalattua suorakulmaisen muotoisia alueita. Esimerkiksi pystyviiva on helppo lisätä maalaamalla sarakkeen kohdalle nollalevyinen suorakaide (taulukon korkuinen) ja sitten painamalla tolppa (|
) -merkkiä, saa koko maalatun alueen korvaantumaan tolppa-merkeillä. Tässä ohjeessa em. toimii kun painaa Highlight
-editorin päälle. Se onkin päällä itse tavallista dokumenttia muokattaessa.
Parempaa taulukkoeditoria odotellessa voit luoda taulukoita esimerkiksi Table Editor sivun avulla kun valitset kohteeksi Markdown. Toinen vaihtoehto on Tables Generator
11. Kuvien lisääminen
11.1 Tavallinen kuva
Jos kuvan kokoa ei haluta muokata, voidaan kuva lisätä koodilla jossa on ensin kuvaotsikko ja sitten kuvan osoite. Huomaa että linkkiin verrattuna erona on se, että koodi alkaa huutomerkillä:
Mikäli kuvaa ei valmiiksi ole netissä missään, voidaan se lisätä TIMiin editorin Upload file/image
-välilehdeltä.
11.2 Kuvan kokoa halutaan muuttaa
Jos taas kuvan kokoon halutaan vaikuttaa, niin voidaan kirjoittaa kuvan perään aaltosulkeisiin kuvan koon määräävät attribuutit:
Mikäli toinen kokoa määrittävä attribuutti jätetään pois, niin silloin toinen määrää kuvan sen suuntaisen koon ja toinen määräytyy automaattisesti kuvasuhteesta. Siksi useimmiten onkin järkevää antaa vain toinen attribuutti.
Edellä mainitulla tavalla tehtyjä kuvioita voidaan sijoittaa myös taulukoihin. Seuraavana esiteltävää pluginiin perustuvaa kuvaa ei voida sijoittaa taulukkoon.
Kuvan koko voidaan määritellä myös käyttämällä kuva-pluginia (jos koodin kirjoittamisen jälkeen kuva ei näy, paina Refresh,
). Kuva plugin käyttö on hyödyllistä lähinnä silloin jos halutaan hyödyntää muitakin pluginin tarjoamia attribuutteja.11.3 Vinkki kuvan lisäämiseen
Levyltä olevia kuvia on kohtuullisen helppoa lisätä seuraavalla kikalla:
- avaan Windows Explorer (tai Macin Finder) yhteen ikkunaan
- avaa TIMin ediitorissa välilehti
Upload file/image
- raahaa Explorerista kuva
Choose File
-painikkeen päälle
Jos käytät editorina Html:n TextArea editoria (paina Editor
painiketta), niin voit raahata kuvia suoraan editoriin. Kursori pitää ennen raahaamista olla siinä kohti, johon haluat kuvan tulevan.
Tabletista tai käännykästä kuvan voi lisätä painamalla Choose File
ja sitten valitsemalla että otetaan kameralla kuva.
11.4 Kuvan lisääminen leikepöydältä
Kuva lisätä suoraan leikepöydältä Paste
toiminnolla, siis Ctrl-V
tai hiiren oikealla ja Paste.
Kuvan lisääminen leikepöydältä toimii sekä TextArea että ACE-editorissa.
11.4.1 Kätevä kikka Windows kuvankaappauksen tekemiseen
Erilaisia käyttöohjeita kirjoitettaessa on kiva saada kuvakaappaus nopeasti ruudulla olevasta ohjelmasta.
Paina
+ + , niin aukeaa työkalu ruudulta leikkaamiseen ja sitten kun leikkaus päättyy, niin kuva on leikepöydällä, josta sen saa sitten TIMiin + .Katso myös Print Screen Key käyttö.
Windowsin oma Snipping tool on osin käyttökelpoinen, mutta sillä kuvan muokkaaminen on työlästä. Hyvältä ja monipuoliselta vaikuttaa ilmainen ShareX, jolla voi myös tehdä lyhyitä GIF-animaatioita. Siinä kannattaa ensin vaihtaa haluamansa pikanäppäimet ja sitten asetus että kaappauksen jälkeen kuva menee leiköpöydälle (ei turhaan tiedostoon eikä palvelimelle) sekä ehkä käynnistää muokkauseditorin jolla voi tehdä korostuksia kuvaan.
11.5 SVG-kuva
SVG-kuva voidaan lisätä tavallisena kuvana. Mutta jos SVG-kuva sisältää linkkejä, niin ne eivät toimi tavallisena kuvana esitettäessä.
Dokumentissa SVG on esitetty muita tapoja laittaa SVG-kuvia TIMiin.
11.6 Kuvat rinnakkain
Mikäli kuvia haluaa laittaa samalle riville useita rinnakkain, voi sen tehdä esimerkiksi tekemällä asetuksiin dokumenttikohtaisen tyylin
css: |!!
.palstatKaksi img {
max-width: 100%;
display: inline;
margin: 0 auto;
}
!!
Huomattakoon että tässä tapauksessa ei tule kuvatekstejä.
Jos haluaa käyttää valmiita tyylejä, saman saa aikaiseksi:
#- {.mathp .inline}
![Kuva 1](/static/images/tim-logo_42height.png)
![Kuva 2](/static/images/tim-logo_42height.png)
11.7 Isot kuvat
Jos dokumentin palstatila ei riitä isolle kuvalle leveyssuunnassa, kuvaa skaalataan pienemmäksi. Palstan kokoa voi kuvien osalta leventää tekemällä ensin asetuksiin dokumenttikohtaisen tyylin:
css: |!!
.isokuva img {
max-width: 130%;
display: inline;
margin: 0 auto;
}
!!
Ja kasvattamalla tai pienentämällä max-width -arvoa tarpeen mukaan.
#- {.isokuva}
![](/images/128473/kartta.png)
11.8 Kuvat tekstin seassa
Mikäli kuvia halutaan tekstin sekaan, voidaan niille antaa .smallimage
-tyyli. Samalla voidaan määrätä myös kuvan koko jos tarvitsee.
11.9 Useita vuorottelevia kuvia
Jos halutaan näyttää samassa kohdassa useita vuorottelevia kuvia (carousel) pitää käyttää - showImages -komponenttia.
11.10 Kuvien piirtäminen ohjelmallisesti
TIMIssä kuvia voi piirtää useilla eri ohjelmilla ja näin voidaan tehdä käyttäjälle interaktiivisia kuvia, joissa käyttäjä voi muuttaa kuvan tekemiseen käytettyjä lähtöarvoja.
Aina interaktiivinen kuva ei ole itseisarvo, mutta sen piirtämisessä jollakin ohjelmalla on se etu, että kuvan piirtämiseen käytetty lähdekoodi säilyy TIMissä ja on siten nopeasti muutettavissa jos jotakin pientä tekstiä tai lähtöarvoa pitää muuttaa. Jos dokumentti sisältää paljon tällaisia kuvia, jotka joudutaan laskemaan uudelleen dokumenttia ladattaessa, hidastuu dokumentin lataantuminen. Tähän auttaa kuvien laskeminen käteismuistiin (cache).
Tätä toimintoa voidaan käyttää minkä tahansa ohjelman kanssa, joka tuottaa kuvan tai tekstiä, esimerkiksi Python:
``` {plugin="csPlugin" #pythonkuvaaja}
type: py
cache: true
imgsource: image.png
fullprogram: |!!
import numpy as np
import matplotlib.pyplot as plt
plt.plot([1, 3, 2,1,6,9,1 ])
plt.savefig('image.png')
!!
```
Tästä tarkemmin ohjeita csPlugin-ohjeessa.
Kuvia voi piirtää myös \(\text{\LaTeX}\)in Tikz-komennoilla.
11.11 DrawIO piirto-ohjelmalla lisätyt kuvat
DrawIO-piirto-ohjelmalla voit piirtää staattisia kuvia joita on helppo jatkossa ylläpitää TIMissä.
Voit tehdä myös tehtäviä, joissa lukijan pitää itse piirtää kuvia. Kuvat voi aloittaa tyhjästä tai niille voi tehdä pohjan jota aloitetaan muokkaamaan.
DrowIO-piirto-ohjelman käyttämisestä on omat sivut.
11.12 Kuvien katseluoikeudet
Dokumenttiin ladatut kuvat näkyvät vain niille käyttäjille, joilla on itse dokumenttiin vähintään katseluoikeus. Jos katseluoikeus dokumenttiin poistetaan, niin myöskään kuvia ei enää näe, vaikka käyttäjällä olisi niihin suorat linkit.
Jos dokumentti kopioidaan Manage-näkymän toiminnolla, siinä olevat kuvat näkyvät niille, joilla on vähintään yhteen kopioon katseluoikeus.
Yksittäisiä kuvia ei toistaiseksi voi oikeudellisesti liittää toisiin dokumentteihin. Toisin sanoen jos kuva K on alun perin ladattu dokumenttiin D ja kyseisen kuvan osoite lisätään toiseen dokumenttiin D2, niin K ei välttämättä näy kaikille niille, joilla on dokumenttiin D2 katseluoikeus, sillä kuvan K katseluoikeus määräytyy edelleen dokumentin D perusteella.
Kuvan liitos dokumenttiin ei poistu, vaikka kuvalinkin pyyhkisi pois dokumentista, eli kuvan pystyy näkemään edelleen suoralla kuvalinkillä, jos dokumenttiin on katseluoikeus.
Yllä oleva koskee myös muita ladattuja tiedostoja.
TIM osaa automaattisesti laajentaa kuvan oikeudet uusiin dokumentteihin. Tämä edellyttää, että
- Kuva on ladattu TIMiin
- Sinulla on vähintään manage-oikeus dokumenttiin, johon kuva oli alunperin ladattu
- Sinulla on vähintään edit-oikeus dokumenttiin, jossa haluat kuvan näkyvän
- Sinulla on tiedossa kuvan URL-osoite
Silloin kuvan oikeus automaattisesti kopioituu dokumenttiin, kun lisäät kuvan linkin kohdedokumentin johonkin lohkoon. Siinä tapauksessa kaikki kohdedokumenttiin view-oikeuden omaavat voivat myös nähdä kuvan. Huomaa, ettei oikeuden automaattinen kopioituminen ei toimi toistaiseksi lohkokopioinnin tai lohkoviittauksen kanssa. Kuvan oikeus kopioituu vain, jos kuvan URL-osoite lisätään lohkoon.
Yksi varmempi tapa kiertää rajoitusta, että kuville ei voi erikseen antaa katseluoikeutta on tehdä itselleen muutama "kuvienjakodokumentti", joihin lataa kuvat ja sitten muissa dokumenteissa käyttää samaa linkkiä. Silloin oikeuksia voi säätää tuolla "kuvienjakodokumentilla". Yhdessä dokumentissa voisi olla vaikka kaikille sallitut kuvat (anonymous user) ja dokumentin oikeus vastaavasti. Toisessa kirjaantuneille jne.
12. Videoiden lisääminen
Videoita voidaan lisätä koodilla (jos koodin kirjoittamisen jälkeen kuva ei näy, paina Refresh,
):Youtube-videoissa voi käyttää myös normalia katselulinkkiä ja TIM muuttaa sen automaattisesti vaaditavaan embed
-muotoon. Eli toimi myös
file: https://www.youtube.com/watch?v=cHJ73xVOFD4
Huomaa kuitenkin ettei linkki saa sisältää mitään ?
-merkin jälkeistä osaa kuten index=4
tms.
Jos halutaan tehdä "vähemmän tyrkyllä" oleva videolinkki tyyliin:
voidaan se tehdä koodilla
Videosta voidaan toki jättää alku- ja loppuajat pois, mikäli niitä ei tarvita. Kokeile muokata edellisessä esimerkissä videon aikoja.
Videot eivät ole tehokkuussyistä ladattuna ennenkuin käyttäjä klikkaa videon ikonia. Videot näkyvät aluksi valitun kokoisena, mutta videon alalaidasta voi videon klikata koko ruudun kokoiseksi.
Moniviestinvideota varten ota file
-kohtaan tuleva osoite moniviestimessä kohdasta Lataukset
ja sieltä se parhaan resoluution kohdalla oleva osoite. Poista myös mahdollinen iframe-rivi.
12.1 Tekstitysten lisääminen
Videoihin voidaan liittää mukaan tekstityksiä WebVTT muodossa.
WEBVTT Kind: captions; Language: fi
1
00:00:00.000 --> 00:00:02.610
Tervetuloa! Tässä videossa
2
00:00:02.750 --> 00:00:03.300
kerrotaan kissoista.
Tekstitykset kannattaa laatia erillisenä TIM-dokumenttina, jolloin niitä pystyy muokkaamaan samaan tapaan kuin muita dokumentteja, ja niiden sijainnit lisätään videon asetuksiin URL-osoitteina. Tekstitystiedoston asetuksissa (ratas ja Edit settings) tulee olla rivi
textplain: true
Vaihtoehtoisia tekstityksiä voi olla useampia, jolloin kuvaavat nimet auttavat erottamaan ne toisistaan.
subtitles:
- name: esittely
file: /print/users/tekstitykset/esittely.vtt
Huomaa, että jos tekstitys on TIMissä, niin otetaan nimenomaan se print
-näkymä, ei normaali view
-näkymä. textplain: true
tekee sen että print
-näkymään tulee vain dokumentin tekstisisältä.
Tekstityksiä ei voida kuitenkaan liittää YouTuben kautta upotettuihin videoihin. Tekstitykset tulee lisätä kyseiseen palveluun, jolloin ne tulevat TIMiin katseltavaksi.
12.1.1 Oletustekstitykset
Oletuksen voi muuttaa asetuksella defaultSubtitles
. Esimerkiksi
defaultSubtitles: esittely
subtitles:
- name: esittely
file: /print/users/tekstitykset/esittely.vtt
pakottaa esittely
-raidan päälle, kun video käynnistyy.
Oletustekstitykset automaattisesti kielen mukaan
Oletustekstityksen voi automatisoida valitsemaan tekstitysraidan selattavan dokumentin kielen mukaan. Tämä on hyödyllistä etenkin jos dokumentista ja videon tekstityksistä on käännöksiä monille eri kielille. Tämä onnistuu käyttämällä makroja seuraavasti:
- lisää dokumentin asetuksiin seuraavanlaiset makrot ja makrofunktio (esimerkissä käytetään
subtitles
mutta funktiolle voi määrittää haluamansa nimen), jonka avulla generoidaan tekstitysraitojen määritykset:
macros:
subtitleHome: "/print/users/tekstitykset"
documentLanguages:
- fi
- en-US
- ko
- it
- uk
subtitleNames:
fi: "suomi"
en-US: "English"
ko: "한국어"
it: "italiano"
uk: "українська"
globalmacros:
ADDFOREVERY: |!!
{% macro subtitles(vttfile) +%}
{% for L in documentLanguages %}
- name: %%subtitleNames[L]%%
file: %%subtitleHome%%/%%vttfile%%/%%L%%
{% endfor %}
{%- endmacro %}
!!
Yllä olevassa listauksessa määriteltyjen makrojen tarkoitukset ovat seuraavat:
subtitleHome
määrittää polun kansioon, josta videon tekstitykset löytyvätdocumentLanguages
määrittää, mille kielille dokumentti on käännettysubtitleNames
määrittää, mikä nimi minkäkin kieliselle tekstitysraidalle annetaan (nämä näkyvät myös käyttäjälle hänen valitessaan tekstityskieltä videosoittimesta)
- aseta videon tekstitysmääritykset seuraavasti:
defaultSubtitles: %%doclang%%
subtitles:
%%subtitles("esittely.vtt")%%
Käytä tätä tismalleen samaa määritystä kaikissa dokumentin käännöksissä myös. defaultSubtitles
-määritykselle annettu TIMin globaali doclang
makro tuottaa parhaillaan selattavan dokumentin kielikoodin merkkijonona, jolloin selain osaa valita sitä vastaavan tekstityksen.
12.2 Moniviestimen tekstitykset
Moniviestimeen valmiiksi lisätyt tekstitykset tulevat videon valikkoon näkyville käyttämällä upotettua linkkiä. Tällä tavalla tekstitykset saa TIMin videoon näkyville kopioimatta niitä ensin erilliseen TIM-dokumenttiin. Valitse Moniviestimen upotuslinkki, jos aikomuksena on käyttää Moniviestimen tekstityksiä.
iframe: true
file: https://m3.jyu.fi/jyumv/embed?uid=8408ebbfc5f64a7cb813876a150f98d1
Moniviestimen automaattitekstitys tekee videoon valmiit aikaleimat, jolloin tekstityksestä riittää tarkistaa tekstityksen oikeellisuus ja kirjoitusasu. Tätä helpottamaan tekstitys voidaan kopioida TIM-dokumenttiin muokattavaksi. Valitse Moniviestimen latauslinkki, jos aikomuksena on käyttää TIMin tekstityksiä.
iframe: false
file: https://m3static.cc.jyu.fi/m3videos/3/jyumv/8408ebbfc5f64a7cb813876a150f98d1/8408ebbfc5f64a7cb813876a150f98d1_SDH264-20200930-07091601450738.mp4
subtitles:
- name: esittely
file: /print/users/tekstitykset/esittely.vtt
12.3 Videon taustakuvan (thumbnail) muuttaminen
Oletuksena videon taustakuvana on iso sininen 'play'-nappi. Jos tuon haluaa vaihtaa, riittää lisätä videopluginin asetuksiin kohta
thumbnailFile: [polku kuvaan]
Valitettavasti suoraan videosta ei saa automaattisesti kuvaa, mutta kuvan voi luoda vaikkapa ottamalla kuvakaappauksen (tai sitten jopa piirtää oman kuvan) ja tuolla thumbnailFile
-asetuksella asettaa se kuvaksi. Kuvan voi myös jopa ladata TIMiin editorin Upload-välilehdeltä ja käyttää ladatun kuvan linkkiä pohjakuvana. Esimerkiksi näin:
``` {#V3 plugin="showVideo"}
stem: 'TIM esittely 5.6.2015 "Tietojenkäsittelytieteen päiviltä" videoituna'
videoname: TIM
start: "01:15"
end: "01:30"
width: 800
height: 600
file: "http://kurssit.it.jyu.fi/TIEP111/2015/tim/tim02.mp4"
thumbnailFile: /images/631685/Screenshot_2023-11-15_144845.png
```
Tämä näyttää siis seuraavanlaiselta (esimerkissä taustakuva ja video eivät liity toisiinsa):
TIM esittely 5.6.2015 "Tietojenkäsittelytieteen päiviltä" videoituna
Video-ikonin (sinisen 'play'-napin) saa pois laittamalla videopluginin asetuksiin
videoicon: false
13. Matemaattisten kaavojen kirjoittaminen
Matemaattiset kaavat kirjoitetaan $$
-merkeillä erotettuun väliin.
Monivalintakysymyksissä matematiikkaa kirjoitettaessa pitää teksti kirjoittaa yksinkertaisiin lainausmerkkeihin, eli kirjoittaa esim:
stem: 'Määrätty integraali $\int_a^b f(x) dx$...'
AMS-\(\text{\LaTeX}\)ista tuttuja align-ympäristöjä ja muita sellaisia ei voi käyttää, mutta varsin laaja osa AMS-\(\text{\LaTeX}\)in kaavakielestä on kaavojen sisällä käytettävissä. align-ympäristönkin puute on kierrettävissä:
13.1 Kaavojen esittäminen SVG-muodossa
Oletuksena matemaattiset kaavat "piirretään" käyttäjän selaimessa dokumentin latautuessa, jolloin paljon matematiikkaa sisältävät dokumentit tuntuvat latautuvan hitaasti. Lisäksi selain ei osaa piirtää aivan kaikkia \(\text{\LaTeX}\)in osaamia kaavoja.
Ongelman ratkaisemiseksi on olemassa dokumentti- ja lohkokohtainen asetus math_type
, joka voi saada arvon mathjax
(joka on oletus) tai svg
. Asettamalla arvoksi svg
kaavat piirretään palvelimella, jolloin selaimen tehtäväksi jää ainoastaan kaavan esittäminen. Lisäksi saadaan käyttöön laajempi joukko kaavoja, koska kaavat ladotaan \(\text{\LaTeX}\)-moottorilla.
``` {settings=""}
math_type: svg
Kun dokumenttiin tekee tämän muutoksen, kestää seuraava dokumentin latauskerta helposti 10-15 min. Tätä lataamista pitää vaan yrittää virheilmoituksesta huolimatta ehkä kymmenenkin kertaa, jotta kaikki kaavat saadaan ladattua. Tämän jälkeen seuraavat käyttäjät saavat kaavat nopeammin näyttöönsä (ominaisuutta yritetään automatisoida, mutta tähän hätään tuo refresh-tekniikka...).
HUOM: Kaavojen piirtäminen SVG-tilassa voi tuottaa erilaisia tuloksia kuin selainpiirtäminen!
math_type: mathjax
käyttää kaavojen piirtämiseen MathJax tai KaTeX -työkalua, joiden syntaksi paikoin poikkeaa todellisesta \(\text{\LaTeX}\):n matematiikasta. Tästä syystä math_type: svg
-asetuksen kytkeminen päälle saattaa rikkoa jotain matemaattisia kaavoja. Alle on listattu jotain esimerkkejä sekä ehdotuksia niiden "yhteensopivalle" kirjoitustavalle (eli tapa, joka on yhteensopiva \(\text{\LaTeX}\)-piirtämisen kanssa).
$\LaTeX$
: Aiheuttaa virheen, koska tämä on matemaattinen symboli MathJaxissa, muttei \(\text{\LaTeX}\):ssa. Yhteensopiva kirjoitustapa:$\text{\LaTeX}$
.
Lisätietoja eroista lötyy MathJaxin dokumentaatiosta.
13.1.1 Esimerkki lohkokohtaisesta asetuksesta
Seuraava markdown:
#- {math_type="svg"}
$a+b$
tuottaa:
13.1.2 Matematiikan alustuskomennot
SVG-kaavoissa saattaa toisinaan tarvita \(\text{\LaTeX}\)-paketteja, jotka eivät oletuksena ole käytössä. Tällöin voi käyttää dokumentti- ja lohkokohtaista asetusta math_preamble
, johon voi syöttää merkkijonona halutut alustuskomennot.
Alapuolen esimerkissä alustuskomennoksi annetaan \usetikzlibrary{shapes}
. Huomaa, että merkki \
täytyy kahdentaa.
#- {math_type="svg" math_preamble="\\usetikzlibrary{shapes}"}
\begin{tikzpicture}
\node[draw=black,shape=diamond] {diamond};
\end{tikzpicture}
Tämä tuottaa:
Mikäli samaa pakettia tarvitsee hyvin monessa lohkossa, voi paketin latauksen ilmoittaa dokumentille globaalisti, eli muokkaamalla asetukset (rattaan kuva ja Edit settings
) esimerkiksi (mallissa myös laitettu automaattinen otsikoiden numerointi):
``` {settings=""}
auto_number_headings: 1
math_type: svg
math_preamble: '\usepackage{gensymb}'
```
Useampaa pakettia ladatessa täytyy rivit erotella:
``` {settings=""}
auto_number_headings: 1
math_type: svg
math_preamble: |!!
\usepackage{color}
\usepackage{gensymb}
!!
```
Vastaavalla tavalla voi muuttaa \(\text{\LaTeX}\)-asetuksia. Jos esimerkiksi haluaa muuttaa matriisien ja kaavojen riviväliä, onnistuu se muuttamalla arraystretch
-muuttuja:
math_preamble: '\renewcommand{\arraystretch}{1}'
TIM:n oletus rivivälille verkkosivuilla on 1.5
, joka poikkeaa siis \(\text{\LaTeX}\):n oletusarvosta 1
. Täten yllä oleva rivi palauttaa rivivälin takaisin arvoon 1
.
Tällä attribuutilla voi antaa myös \(\text{\LaTeX}\)-makroja. Esimerkiksi jos haluaa käyttää merkintää \R
reaalilukuja varten, voi tehdä \(\text{\LaTeX}\)-makron
math_preamble: '\newcommand{\R}{\mathbb{R}}'
Jos tämän laittaa dokumentin asetuksiin, niin se vaikuttaa kaikkiin kaavoihin. Jos dokumentin asetuksissa on jo math_preamble
, pitää tämä laittaa kuten usean paketin latauksessa, eli
``` {settings=""}
auto_number_headings: 1
math_type: svg
math_preamble: |!!
\usepackage{color}
\usepackage{gensymb}
\newcommand{\R}{\mathbb{R}}
!!
```
Jos dokumentin asetuksia muutetaan, ei automaattisesti kaikkia \(\text{\LaTeX}\) SVG-kaavoja lasketa uudestaan, ainoastaan ne, jotka muuttuvat asetusten muuttamisen jälkeen. Kaikki kaavat saa virkistettyä kirjoittamalla osoiterivillä sivun osoitteen perään
?nocache=true
eli esimerkiksi tämä sivu laskettaisiin kokonaan uudestaan jos osoiterivillä osoite muutetaan muotoon:
https://tim.jyu.fi/view/tim/TIM-ohjeet?nocache=true
Jos sivulla on paljon kaavoja voi uudelleenlaskenta kestää useita minuutteja.
Mikäli määrittelee omia paketteja tai makroja, pitää huomata että samat määritykset tulevat myös tulostukseen, mikäli dokumenttia halutaan tulostaa. Eli kokonaisuutena edellinen pelkkä makro pitäisi olla tulostus huomioon ottaen (ks: Tulostuksen käyttöohje, tuo lisäksi tietysti kaikki muuta tarvittavat asetukset):
``` {settings=""}
math_type: svg
math_preamble: |!!
\newcommand{\R}{\mathbb{R}}
!!
texmacros:
texmacros: |!!
\newcommand{\R}{\mathbb{R}}
!!
```
Jos on paljon dokumentteja samassa hakemistossa, joihin lisäys tarvitaan, voi kannattaa harkita preamble-dokumentin tekemistä ja laittaa määritykset sinne.
14. Syöttökentät
Toistaiseksi erilaisten "pluginien" lisääminen TIM dokumenttiin vaatii kirjoittajalta hieman ylimääräistä vaivaa. Kunhan projektille saadaan lisää rahoitusta, niin muokkaustilaa parannetaan niin, että näiden vuorovaikutteisten osioiden lisääminen on helpompaa.
14.1 Tekstin syöttäminen
Syöttökenttä saadaan lisäämällä lohko jossa on seuraava koodi:
``` {#taskNimi plugin="csPlugin"}
type: text
button: Tallenna
rows: 1
placeholder: 'Kirjoita nimesi (sukunimi etunimi)'
stem: 'Vastaajan nimi (sukunimi etunimi):'
```
Tällä saadaan seuraavanlainen syöttökenttä:
Näiden niin sanottujen pluginien kielenä on YAML. Kieli koostuu attribuuteista ja niiden arvoista. Tässä on erittäin tärkeää että attribuutit kuten type
, button
jne alkavat vasemmasta reunasta ja niiden jälkeen on kaksoispiste. Jos itse sisältö tarvitsee kaksoispisteen, on sisältö laitettava lainausmerkkeihin. Mikäli syöttökenttään halutaan jokin oletusarvo, se voidaan tehdä byCode
-attribuutin perään.
Pluginin esittely alkaa kolmella takaperoisella heittomerkillä ```. Sen jälkeen aaltosulun jälkeen on risuaita (#
) jonka perään pitää antaa yksilöivä nimi, jolla kenttään syötetty teksti tallentuu tietokantaan. Nimi ei saa sisältää pistettä.
14.2 Luvun syöttäminen
Lukuja voidaan syöttää edellisen esimerkin mukaisesti tekstialueeseen tai voidaan tehdä pienempi alue /tiny
määreellä. Toki myös tekstiä voidaan lukea samalla tavalla kunhan oikeellisuustieto käsitellään eri tavalla kuin alla olevassa esimerkissä.
Oikeellisuustarkistusta varten annetaan pistesääntöihin attribuutti numberRule
. Tämän perään kirjoitetaan kolme lukua (mahdolliset kirjaimet tai välimerkit niiden välistä hävitetään) joista ensimmäinen määrittää montako pistettä saa mikäli luku on kahden seuraavan välissä rajat mukaan lukien.
Tarvittaessa rajoja voidaan antaa useampikin seuraavanlaisella säännöllä:
-pointsRule:
numberRule:
- 0.2 1 10 # 0.2 p jos luku on [1,10]
- 0.4 3 7 # 0.4 p jos luku on [3,7]
- 1 5 # 1 p jos luku on tasan 5
Mikäli säännöt ovat päällekkäisiä, eli käyttäjän vastaus osuu useampaan sääntöön, annetaan pisteet suurimman pistemäärän tuottavan säännön perusteella.
Voit kokeilla em. säännön toimintaa alla olevassa kentässä antamalla erilaisia arvoja luvulle.
Mikäli numeron syötöstä tai tekstin syötöstä haluaa antaa enemmän palautetta, pitää palaute kirjoittaa jollakin ohjelmointikielellä. Ks csPlugin. Edellä on myös ohjeet miten palautteen voi antaa esimerkiksi kuvana.
Mikäli halutaan tarkistaa että syöttö on oikeaa muotoa, voidaan vielä lisätä attribuutit tätä varten:
validityCheck: '^(10|[1-9])$'
validityCheckMessage: 'Anna kunnon numero'
14.3 Automaattinen pisteytys ja palautteen anto
Tekstuaalisia kenttiä voidaan pisteyttää ja antaa automaattista palautetta käyttämällä jotakin seuraavista:
15. Monivalinnat
Monivalitatehtävän tai yksi-monesta -tehtävän saa lisättyä kun valitsee editorissa Questions
ja sieltä haluamansa kysymystyypin ja sitten muuttelee pohjassa olevaa tekstiä.
On olemassa myös uudempi versio erilaisista kysymystyypeistä.
Käytettävän YAML-kielen syntaksista voi halutessaan lukea lisää dokumenteista:
Tehtäviin voi oletuksena vastata ne, joilla on View
-oikeus. Poikkeuksen muodostaa tilanne, jossa Anonymous
-käyttäjällä on dokumenttiin View
-oikeus. Oletuksen he voivat silloin katsoa tehtäviä, mutta eivät vastata. Jos halutaan että anonymous
-käyttäjätkin voivat vastata (silloin yksi vastaaja voi vastata useita kertoja vaihtamalla selainta), pitää tehtävien attribuutteihin lisätä rivi:
anonymous: true
15.1 True/False-tyyppiset kysymykset
Tämä on poistuva komponentti, käytä QST-kysymystyyppiä
Alla olevat esimerkit ovat mmcq
ja mcq
komponenteilla tehtyjä. Nuo poistuvat aikanaan käytöstä. Nykyisin suositellaan mieluummin käyttämään qst
-komponenttia jonka saa lisätty normaalista muokkausmenusta kohdasta Add question above
. Siinä on tehtävän tekemiselle käyttöliittymä ja enemmän vaihtoehtoja.
Esimerkiksi True/False kysymyksen:
Mitkä väittämät pitävät paikkaansa?
vastausten selityksineen saa lisäämällä tekstin:
Tehtävän tekemisessä käytettävä kieli on YAML, jossa pitää olla hyvin tarkkana sisennysten ja rivitysten kanssa. Helpointa on matkia yllä olevaa mallia ja Copy/Pasteta siitä uusia vaihtoehtoja. Muista aina vaihtaa #-merkin jälkeinen tehtävän tunnistenimi. Jos kahdella tehtävällä on sama tunniste, tallentuvat vastaukset samaan paikkaan.
TIMissä on myös muita kysymystyyppejä ja silloin niille on myös editori, jossa kysymyksiä voi muokata "graafisesti".
15.2 Yksi monesta -kysymykset
Tämä on poistuva komponentti, käytä QST-kysymystyyppiä
Mikäli haluaa tehdä "mielipidekysymyksen", voi jättää correct
ja myös reason
attribuutit pois, jolloin riittää kirjoittaa minimissään:
``` {#moni1 plugin="mmcq"}
headerText: ''
stem: "Miltä tuntuu"
choices:
- text: "Väsyttää"
- text: "Olen iloinen"
- text: "Jaksan huomiseen"
```
Vastaavasti saa aikaiseksi yksi "monesta tehtävän" kun mmcq
tilalle laittaa mcq
.
Myös mcq
tehtävään voi toki lisätä reason
ja correct
attribuutit.
Oletusotsikon (Check your understanding) voi poistaa/vaihtaa laittamalla attribuutin:
headerText: ''
15.3 Vastauskertojen lukumäärän rajoittaminen
Oletuksena monivalintatehtävissä on vain yksi yrityskerta.
Mielipidetyylisiä tehtäviä varten voi olla järkevää olla rajoittamatta vastauskertojen lukumäärää tai rajoittaa sitä jollain luvulla:
answerLimit: # kertoja ei rajoiteta lainkaan
answerLimit: 5 # yrityskertoja on 5 kpl
Tämä valinta toimii myös muissa "plugineissa". Asetus kirjoitetaan esimerkiksi stem
-sanan yläpuolelle.
15.4 Pistemäärän piilottaminen
Jos et halua, että tehtävästä saatu pistemäärä näkyy opiskelijalle, voit lisätä tehtävään asetuksen
showPoints: false
Opettajaoikeudella pistemäärä edelleen näkyy, mutta sen vieressä on huomautus "only visible to teachers".
15.5 Tehtävien arpominen
Tehtävien arpomiseksi suuremmasta joukosta katso: Satunnaistus.
16. Muut tehtävätyypit
Muita tehtävätyyppejä on esimerkiksi
- ohjelmointitehtävät, csPlugin
- raahaus- ja piirtotehtävät, ImageX
- matemaattiset tehtävät
- adaptiivinen palaute
- animaatiot
- osaamistavoitetaulukko
- visualisointi
- Muuttujien suhteiden kuvaaminen
Esimerkiksi palautuslaatikon, johon voi palauttaa kuvia tai PDF-tiedostoja, voi tehdä csPlugin-tehtävien sovelluksena.
``` {plugin="csPlugin" #PLUGINNAMEHERE}
stem: Voit palauttaa myös kuvan tai PDF
type: upload
```
Muutkin csPluginin attribuutit ovat käytettävissä palautuslaatikon koristelemiseen (kuten header
jne). Edellä mainittu esimerkki näyttäisi tältä:
Huomaa: TIM toistaiseksi laskee vastauksen palautusajaksi sen hetken, kun tiedosto on onnistuneesti ladattu ja prosessoitu. Erityisesti suurten PDF-tiedostojen kohdalla prosessointiaika saattaa olla minuutin kertaluokkaa.
Mikäli käytät upload
-tehtävätyyppiä sekä palautusajan rajoittamista, ota huomioon mahdollinen lataus- ja prosessointiajasta johtuva viive. Voit tarvittaessa käyttää answer_submit_time_tolerance
-dokumenttiasetusta, jotta hieman yli palautusajan lähetettyä tehtävää ei merkitä epävalidiksi.
Tehtävätyyppiä upload
ei kannata käyttää lyhyiden leipätekstivastausten (esim. ohjelmakoodinpätkät) palautukseen. Siihen soveltuvampi on type: text
, ellet halua käyttää jotakin tarkempaa ohjelmointitehtävätyyppiä. Alla oleva toimii myös millä tahansa ohjelmatehtävätyypillä.
Tähänkin saa mahdollisuuden palauttaa tiedosto lisäämällä siihen attribuutti upload: true
``` {#teksti2 plugin="csPlugin"}
type: text
upload: true
uploadstem: Lataa tai raahaa tekstitiedosto tähän tai kirjoita tai kopioi se alle.
highlight:
placeholder: ""
stem: "Kerro tähän tietosi kissoista"
button: Tallenna
rows: 5
```
17. Dokumentin asetukset ja dokumenttikohtaiset tyylit
Dokumenttikohtaisia asetuksia pääsee muuttamaan Settings
-lohkon kautta. Settings-lohkon saa näkyviin valitsemalla vasemmasta yläkulmasta rattaan kuvan ja siitä Edit Settings.
Täydellisempi lista dokumentin asetuksista löytyy dokumentista Dokumentin asetukset.
Lohkon muoto on esimerkiksi:
``` {settings=""}
auto_number_headings: 1
math_type: svg
global_plugin_attrs:
csPlugin:
stem: Kaikkien csPluginien yhteinen otsikko
deadline: '2019-02-25 23:10:05'
all:
stem: Kaikkien pluginien yhteinen otsikko
css: |!!
body {
background-color: lightgray;
}
!!
```
Huom! Edellä aika UTC:nä!
17.1 Dokumenttikohtaiset CSS-tyylit
Tässä luvussa kuvataan tyylien muuttamista CSS:ää muokkaamalla. Kannattaa kuitenkin tutustua myös ohjeeseen TIM ja tyylit, jossa neuvotaan miten voi käyttää hyväkseen "teemoja". Teemoja käyttäen saadaan paremmin yleistyviä ja ylläpidettäviä tyyliasetuksia.
Edellä olevalla css
.attribuutilla voi säätää dokumenttikohtaisia ulkoasusta. css:
-kohdan alle voi kirjoittaa mitä tahansa normaalia css
-koodia eri elementtien ulkoasun säätämiseksi. global_plugin_attrs
-kohtaan voi taas asettaa plugin-tyyppien mukaan oletusarvoja plugineille. Useimmiten tätä kohtaa ei tietysti ole, vaan säädetään esimerkiksi pelkästään dokumenttikohtaisia tyylejä.
Eli tyypillinen asetus voisi olla vaikkapa
``` {settings=""}
css: |!!
.huomautus {
background-color: lightblue;
}
!!
```
Settings-lohkon lisäämisen tai muuttamisen jälkeen sivu pitää virkistää (refresh, F5), jotta asetukset tulevat voimaan.
Eri tyylejä on helpoin muokata selaimen omassa muokkaustilassa, esim. Chromessa F12 ja sitten jotakin dokumentin lohkoa klikataan hiiren oikealla ja Inspect element
. Sitten kun saa muokattua mieleisensä tyylin, sen voi kopioida tuonne settings
-lohkoon.
Mikäli tuntuu etteivät asetukset vaikuta mitään, tarkista Manage
-tilassa ettei ennen settings
-riviä ole varmasti mitään.
Lueteltujen listojen tyylin vaihtaminen katso esim: list-syle-type eli asetuksiin esim:
css: |!!
ol {
list-style-type: upper-alpha;
}
Mikäli tekee dokumenttiin omia tyylejä ja halutaan tulostaa dokumentti laadukkaasti, pitää tehdä myös vastaava TeX-tyylit. Katso tästä lisää tulostusoppaasta.
Tyylejä voit opetalla myös HTML Cheat Sheetin avulla.
Seuraavassa videossa tehdään oma tyyli vain itseä varten. Dokumentti varten tyylin voi tehdä samalla tavalla, mutta tulos pastetaan asetusten css
-lohkoon.
17.2 Makrot
Makrojen avulla voit kirjoittaa esimerkiksi jonkin jatkuvasti toistuvan tekstin asetuksiin ja siten viitata tähän tekstissä. Jos tätä vakiotekstiä pitää muuttaa, riittää silloin muuttaminen yhdessä paikassa. Jos sinulla on jo settings
osa, niin täydennä makrot siihen, muuten luo settings-lohko (vasemman yläkulman rattaan kuvasta Edit settings):
``` {settings=""}
macros:
vuosi: '2019'
```
Kun tekstissä tarvitset makron arvoa, kirjoita
Vuoden %%vuosi%% kurssilla...
jolloin tämän näkyy tekstissä esimerkiksi:
Vuoden 2019 kurssilla...
Makroja voidaan kirjoittaa myös lohkon texmacros
alle. Silloin ne vaikuttavat vain TeX-tulostuksessa. Ominaisuudesta tarkemmin tulostuksen käyttöohjeessa.
17.3 Kirjainmakrot (charmacros)
Kirjainmakroilla saadaan yksi kirjain laajentumaan isommaksi alueeksi.
Jos asetuksiin laitetaan esimerkiksi
charmacros:
£: "punta"
USA$: "dollari"
jolloin kirjoittamalla
Englannin rahayksikkö on £ ja USAn USA$.
saadaan teksti:
Englannin rahayksikkö on punta ja USAn dollari.
Mikäli käytetään kirjainmakroja, on oltava huolellinen mitä kirjaimia sillä määritellään. Määrittelyn jälkeen vastaavia kirjaimia (tai yhdistelmiä) ei ole käytössä tavalliseen tarkoitukseen. Määriteltäväksi kannattaa valita sellaisia merkkejä tai merkkiyhdistelmiä (nimestä huolimatta määriteltävä symboli voi olla joukko merkkejä), joita tekstissä ei tarvita muualla.
Hätätilassa lohkon alkuun voi aina merkitä
#- {nomacros=true}
jolloin mitään makroja ei suoriteta ko. lohkossa ja voidaan vapaasti kirjoittaa kaikkia merkkejä.
Valmiita kirjainmakroja on esimerkiksi automaattisen numeroinnin tilassa:
charmacros:
'{§': '%%"' # nimetyn laskurin alku
'\§}': '"|c_tag%%' # nimetyn laskurin loppu kun tarvitaan tag
'§}': '"|c_%%' # nimetyn laskurin loppu
§a: '%%0|c_%%' # autom. nimetty laskuri + anchor
§n: '%%0|c_n%%' # autom. nimetty laskuri ei anchor
§\: '%%0|c_tag%%' # autom. nimetty tag-laskuri (LaTeX)
17.3.1 Osoiteriviltä tulevat makrot (urlmacros)
Määrityksen macros
lisäksi voidaan tehdä makroja, joiden arvo muuttuu sen mukaan, mitä tietoa tuodaan sivun osoiterivillä.
Esimerkiksi:
``` {settings=""}
urlmacros:
group: ohj1s19r1
field: d1
```
toimisi vastaavasti kuin tavallinenkin macros
jos ei tehdä mitään muuta. Mutta jos sivun osoitteeseen lisätään:
?group=ohj1s19r2&field=d2
niin näitä käytetään makron arvoina. Toki käyttäjä harvoin haluaa osoiteriviä muutella, mutta itse dokumenttiin on nyt helppo tehdä linkkejä tyyliin:
[Syksy 19 ryhmä 1, demo 1](/view/kurssit/tie/ohj1?group=ohj1k19r1&field=d1)
[Syksy 19 ryhmä 2, demo 1](/view/kurssit/tie/ohj1?group=ohj1k19r2&field=d1)
[Syksy 19 ryhmä 2, demo 2](/view/kurssit/tie/ohj1?group=ohj1k19r2&field=d2)
[Syksy 19 ryhmä 3, demo 2](/view/kurssit/tie/ohj1?group=ohj1k19r3&field=d2)
jolloin varsinaista sivua ei välttämättä tarvitse tehdä erikseen eri ryhmille, vaan nyt ryhmä ja demokerran numerotietoa voidaan käyttää, jotta sivu näyttää erilaiselta.
Tätä ideaa voidaan vielä täydentää ottamalla syöttötieto dokumenttiin laitetuista kentistä (fields).
Muista rajoittaa silmukoihin tai luotavien olioiden määriin liittyvät URL-makrojen arvot!
Mikäli urlmacros
käytetään niin, että siinä tuleva parametri määrittää jonkin silmukan koon tai luotavien kenttien tms määrän, on aina syytä käyttää macros
-osaan kirjoittevia MIN
ja MAX
rajoittimia tyyliin:
``` {settings=""}
macros:
MAXfields: 25
MINfields: 3
urlmacros:
fields: 10
```
Eli rajoitin alkaa sanalla MIN
tai MAX
ja sillä on sama nimen loppuosa kuin urlmacros
-osassa olevan makron nimi on. Rajoitus tulee tehdä sen takia, että koska kuka tahansa käyttäjä voi kirjoittaa osoiteriville mitä tahansa, niin suojaudutaan jonkin verran mahdollisia väärinkäytöksiä vastaan. Rajoittimien arvoja ei saa sulkea missään tapauksessa lainausmerkkeihin, silloin ne eivät ole numeerisia arvoja. Mikäli pieni arvo (tai negatiivinen) ei voi aiheuttaa ongelmia, ei MIN
-rajoitetta ole pakko antaa. Rajoittimia EI SAA kirjoittaa urlmacros
-kohtaan, koska silloin käyttäjä voisi ohittaa ne.
Myöskään tehtäviin ei kannata tehdä muuttuvia osia urlmacron
perusteella, sillä mikään ei takaa että osoiterivin parametrit olisivat vastaavalla tavalla seuraavalla kertaa ja tällöin tulee helposti ongelmia pistelaskun kanssa.
17.3.2 Makrojen täydentämisen estäminen
Koska %
on erikoismerkki tekstissä, voi joskus joutua laittamaan lohkon alkuun eston sille ettei makroja käytetä:
#- {nomacros=true}
tai pluginien tapauksessa tyyliin:
``` {#ohjelmaesimerkki plugin="csPlugin" nomacros="true"}
Makrojen laajentumisen voi estää pluginien koodissa myös käyttämällä
{%raw%}
%%username%% Tämä ei laajene
{%endraw%}
%%username%% Tämä laajenee
17.3.3 Automaattisesti määritellyt makrot
Aina automaattisesti määriteltyjä makroja ovat seuraavat:
makro | esimerkki |
---|---|
userid |
0 |
username |
Anonymous |
realname |
Anonymous user |
useremail |
None |
userfolder |
users/Anonymous |
docid |
63 |
docpath |
tim/TIM-ohjeet |
docdir |
tim |
doclang |
|
docname |
TIM-ohjeet |
doctitle |
TIM-ohjeet |
loggedUsername |
Anonymous |
host |
https://tim.jyu.fi |
"" | now |
21.11 |
Makro loggedUsername
antaa aina selainta käyttävän henkilön tunnuksen. username
antaa opettajan Teacher
-näkymässä valitun opiskelijan tunnuksen. Tätä makroa on syytä käyttää niin, että lohko otsikossa on nocache=true
tyyliin:
#- {nocache=true}
muuten arvoksi jää viimeisen muokkaajan tunnus.
Filtterin now
käytöstä katso lisää satunnaistusdokumentista.
Samoin katso docid
ja docpath
filtterimuodosta lisää satunnaistusdokumentista.
Makro username
korvataan käyttäjän tunnuksella ja realname
käyttäjän koko nimellä.
Esimerkki: Tunnuksesi on %%username%% ja koko nimesi %%realname%%.
Esimerkki: Tunnuksesi on Anonymous ja koko nimesi Anonymous user.
Kyseisiä makroja EI voi korvata dokumentin asetuksissa omilla vakioarvoilla.
17.3.4 Lohkokohtainen makro
Lohkokohtaisesti voi tehdä vaikka silmukoita seuraavien ohjeiden mukaisesti:
Esimerkiksi taulukko:
nr | Nimi | Ikä | Osoite |
---|---|---|---|
1 | Aku 1 | 31 | Paratiisitie 11 |
2 | Aku 2 | 32 | Paratiisitie 12 |
3 | Aku 3 | 33 | Paratiisitie 13 |
syntyisi koodilla:
|nr | Nimi | Ikä | Osoite |
|------:|:-----|---------|:------:|
{% for i in [1,2,3] %}
| %%i%% | Aku %%i%% | %%i+30%% | Paratiisitie %%10+i%% |
{% endfor %}
tai
|nr | Nimi | Ikä | Osoite |
|------:|:-----|---------|:------:|
{% for i in range(1,4) %}
| %%i%% | Aku %%i%% | %%i+30%% | Paratiisitie %%10+i%% |
{% endfor %}
17.3.5 srange-filtteri
Edellinen voitaisiin tehdä myös srange
-filtterillä:
|nr | Nimi | Ikä | Osoite |
|------:|:------|------|:------:|
%% '{0} |Aku {0}| {1} | Paratiisitie {1} |\n' | srange(1,3,1,10) %%
Eli tehdään merkkijono, jossa paikat {0}
korvataan juoksevilla luvuilla 1,2,3
(eli 1:stä 3:seen asti, 1:n välein) ja paikat {1}
numeroilla 1+10, 2+10, 3+10
.
Eli filtterillä srange
voidaan tehdä aika helposti erilaisia toistuvia juoksevia merkkijonoja. Yksinkertaisin muoto srange
-filtteristä on
%%'d{0}\n'|srange(1,4)%%
eli ensin kirjain d
, sitten juokseva numero 1-4 ja kunkin jonon loppuun rivinvaihto (\n
). Tämä tuottaisi tekstin:
d1
d2
d3
d4
Tätä voidaan käyttää hyväkseen aikanaan, kun esimerkiksi pitää tuottaa vaikka iso joukko demotehtävien nimiä lomakkeita varten.
17.3.6 Lohkokohtaiset muuttujat
Lohkokohtaisesti voi tehdä muuttujia tyyliin:
{% set summa = '175 €' %}
Laskun summa oli %%summa%%. Toki %%summa%% on ihan liikaa!
Josta tulee:
Laskun summa oli 175 €. Toki 175 € on ihan liikaa!
Myös laskuja voi tehdä:
{% set a = 5 %}
{% set b = 6 %}
Jos suorakulmaisessa kolmiossa on a = %%a%% ja b = %%b%%,\
niin kolmion ala = %%a*b/2%% ja hyptenuussan neliö = %%a**2+b**2%%.
Josta tulee:
Jos suorakulmaisessa kolmiossa on a = 5 ja b = 6,
niin kolmion ala = 15.0 ja hyptenuussan neliö = 61.
17.3.7 Satunnainen muuttuja
Satunnaisluku
{% set arpa = [1,2,3,4,5,6] | random %}
Arvanheitosta tuli: %%arpa%%.
Josta tulee:
Arvanheitosta tuli: 1.
Sisällön arpomiseen erityisesti tehtäviä varten on kuitenkin oma mekanisminsa: Satunnaistus, jota kannattaa käyttää, koska tällöin otetaan huomioon se, että sivut toimivat oikein henkilön eri käyttökerroilla.
17.3.8 Lohkokohtaiset muuttujat LOCAL-lohkolla
Lohkokohtaisia muuttujia voidaan esitellä myös YAML-syntaksilla käyttäen LOCAL-lohkoa. Tästä enemmän satunnaistusdokumentissa.
{!!!LOCAL
a: 5
b: 6
!!!}
Jos suorakulmaisessa kolmiossa on a = %%a%% ja b = %%b%%,\
niin kolmion ala = %%a*b/2%% ja hyptenuussan neliö = %%a**2+b**2%%.
Josta tulee:
Jos suorakulmaisessa kolmiossa on a = 5 ja b = 6,
niin kolmion ala = 15.0 ja hyptenuussan neliö = 61.
17.3.9 Globaalit makrot
Tarvittaessa Jinja2 -makroja voidaan esitellä myös globaalisti. Käytännössä tämä tekee sen, että globaali lohko kopioidaan aina lokaalin lohkon alkuun. Tästä kerrotaan enemmän satunnaistusdokumentissa.
17.4 Otsikoiden automaattinumerointi
Asetuksissa (ratas + Muokkaa asetuksia
) voi määrittää dokumentin otsikoille automaattinumeroinnin. Oletustyylisen numeroinnin saa käyttöön auto_number_headings
-määreellä:
``` {settings=""}
auto_number_headings: 1
```
Oletusnumeroinnissa päälukujen numeroihin lisätään piste (esim. 1. Johdanto
) ja muiden tasojen numeron loppuun ei (esim. 1.2 Taustaa
).
Numerointilogiikkaa voi säätää tasokohtaisesti heading_format
-määreellä. Oletustyylin asetus näyttää seuraavalta:
heading_format:
1: '{h1}. {text}'
2: '{h1}.{h2} {text}'
3: '{h1}.{h2}.{h3} {text}'
4: '{h1}.{h2}.{h3}.{h4} {text}'
5: '{h1}.{h2}.{h3}.{h4}.{h5} {text}'
6: '{h1}.{h2}.{h3}.{h4}.{h5}.{h6} {text}'
Tässä siis muuttuja {hx}
tarkoittaa tason x
nykyistä numeroa ja muuttuja {text}
tarkoittaa otsikossa olevaa tekstiä. Formaatissa ei ole pakko käyttää kaikkia muuttujia. Mitään ylimääräisiä muuttujia ei saa käyttää.
Eli esimerkiksi jos haluaa ettei 1. tason otsikon jälkeen ole pistettä, voi lisätä uuden määritelyn vain 1. tasolle:
auto_number_headings: 1
heading_format:
1: '{h1} {text}'
Jos haluat, että jokin otsikko ei tule numerointiin mukaan, sille voi antaa nonumber
-määreen:
# Otsikko ilman numeroa {.nonumber}
Jos haluaa esimerkiksi niin, että numerointi koskee vain 2. tason ja sitä alempia otsikoita, voi laittaa:
auto_number_headings: 2
joka asettaa otsikoiden muotoilun oletuksen:
heading_format:
1: '{text}'
2: '{h2}. {text}'
3: '{h2}.{h3} {text}'
4: '{h2}.{h3}.{h4} {text}'
5: '{h2}.{h3}.{h4}.{h5} {text}'
6: '{h2}.{h3}.{h4}.{h5}.{h6} {text}'
Vastaavasti toimii tasot 3 ja 4.
Numeroinnin voi laittaa tekstin jälkeenkin ja voi lisätä vakio-otsikon tyyliin:
auto_number_headings: true
heading_format:
...
2: 'Kysymys: {text}? {h2}.'
...
Ottamatta kantaa onko esimerkissä järkeä, rivistä
## Onko kissat vihreitä
tulisi otsikkoteksti
Kysymys: Onko kissat vihreitä? 1.
Jos esimerkiksi dokumentti on jaettu useisiin osiin, voidaan haluta kunkin osan numerointi aloittaa jatkumaan edellisestä Tällöin dokumentin numeroinnin voi pakottaa alkamaan halutusta luvusta asetuksien attribuutilla:
auto_number_start: -1
Edellinen asetus pakottaisi pääotsikon numeroinnin alkamaan 0:sta, sillä arvoksi annetaan luku, jota kasvatetaan yhdellä ensimmäisen numeron kohdalla (oletusarvo on siis 0).
auto_number_start
hyväksyy tasokohtaiset numeroinnit. Esimerkiksi
auto_number_start:
1: 1
2: -1
Aloittaa pääotsikon numeroinnin 2:sta ja toisen tason otsikon 0:sta.
17.5 Muiden elementtien automaattinumerointi
Kaavojen, kuvien, taulukoiden ja minkä tahansa muun asian numerointi voi tehdä luomalla automaattinen laskuri.
Automaattisen numeroinnin laajat ohjeet löytyvät omasta dokumentista:
17.6 Yhteenveto tehtävistä
Asetuksella
show_task_summary: true
käyttäjälle näytetään dokumentin alussa yhteenveto hänen tekemiensä tehtävien yhteispisteistä ja tehtävien määrästä.
17.7 Erikoisvälimerkkien (lainausmerkki, ajatusviiva) kirjoittaminen ja korvaaminen
Riippuen dokumentin tarkoituksesta ja käytettävästä kielestä, saattaa tulla tarve käyttää ajatusviivoja (– ja —), kaksisuuntaisia lainausmerkkejä (“ ja ”) taikka pistekolmikkoa (…). Nämä merkit voi lisätä tekstiin käyttämällä käyttöjärjestelmäkohtaisia pikanäppäimiä. Esimerkiksi ajatusviivan saa seuraavasti:
- Windows: + ja + (Numpad-näppäimistö)
- macOS: + + ja +
Jos on tarkoitus käyttää erikoisvälimerkkejä usein, dokumentin asetuksiin voi laittaa seuraavan asetuksen:
smart_punct: true
Tämä asetus muuttaa "tavalliset" näppäimistöllä kirjoitettavat merkit seuraavasti:
Merkki | TIMin tuloste | Esimerkki |
---|---|---|
" |
“ tai ” |
"test" -> “teksti” |
' |
‘ tai ’ |
'teksti' -> ‘teksti’ |
-- |
– |
Ollaanko -- vai eikö? -> Ollaanko – vai eikö? |
--- |
— |
Ollaanko --- vai eikö? -> Ollaanko — vai eikö? |
... |
… |
Teksti... -> Teksti… |
Asetus on käytettävissä myös lohkokohtaisesti:
17.8 Minimaalinen ulkoasu
Joissakin tilanteissa voi olla hyvä, että käyttäjälle ei näytetä kaikkia TIMin elementtejä (esim. ei ole näkyvissä yhtään linkkiä, jolla hän voi eksyä väärälle sivulle). Tällöin voi käyttää yhtä useasta minimaalisen ulkoasun tilasta.
Tällä hetkellä tuetaan seuraavat ulkoasuasetukset:
hide_links
-- piilottaa linkithide_top_buttons
-- piilottaa yläpalkin (logot, hakupainike ja linkit)pars_only
-- piilottaa kaikki elementit paitsi tekstin ja kirjautumispainikkeenexam_mode
-- piilottaa tentin kannalta yleisesti tarpeettomat elementit
Esimerkiksi jos haluaa piilottaa linkit, voi laittaa asetuksiin rivin
hide_links: view
mikä tarkoittaa, että view
-käyttöoikeudella olevilta piilotetaan näkyvistä kaikki ylimääräiset linkit.
Asetukset voi yhdistellä eri tavalla saadakseen haluttu ulkoasu dokumentille.
Alla vielä selostusta siitä, miten jokainen asetus vaikuttaa ulkoasuun.
17.8.1 Linkkien piilotus
Linkit voidaan piilottaa hide_links
-asetuksella. Siinä tapauksessa ainoastaan dokumenttiin itse lisätyt linkit toimivat.
17.8.2 Yläpalkin piilotus
Yläpalkki voidaan piilottaa hide_top_buttons
-asetuksella. Siinä tapauksessa TIMin logot, hakupainike ja näkymälinkit piilotetaan.
17.8.3 Puhdas teksti -näkymä
Kaikki elementit voidaan piilottaa pars_only
-asetuksella. Siinä piilotetaan kaikki elementit paitsi tekstit ja pluginit.
17.8.4 Tenttinäkymä
Asetus esimerkiksi:
exam_mode: view
Tenttinäkymässä (exam_mode
-asetus) piilotetaan kaikki tentin kannalta turhat osat. Tarkemmin
- Sivupalkista piilotetaan kaikki paitsi sisällysluettelo (jos sitä on).
- Yläpalkista piilotetaan linkit sekä hakupainike. Logot ovat näkyvissä.
- Käyttäjävalikosta piilotetaan kaikki valinnat paitsi "Kirjaudu ulos"-toiminto.
- Tekstin editointiasetukset (sininen palkki) ja kommentointipainike piilotetaan.
- Sivun pohjateksti (ns. footer) piilotetaan myös.
- Kun käyttäjä avaa dokumentin ensimmäistä kertaa, koko dokumentti merkataan luetuksi. Tällöin lukumerkinnät eivät näy ensimmäisellä lukukerralla. Jos dokumenttiin tehdään muutoksia, ne ilmestyvät käyttäjälle näkyviin.
17.8.5 Näkyvyyden hienosäätöä sekä muuta huomioitavaa
Edellisiä asetuksia käyttäessä on huomattava, että asetuksella view
, näkyy kaikki dokumentin muokkaajalle.
Muita asetuksia ovat:
edit
teacher
answer
Jos halutaan poistaa ihan kaikki "ylimääräinen", voidaan tämä tehdä laittamalla asetuksiin:
``` {settings=""}
hide_links: view
css: |!!
.readline, .areareadline {
width: 0em;
height: 100%;
border-right: 0px solid;
border-color: #F60;
}
.readsection {
visibility: hidden;
}
.siteheader {
visibility: hidden;
}
.left-fixed-side {
visibility: hidden;
}
!!
```
Haittana tässä on se, että muutos vaikuttaa kaikkiin käyttäjiin ja myös muokkaaja menettää menut yms. Kaikkia tyylejä ei toki ole tuosta pakko käyttää.
17.9 Tehtävien ryhmittely ja pisteiden laskenta
Sivulla tehtävistä muodostuvat pisteet näkyvät opiskelijalle kun laitetaan asetus:
show_task_summary: true
Mikäli alla mainittuja ryhmittelyjä ei käytetä, niin tällöin näytetään kaikki pisteet.
17.9.1 Yksinkertainen ryhmittely
Dokumentissa olevat tehtävät voi tarvittaessa ryhmitellä isompiin kokonaisuuksiin. Jos esimerkiksi halutaan ryhmitellä kaikki t1-, t2- ja t3-alkuiset tehtävät omiin ryhmiinsä sekä laskea vain kahden parhaan tehtäväryhmän tulos, niin dokumentin asetuksiin voi lisätä point_sum_rule
-kentän:
point_sum_rule:
groups:
t1: t1.*
t2: t2.*
t3: t3.*
count:
best: 2
Tässä groups
-kentän alla määritellään kunkin tehtäväryhmän nimi ja säännöllinen lauseke, jota vastaavat tehtävät otetaan ryhmään mukaan. Kentän count
alla määritellään pistelaskutapa. Voidaan laskea joko \(n\) kpl parasta tehtäväryhmää (best
) tai \(n\) huonointa (worst
).
17.9.2 Ryhmien luetteleminen
Ryhmiin kuuluvat tehtävät voi myös luetella yksitellen. Lisäksi kunkin ryhmän kohdalla voi määrittää, lasketaanko kyseisen ryhmän pisteet tehtäväpisteistä (t
), viimeisimmän vastauksen velppipisteistä (v
) vai molemmista (vt
):
point_sum_rule:
groups:
t1:
match: t1.*
type: v
t2:
min_points: -2
max_points: 5
match:
- t2a
- t2b
type: t
Edellä on annettu vielä yhteen ryhmään oletuksista poikkeavat minimit ja maksimit. Oletukset olisivat että minimi on 0 ja maksimi ääretön.
17.9.3 Päällekkäin menevät ryhmät
Jos tehtävien ryhmät menevät päällekkäin, niin Total points
näyttää liikaa, koska se oletuksena laskee ryhmien pisteet yhteen. Silloin voi itse tehdä yhden ryhmittelijän, esim kaikki
:
point_sum_rule:
total: [kaikki]
hide: [kaikki]
sort: false
count_all: true
groups:
kaikki:
match:
- .*
tauno:
match:
- kaannataulukko
- vaihdajokatoinen
...
jolla sanoo mitkä tehtävät lasketaan kokonaissummaan. Sitten attribuutilla:
total: [lista ryhmistä pilkulla eroteltuna]
kerrotaan mitkä ryhmät summataan yhteispisteisiin (TODO: tällä hetkellä lasketaan aina ensimmäinen ryhmä riippumatta total
-attribuutin sisällöstä). Yleensä riittää yksi ryhmä. Attribuutilla hide
voidaan kertoa mitkä ryhmät jätetään näyttämättä käytäjälle. Edellä esim. kaikki
olisi turha näyttää kun siinä on sama tieto kuin Total sum
.
Attribuutilla sort
(oletus: true
) määritellään lajitellaanko ryhmä aakkosjärjestykseen vai ei. Attribuutti count_all
(oletus: false
) määrää näytetään tehtävien määräksi ryhmien määrä vaiko kaikkien tehtävien riippumatta ryhmistä (tämä näytetään myös mikäli point_sum_rule
puuttuu kokonaan). Tehtäviksi lasketaan kaikki pluginit, joissa on #nimi
.
Edellisten asetusten jälkeen käyttälle näkyisi:
Task Summary Total points: 3.5 (tauno: 0.5, tahti: 1.0, perus: 2.0), total tasks: 3 / 6
Esimerkki monimutkaisemmasta määrittelystä:
point_sum_rule:
breaklines: true
force: true
linktext: ">mene"
groups:
T1p:
match: t1p.*
type: t
expl: "{1:.2f}/1.00 = Tehtävä 1. Funktiot, pitäisi tulla - osuus"
link: "#t1p1a"
T1t:
match: t1vaali
type: t
expl: "{1:.2f}/2.00 = Tehtävä 1. Funktiot, ohjelmaosuus"
link: "#t1vaali "
T2p:
match: t2p.*
type: t
expl: "{1:.2f}/1.00 = Tehtävä 2. Funktiot, pitäisi tulla - osuus"
link: "#t2p1a"
T2t:
match: t2vaali
type: t
expl: "{1:.2f}/3.00 = Tehtävä 2. Funktiot, ohjelmaosuus"
link: "#t2vaali"
Tässä:
breaklines
= pakottaa kunkin ryhmän tekstin omalle rivilleenforce
= näyttää ryhmittelyn vaikka ei olisi yhtään pistettä- 'linktext:' = jos ryhmälle on annettu linkki, näytetään se tällä tekstillä. Jokaisella ryhmälle voidaan määritellä omakin linkkiteksti
expl
= selitys, jonka perusteella ryhmä näytetään. {n} ovat paikkoja tulostettaville asioille:{0}
= ryhmän nimi{1}
= ryhmän kokonaissumma{2}
= ryhmän tehtävien summa{3}
= ryhmän velp-merkintöjen summa
link
= paikka mihin hypätään kun linkkitekstiä painetaan
Tällä saadaan seuraavanlainen sivun alku:
17.9.4 Ryhmien tulostaminen eri riveille
Esimerkki monimutkaisemmasta määrittelystä:
point_sum_rule:
breaklines: true
force: true
linktext: ">mene"
groups:
T1p:
match: t1p.*
type: t
expl: "{1:.2f}/1.00 = Tehtävä 1. Funktiot, pitäisi tulla - osuus"
link: "#t1p1a"
T1t:
match: t1vaali
type: t
expl: "{1:.2f}/2.00 = Tehtävä 1. Funktiot, ohjelmaosuus"
link: "#t1vaali "
T2p:
match: t2p.*
type: t
expl: "{1:.2f}/1.00 = Tehtävä 2. Funktiot, pitäisi tulla - osuus"
link: "#t2p1a"
T2t:
match: t2vaali
type: t
expl: "{1:.2f}/3.00 = Tehtävä 2. Funktiot, ohjelmaosuus"
link: "#t2vaali"
Tässä:
breaklines
= pakottaa kunkin ryhmän tekstin omalle rivilleenforce
= näyttää ryhmittelyn vaikka ei olisi yhtään pistettä- 'linktext:` = jos ryhmälle on annettu linkki, näytetään se tällä tekstillä. Jokaisella ryhmälle voidaan määritellä omakin linkkiteksti
expl
= selitys, jonka perusteella ryhmä näytetään. {n} ovat paikkoja tulostettaville asioille:{0}
= ryhmän nimi{1}
= ryhmän kokonaissumma{2}
= ryhmän tehtävien summa{3}
= ryhmän velp-merkintöjen summa Tulostuksen muotoilu käyttäen Pythonin sääntöjä. Edellä{1:.2f}
tarkoittaa että ryhmän kokonaissumma tulostuu tähän 2:lla desimaalilla.
link
= paikka mihin hypätään kun linkkitekstiä painetaan
Tällä saadaan seuraavanlainen sivun alku silloin kun tehtäviä ei vielä ole aloitettu tekemään:
17.10 Julkisten kommenttien kieltäminen
Esimerkiksi tenttidokumenteissa voi olla tarpeellista kieltää julkiset kommentit, mikä onnistuu asetuksella
comments: private
jolloin vain yksityisten (eli vain itselle näkyvien) kommenttien lähettäminen on sallittua.
17.11 Dokumenttiin tulevien muutosten seuranta
Mikäli dokumentista on klikkailtu pois punaiset oikean reunan palkit, nähdään uudet dokumenttiin tulleet lohkot punaisilla palkeilla ja muuttuneet keltaisilla palkeilla. Dokumentin omistaja voi katsoa muutokset Manage
-sivulta.
17.11.1 Muutoksista tulevat viestit
Mikäli haluaa seurata enemmän reaaliajassa milloin dokumenti muuttuu tai siihen tulee uusia kommentteja, voi Manage
-sivulla ruksia mistä muutoksista haluaa viestejä itselleen.
Näitä muutosviestejä kannattaa pyytää erityisesti keskustelutyyppisistä dokumenteista tai dokmenteista, joihin on antanut muille muokkausoikeuden ja haluaa tarkkailla että muutokset ovat sellaisia, joita voi hyväksyä.
17.11.2 Muutosviestien pyytäminen useammalle dokumentille kerralla
Mikäli viestejä haluaa useammista eri dokumenteista, voi käydä ruksimassa vastaavan hakemiston Manage-sivulta että mitä viestejä haluaa. Hakemistolle laitetut muutosviestit tulevat kaikista hakemiston muuttuneista dokumenteista, myös hakemiston alihakemistosta.
17.11.3 Liikojen muutosviestien estäminen
Joskus hakemistolle annettu muutosviestipyyntö voi johtaa melkoiseen viestitulvaan. Erityisesti opettajilla, jotka pyytävät opiskelijoita tekemään tehtäviä johonkin tiettyyn hakemistoon, jonka ylähakemistossa on muutosviestipyyntö.
Omista asetuksistaan (Rattaankuva/Customize TIM
) voi käydä katsomassa mistä kaikista dokumenteista muutosviestejä on tulossa. Listan lopussa on syöttökenttä Exclusion list
, johon voi ilmoittaa ehdon, jota verrataan dokumentin koko nimeen (sisältäen siis myös sen hakemiston nimen) ja jos ehto täyttyy, niin dokumentin muutoksesta ei lähetetä viestiä.
18. Johdantodokumentti
Joskus samassa hakemistossa oleville dokumenteille halutaan antaa samoja asetuksia. Lisäksi dokumenttien alkuun voidaan haluta samantyyliset alkukappaleet, kuten tietynlainen otsikko ja/tai linkkilista muihin dokumentteihin.
Oletetaan, että edellä mainittua halutaan soveltaa dokumenteille
users/matti/demot/d1
users/matti/demot/d2
users/matti/demot/d3
Luo tällöin uusi dokumentti preamble
, jonka polku on
users/matti/demot/templates/preambles/preamble
Kyseisen dokumentin lyhytnimi on siis oltava preamble
ja sen täytyy sijaita hakemistossa templates/preambles
suhteessa niihin dokumentteihin, joihin kyseistä johdantodokumenttia halutaan käyttää. Sen otsikko (title) voi olla mitä tahansa.
Tällöin kaikki asetukset, joita preamble
-dokumenttiin lisätään, periytyy myös dokumenteille d1
, d2
ja d3
. Vastaavasti preamble
-dokumentin sisältö lisätään automaattisesti kunkin dokumentin alkuun.
Huomaa, että voit käyttää johdantodokumentissa sellaisiakin makroja, joita ei määritellä johdantodokumentin asetuksissa vaan vasta varsinaisissa dokumenteissa d1
, d2
ja d3
. Tällä tavalla voit käyttää johdantodokumenttia ikään kuin muottina.
Jos dokumenteista d1
, d2
ja d3
on erikielisiä käännöksiä, voit tehdä myös johdantodokumentista vastaavat käännökset ja niitä käytetään automaattisesti vastaavissa kieliversioissa. Johdantodokumentin kielitunnisteiden on tietenkin vastattava dokumenttien d1
, d2
ja d3
tunnisteita.
Johdantodokumentit vaikuttavat myös alihakemistoihin. Jos siis johdantodokumentti
users/matti/templates/preambles/preamble
on olemassa, niin sen sisältö ja asetukset haetaan ennen demot-hakemiston johdantodokumenttia, kun dokumenttia d1
, d2
tai d3
esitetään.
18.1 Johdantodokumentin sivuuttaminen tai vaihtaminen
Jos johonkin dokumenttiin ei halua johdantodokumentin vaikutusta, sen asetuksiin voi lisätä:
preamble:
eli määrittää preamble
-kohdan ja jättää sen tyhjäksi.
Hakemiston templates
dokumentteihin ei koskaan käytetä johdantodokumentteja.
Samalla asetuksella voit määrittää haettavan johdantodokumentin lyhytnimen. Esimerkiksi jos laitettaisiin dokumenttiin d1
asetus
preamble: alku
niin silloin johdantodokumentteja etsittäisiin poluista
templates/preambles/alku
users/templates/preambles/alku
users/matti/templates/preambles/alku
users/matti/demot/templates/preambles/alku
18.1.1 Useamman johdantodokumentin yhdistäminen
Voit määrittää dokumentille tarvittaessa useita johdantodokumentteja. Tällöin niiden nimet erotetaan pilkuilla, esim.
preamble: preamble,chat
jolloin johdantodokumentteja etsittäisiin dokumentin d1
tapauksessa seuraavasti:
templates/preambles/preamble
templates/preambles/chat
users/templates/preambles/preamble
users/templates/preambles/chat
users/matti/templates/preambles/preamble
users/matti/templates/preambles/chat
users/matti/demot/templates/preambles/preamble
users/matti/demot/templates/preambles/chat
Järjestyksellä siis on väliä, eli preamble,chat
on eri kuin chat,preamble
.
Oletus johdantodokumentin lyhytnimelle on aina preamble
. Huomaa, että tätä asetusta ei voi määrittää itse johdantodokumenteissa, vaan sen on aina oltava dokumentissa itsessään.
18.1.2 Johdantodokumentin absoluuttinen polku
Voit määrittää johdantodokumentin nimen sijaan sen absoluuttisen polun. Vaatimukset:
- Johdantodokumentti on
preambles
-kansiossa (itse kansion sijainnilla ei merkitystä) preamble
-asetukseen kirjoitetaan koko dokumentin polku. Polun alkuun pitää laittaa/
-merkki
Esimerkiksi:
preamble: /users/matti/templates/preambles/preamble
Hakee johdantodokumentin aina users/matti/templates/preambles/preamble
-dokumentista. Kuten suhteellisten polkujen kanssa, myös absoluuttisten polkujen tapauksessa johdantodokumentit etsitään kaikista yläpoluista. Esimerkissä
preambles/preamble
templates/preambles/preamble
matti/templates/preambles/preamble
users/matti/templates/preambles/preamble
18.1.3 Lyhytnimen ja absoluuttisen polun yhdistäminen
Useamman johdantodokumentin tapauksessa näytetään ensin lyhytnimet pilkulla erotellun listan kuvaamassa järjestyksessä, minkä jälkeen näytetään absoluuttisessa polussa sijaitsevat johdantodokumentit. Esimerkiksi
preamble: preamble,chat,/users/matti/templates/preambles/preamble
asetuksella näytetään johdantodokumentit järjestyksessä
templates/preambles/preamble
templates/preambles/chat
users/templates/preambles/preamble
users/templates/preambles/chat
users/matti/templates/preambles/preamble
users/matti/templates/preambles/chat
users/matti/demot/templates/preambles/preamble
users/matti/demot/templates/preambles/chat
preambles/preamble
matti/templates/preambles/preamble
Johdantodokumentti näytetään vain kerran ja lyhytnimet käsitellään aina ensin.
18.1.4 Muista monirivisiin asetuksiin tarvittaessa append-lisäys
Jos preamble-dokumentti sisältää esimerkiksi css
-määrityksiä ja niitä halutaan lisätä jossakin dokumentissa, pitää laittaa append-määre:
```
css: |!! a
h1 { color: red; }
!!
```
18.2 Johdantodokumenttien osittaminen ja ehdollinen lataaminen
Jos kurssilla on samanaikaisesti useampi eri toteutus, saattaa tulla tarve muokata johdantodokumentissa määriteltyjä asetuksia ja sisältöjä toteutuksen mukaan. Esimerkiksi jos opiskelija on tutkinto-opiskelijalla, voidaan haluta eri kohdissa kurssilla näyttää teksti "syksyn toteutus". Jos taas opiskelija on avoimen yliopiston opiskelija, samoissa kohdissa voidaan haluta näyttää teksti "avoin toteutus". Vastaavasti kurssien sähköpostit, aikataulut yms. voivat vaihdella toteutuksen mukaan.
Eri tapauksia helpottamiseksi johdantodokumentit voidaan osittaa ja ladata ehdollisesti extraPreambles
-asetuksella.
Perusesimerkkinä, määrittämällä alla oleva asetus johdantodokumenttiin users/matti/templates/preambles/preamble
:
extraPreambles: |
- users/matti/makrot1
- users/matti/makrot2
ladataan seuraavat johdantodokumentit alla mainitussa järjestyksessä:
templates/preambles/preamble
users/templates/preambles/preamble
users/matti/templates/preambles/preamble
users/matti/makrot1
users/matti/makrot2
Huomioita
extraPreambles
-asetus toimii vain johdantodokumenteissa. Jos sen määrittelee tavalliseen dokumenttiin, ei tapahdu mitään.- Asetukseen voi määritellä mitä tahansa dokumentteja, eli niiden ei tarvitse olla preambles-kansiossa
- Asetuksessa olevat dokumentit ladataan vain, jos katsojalla on oikeus siihen. Yllä olevassa esimerkissä siis
users/matti/makrot1
jausers/matti/makrot2
ladataan vain niille käyttäjille, jotka muutenkin voisivat avata näitä dokumentteja.
18.2.1 Ehdollinen lataaminen
extraPreambles
-asetus tukee ehdollisia lausekkeita sekä muita Jinja-yhteensopivaa syntaksia. Asetuksen avulla voidaan siis ehdollisesti ladata johdantodokumentteja katsojan tilan mukaan.
Esimerkki:
extraPreambles: |
- users/matti/avoin/makrot
- users/matti/yhteiset/makrot
Selitys:
- Jos dokumentin avaaja kuuluu ryhmään
avoin-ryhma
, sille ladataan johdantodokumenttiusers/matti/avoin/makrot
- Muussa tapauksessa, jos avattavan dokumentin polku sisältää jonon
users/matti/dokumentti1
, ladataan johdantodokumenttiusers/matti/avoin/dok1makrot
ref_docpath
jaref_docid
ovat erikoismuuttujat, jotka sisältävät avattavan dokumentin polun ja id:n
- Muussa tapauksessa ladataan johdantodokumentti
users/matti/tutkinto/makrot
- Johdantodokumentti
users/matti/yhteiset/makrot
ladataan aina, kunhan dokumentin avaajalla on katseluoikeus siihen
Ehdollisissa lausekkeissa voi käyttää kaikkia tavallisia makroja, filttereitä ja muita toimintoja. Erityisenä lisänä ovat makrot ref_docpath
sekä ref_docid
, joilla voi tarkistaa avattavan dokumentin polun ja id:n.
18.3 Rajoitteita
Johdantodokumenteissa on toistaiseksi muutama rajoite, jotka on otettava huomioon.
18.3.1 Lohkotunnisteiden yksikäsitteisyys
Johdantodokumenttien lohkotunnisteiden on oltava keskenään erilaisia eikä myöskään varsinaisessa dokumentissa saa esiintyä samoja lohkotunnisteita kuin johdantodokumenteissa. Jos näin käy, tulee dokumenttia näytettäessä varoitus.
Yleensä TIM luo lohkotunnisteet automaattisesti ja tästä ei tule ongelmaa. Ongelma saattaa sattua silloin, jos manage-näkymästä kopioi ja liittää tekstiä niin, että lähde ja/tai kohde on johdantodokumentti.
18.3.2 Useampi alias tuottaa ongelmia
Jos
- dokumentilla on yksi tai useampi johdantodokumentti,
- dokumentilla on enemmän kuin yksi alias ja
- aliakset sijaitsevat eri hakemistoissa
niin silloin johdantodokumentit eivät kyseisen dokumentin osalta toimi kunnolla.
19. Editorin tekstipohjat
Dokumentin asetuksiin voidaan lisätä attribuutti editor_templates
, jolla editoriin voidaan luoda uusia vakiotekstejä tuottavia menuvalintoja.
Syntaksi:
editor_templates:
editor_tabs:
- text: UUDEN TABIN TEKSTI
items:
- text: UUSI MENU OTSIKKO
items:
- data: ALAMENUSTA TULEVA TEKSTI
text: UUSI ALAMENUN OTSIKKO (ei pakollinen)
expl: TOIMINNON SELITYS (ei pakollinen)
Kukin tekstikohta voi toistua useita kertoja ja näin voidaan luoda niin monta uutta välilehteä kuin halutaan ja kuhunkin niin monta menukohtaa ja vastaavasti alamenukohtaa kuin halutaan. Voidaan käyttää myös olemassa olevien välilehtien nimiä, jotta voidaan lisätä toimintoja olemassa oleviin välilehtiin tai niiden menuihin. Laittamalla asetus johdantodokumenttiin voidaan toimintoja lisätä kaikkiin vastaavassa hakemistossa oleviin dokumentteihin.
Esimerkiksi seuraava koodi:
``` {settings=""}
editor_templates:
editor_tabs:
- text: Elukat
items:
- text: Kissat
items:
- text: Kotikissa
data: Kissa
expl: Tavallinen kotikissa
- text: Tiikeri
data: Viirullinen tiikeri
expl: Viidakossa elävä tiikeri
- text: Koirat
items:
- text: Saksan pk
data: Saksan paimenkoira
expl: Saksaanpaimenkoira, jotkut sanovat myös susikoiraksi
- text: Pystykorva
data: Suomen pystykorva
expl: Kansalliskoira
```
tuottaisi editoriin uudet tekstipohjat:
Jos haluat kursorin johonkin kohti, niin laita data-attribuutissa siihen kohti merkki:
⁞
Jos tarvitaan useita rivejä jostakin templatesta, niin voidaan käyttää monirivistä TIMin YAML-laajennosta tyyliin:
data: Suomen pystykorva
tilalle:
data: |!!
Suomen pystykorva
on kova koira haukkumaan
!!
20. Toisen TIM-dokumentin lohkon lainaaminen
viite
(reference) on tekniikka, jossa "lainataan" sisältöä toisesta kohtaa samaan tai eri dokumenttiin.
Tätä voi käyttää esim siten, että saa saman alkuosan jokaisen dokumentin alkuun. Kurssien tapauksessa tämä voi olla esimerkiksi linkkilista kurssin tärkeimmille sivuille.
Samoin toimintoa voidaan käyttää jos on toinen dokumentti, jossa pitää toistaa täsmälleen samaa tekstiä kuin toisessa dokumentissa ja halutaan ylläpitää tekstiä vain yhdessä dokumentissa.
Alla olevissa ohjeissa käytetään termejä lähdedokumentti ja kohdedokumentti. Vaikka ne usein ovat eri dokumentteja, voi kohdedokumentti toki olla samakin kuin lähdedokumentti. Eli jos samaa tekstiä tarvitaan dokumentin sisällä useassa eri kohtaa, voidaan valita joko niin, että muissa kohdissa linkitetään alkuperäiseen kohtaan normaalilla linkillä tai sitten muihin kohtiin kopioidaan viite alkuperäiseen tekstiin, jolloin teksti näkyy siinä kohti ilman käyttäjän erillisiä toimenpiteitä.
20.1 Yhteisen alkuosan tekeminen
Tee ensin uusi dokumentti, jossa on haluamasi yhteinen alkuosa, esimerkiksi dokumentti jonka nimi on alkulinkit
ja sisältönä vaikkapa:
[Koti 2016](/view/kurssit/tie/ohj2/2016k/koti)
[Luennot](/view/kurssit/tie/ohj2/2016k/luentojen-aiheet)
[Ohjaukset](https://trac.cc.jyu.fi/projects/ohj2/wiki/2016/paate)
[Harjoitustyö](https://trac.cc.jyu.fi/projects/ohj2/wiki/harjoitustyo)
[Yleinen](/view/kurssit/tie/ohj2/yleinen)
[Moniste](/view/2)
[Demot](https://trac.cc.jyu.fi/projects/ohj2/wiki/2016/demot):
joka näyttäisi siis seuraavalta:
HUOM! Edellisestä esimerkistä kannattaa oppia idea, mutta tuollainen menumainen sisältö kannattaa nykyisin tehdä oikeilla menuilla.
20.2 Lohkon kopioiminen samaan tai toiseen dokumenttiin
Lohkon kopioiminen samaan tai toiseen dokumenttiin kopiona tai viitteenä onnistuu helpoimmin kun aukaisee laajennetun muokkausmenun.
avaa lähdedokumentti ja kohdedokumentti eri välilehtiin tai selaimen ikkunoihin
valitse kopioitava lohko lähdedokumentista
avaa normaali muokkausemenu vasemmasta reunasta
menun alareunassa on kynän kuva jota painamalla aukeaa laajempi muokkausmenu
valitse sieltä
Copy paragraph
siirry kohdedokumenttiin oikean lohkon kohdalle (kohde voi olla sama tai eri dokumentti)
aukaise tässäkin laajennettu muokkausmenu
valiste sieltä
Paste...
aukeaa vaihtoehtoja lohkon kopiointiin:
Valitse kombinaatiosta oikea:
Above
: liittää valitun lohkon yläpuolelleBelow
: liittää valitun lohkon alapuolelleas a reference
: liittää viitteenä niin, että jos alkuperäinen lohko muuttuu, muuttuu tämäkin lohkoas content
: tekee tavallisen kopion, jolloin alkuperäisen lohkon muuttuminen ei vaikuta tähän lohkoon
20.3 Lohkon siirtäminen samaan tai toiseen dokumenttiin
Toimi kuten edellä, mutta valitse Copy
sijaan Cut
.
20.4 Usean lohkon kopioiminen samaan tai toiseen dokumenttiin
Toimitaan muuten samoin kuin edellä, mutta valitaan ensin lähdedokumentissa alue. Alue voidaan valita kun laajennetusta muokkausmenusta otetaan ensimmäisen lohkon kohdalle Start selecting area
. Tämän jälkeen siirrytään viimeisen lohkon kohdalle ja valitaan muokkausmenun tilalle aukeavasta aluemenusta
toiminto Copy area
. Tämän jälkeen siirrytään kohdedokumenttiin ja toimitaan kuten edellä Paste
-kohdassa.
20.5 Nimetyn alueen kopioiminen
Kopioimalla alue edellisen esimerkin ohjeilla, siitä tulee viitteinäkin kopioituna useita viitattuja lohkoja kohdedokumenttiin. Tämän haittana on se, että lähdedokumentissa kopioituihin lohkoihin tehdyt muutokset näkyvät kohdedokumentissa, mutta jos lisätään lohkoja kopioitujen väliin, niin tämä muutos ei näy kohdedokumentissa.
Ongelmaa voi kiertää nimeämällä lähdedokumentin alueita ja sitten kopioimalla viitteitä nimettyihin alueisiin. Mikäli lähdedokumentissa muutetaan tai lisätään lohkoja nimetyn alueen sisälle, näkyvät kaikki nämä muutokset kohdedokumentissa.
Nimetyn alueen kopioinnille ei ole vielä automaattista käyttöliittymää. Mutta tämän voi tehdä manuaalisesti seuraavasti:
Ensin pitää nimetä lähdedokumentin alue:
valitse lähdedokumentin alue kuten edellisessä ohjeessa
sitten aluemenussa valitse
Name area
anna alueelle hyvä yksikäsitteinen nimi, jossa ei ole erikoismerkkejä (eikä välilyöntejä)
muista tämä nimi jatkoa varten
kopioi malliksi yksi lohko viitteenä (reference) lohkon kopioimisen ohjeilla
aukaise kohdedokumentissa viitattu lohko kopioitavaksi.
sen pitäisi näyttää suurinpiirtein seuraavalta:
#- {rd="63" rl="no" rp="TgNDKqzUwCy5"}
rd
: lähdedokumentin (referenced document) sisäinen id-numero (identifier number), voi olla hyvinkin suuri nykyisinrp
: lähdedokumetin lohkon (referenced paragraph) sisäinen tunnisterl
: linkki lähdedokumentin kyseiseen kohtaan. Mikäli tämän kohdan pyyhkii pois näkyy viitekopioin vieressä tieto siitä, mistä dokumentista kopio on ja linkki siihen kohtaan hyppäämiseksi. Arvo voi olla"no"
tai"yes"
korvaa ominaisuuden
rp
nimi ominaisuudellara
(referenced area) ja lähdedokumentissa alueelle antamallasi nimellä.Esimerkiksi siis rivi voisi muokkauksen jälkeen olla
#- {rd="63" rl="no" ra="ohjeKahvinKeittoon"}
tai
#- {rd="63" ra="ohjeKahvinKeittoon"}
mikäli halutaan linkki alkuperäisdokumenttiin.
Jatkossa tätä riviä voidaan kopioida kohdedokumentissa on normaalilla Copy/Paste toimininnolla kaikkiin paikkoihin, joissa halutaan viitata samaan lähdedokumenttiin. Toki kopioista vaihdetaan aina alueen nimi.
20.6.1 Viitteen manuaalinen katsominen
Viitteen voi katsoa helpoiten valitsemalla haluamansa kappaleen, avaamalla sen editorissa ja valitsemalla "Help" välilehden. Välilehden alta löytyy tekstikenttä, josta voi kopioida kappaleen viitteen.
Viite näyttää tältä:
#- {rd="63" rl="no" rp="TgNDKqzUwCy5"}
Toinen tapa on avata uusi dokumentti Manage-tilassa (ks linkki aivan dokumentin yläreunassa). Katso dokumentin id osoiteriviltä manage/
perästä.
Esimerkiksi jos osoiterivillä on
https://tim.jyu.fi/manage/113991
niin dokumentin tunniste (eli id) on silloin 113991
Seuraavaksi katso kappaleen tunniste, jonka näet kohdasta Edit the full document
Esimerkiksi jos siinä näkyy:
#- {id="ZygGYGknC5E4"}
[Koti 2016](/view/kurssit/tie/ohj2/2016k/koti)
[Luennot](/view/kurssit/tie/ohj2/2016k/luentojen-aiheet)
[Ohjaukset](https://trac.cc.jyu.fi/projects/ohj2/wiki/2016/paate)
...
on kappaleen tunniste ZygGYGknC5E4
20.6.2 Viittauksen laittaminen toiseen dokumenttiin
Luo uusi dokumentti tai avaa dokumentti, johon haluat tämän vakiotekstin tulevan.
Lisää dokumenttiin haluamaasi kohtaan viite alkuteksteihin. Tässä tapauksessa luonnollisin paikka olisi aivan dokumentin ensimmäiseksi näkyväksi kappaleeksi. Kopioi editorista tai kirjoita rivi, joka on muotoa:
#- {rd="113991" rl="no" rp="ZygGYGknC5E4" .linkit}
jossa luonnollisesti rd
(referenced dokument) jälkeen on dokumentin id, jonka katsoit edellä ja rp
:n (referenced paragraph) jälkeen katsomasi dokumentin tunniste. Tyylin tunnisteen .linkit
voit kirjoittaa tai jättää kirjoittamatta tai kirjoittaa siihen jonkin muunkin tyylin nimen.
Nyt tässä tapauksessa pitäisi dokumentin alussa näkyä linkkilista ja mikäli päivität itse linkkilistaa, niin se muuttuu kaikissa dokumenteissa, joihin olet lisännyt siihen viitteen.
Attribuutti rl
määrää näkyykö lähteen linkki tekstissä vai ei.
20.7 Dokumentin kääntäminen toiselle kielelle
Usein on tarve ylläpitää samasta dokumentista erikielisiä versioita. TIMin ratkaisu asiaan on tehdä käännöksestä dokumentti, jossa on lohkot viitteinä alkuperäiseen dokumenttiin. Näin käännetty dokumentti saa tiedon siitä, että alkuperäinen dokumentti on muuttunut. Tällöin käännöksestä vastaavan henkilön ei tarvitse koko ajan katsoa että onko joku muuttunut, vaan hän voi esimerkiksi tilata automaattisen sähköpostin siitä, milloin seurattava dokumentti muuttuu.
Huomattakoon että kyseessä ei ole automaattinen käännös, vaan kun käännösdokumentti luodaan, se on vain "kopio" alkuperäisestä. Käännöksestä vastaava henkilö kirjoittaa kopioiden päälle käännöksen. Alkuperäisen muuttuessa jonkun lohkon kääntämisen jälkeen, tulee käännetyn lohkon kohdalle merkintä muutoksesta.
- Mene Manage-sivulle:
- Tapa 1:
- dokumentin ylälaidassa on linkki
Manage
- dokumentin ylälaidassa on linkki
- Tapa 2:
- mene pääsivulle https://tim.jyu.fi
- siirry siihen kansioon missä dokumentti on
- dokumentin kohdalla oikeassa laidassa on rattaan kuva
- Tapa 1:
Kohdassa Translations on joukko rivejä dokumentin kaikista käännöksistä. Ensimmäinen rivi koskee dokumenttia itseään. Tässä voit antaa dokumentille kielitunnisteen (esim. fi) jolla se tulee näkymään myöhemmin kielipalkissa. Otsikko (title) määrää, mitä selaimen otsikkorivillä näytetään.
Voit luoda uuden käännöksen Create translation -painikkeella ja syöttämällä uuden käännöksen kielitunnisteen ja otsikon. Käännösdokumentti sisältää samat lohkot kuin alkuperäinen, mutta viitteinä joille voit kirjoittaa uuden tekstin. Dokumentin eri kieliversiot ilmestyvät sen oikeaan yläreunaan, josta käyttäjät voivat valita haluamansa kielen. Käännettyyn dokumenttiin pääsee myös suoraan osoiteriviltä / linkillä lisäämällä osoitteen perään esim. '/en'.
Jos haluat luoda käännöksen sijaan dokumentin, joka sisältää lohkot sellaisenaan esimerkiksi kootaksesi kaikki luentomonisteen esimerkit samalle sivulle, voit tehdä sen Create a cited copy -painikkeella. Kielitunnisteen ja otsikon sijaan viitekopiolle annetaan kokonainen nimi polkuineen.
Katso myös:
- Konekääntäminen TIMissa - dokumenttien automaattinen konekääntäminen TIMissa
21. Relevanssi
Dokumenteille ja kansioille voi määrittää tärkeysarvon eli relevanssin, joka kertoo kohteen prioriteetin TIM-hauissa. Mitä suurempi relevanssi, sitä korkeammalla dokumentit näkyvät niitä koskevissa hakutuloksissa. Vastaavasti asettamalla relevanssin matalaksi dokumentteja voi siirtää hakutuloksien pohjalle tai ulkopuolelle.
21.1 Relevanssiarvojen merkitys
Käyttäjä voi määritellä haun lisäasetuksissa mikä on pienin relevanssiarvo joka otetaan mukaan hakuun. Oletuksena tämä on 1 eli jos kohteen relevanssi on nolla tai negatiivinen, se ei tule mukaan hakuihin ellei käyttäjä erikseen muuta asetuksia.
Relevanssiarvot jaetaan suuntaa-antavasti seuraavalla tavalla:
- 100 = hyvin tärkeä, suositellaan käytettäväksi esimerkiksi kurssien pääsivuilla tms. dokumenteissa, jotka käyttäjän halutaan löytävän ensimmäisenä
- 50 = tärkeä, esim. keskeiset kurssimateriaalit
- 10 = normaali eli oletusarvo, joka suurimmalla osalla dokumenteista on
- 1 = ei tärkeä, pienin arvo joka tulee mukaan hakuihin oletuksena
- 0 = huomiotta jätettävä, ei tule mukaan hakuihin ellei hakija muuta hakuasetuksia
- -100 = haudattu, merkitsee dokumentin piilotettavaksi hakutuloksista (huom. hakija voi vielä ottaa dokumentin mukaan hakuihin muuttamalla relevanssikynnysarvoa hakuasetuksissa)
Relevanssiarvoksi saa asettaa mitä tahansa kokonaislukuja näiden väliltä. Myös yli 100 ja alle -100 ovat mahdollisia, tosin muokkaajia pyydetään pidättäytymään käyttämästä turhan korkeita relevanssiarvoja jotta muut tärkeät dokumentit saavat tasapuolisesti sijan hakutuloksissa.
Relevanssin lisäksi hakutuloksien järjestykseen vaikuttaa myös sen osumien määrä. Relevanssi toimiikin käytännössä hakuosumien lisääjänä: dokumentti saa suoraan relevanssiarvon verran lisäosumia sen järjestämisen kannalta. Näin ollen esimerkiksi dokumentti, jonka relevanssi on 100 ja josta tuli osumia 1 kappale näkyy korkeammalla kuin dokumentti josta tuli 12 tulosta mutta jonka relevanssi on vain 10. Korkea relevanssi ei yksinään tuo dokumenttia mukaan hakuihin, joissa dokumentista ei tullut yhtään osumaa.
Muista myös, että dokumentin oikeudet vaikuttavat sen näkyvyyteen hauissa. Jos esimerkiksi dokumentin katsomisokeudet on annettu vain tietylle ryhmälle, se ei tällöin tule mukaan muiden käyttäjien hakutuloksissa vaikka relevanssi olisikin korkea.
21.2 Relevanssi hakuasetuksissa
Hakua tehdessä relevanssi vaikuttaa sekä tuloksia
- suodattavasti eli relevanssin raja-arvon alle jäävät dokumentit pudotetaan pois tuloksista, että
- järjestävästi eli arvot vaikuttavat tuloksien esitysjärjestykseen.
Relevanssin raja-arvoa voi muuttaa haun lisäasetuksissa. Lisäasetukset avataan klikkaamalla TIM-hakupaneelista lisäasetuksien-painiketta (kolme päällekkäistä viivaa). Raja-arvoa muokataan lisäasetuksien Relevance-syöttökentässä, jota muokattaessa ehdottaa relevanssin suuntaa-antavia arvoja.
Oletuksena raja on 1 eli mukaan tulevat kaikki dokumentit, joita ei ole merkitty huomiotta jätettäviksi (relevanssi 0 tai negatiivinen), mutta asettamalla eri arvon mukaanoton rajaa voidaan muuttaa. Esimerkiksi arvolla 100 haku rajoitetaan vain keskeisimpiin, hyvin tärkeiksi merkittyihin dokumentteihin, ja laskemalla rajan -1000:n tuloksia ei suodateta relevanssin perusteella lainkaan (poikkeuksena mahdollisesti vielä pienemmän relevanssin omaavat dokumentit).
Hakutulosikkunassa tulokset järjestetään oletuksena relevanssin mukaan. Järjestyskriteeriä voidaan muuttaa tulosikkunan vasemman alalaidan pudotusvalikosta. Järjestämisen vaihtoehtoina ovat relevanssin ohella osumien määrä, dokumentin nimi ja dokumentin polku.
21.3 Relevanssin muokkaus ja resetointi
Relevanssin muokkaaminen vaatii muokkausoikeudet (manage rights). Arvon vaihtamisen voi tehdä joko sivupalkista tai manage-välilehdeltä käsin.
- Tapa 1:
- Mene Manage-välilehdellä Relevance-kohtaan
- Muuta syöttökentän numeroarvoa tai klikkaa kentän oikean laidan nuolia. Tällöin näkyviin tulee pudotuslista suositelluista relevanssiarvoista selityksineen.
- Valitse arvo pudotuslistasta tai syötä suoraan oma arvo.
- Kun olet varma muutoksestasi, paina Save-painiketta tallentaaksesi muutoksen.
- Tapa 2:
- Klikkaa rattaan kuvaa sivun vasemmassa ylälaidassa ja sieltä edelleen Edit relevance-painiketta. Painikkeen perässä oleva numero kertoo sivun voimassaolevan relevanssiarvon.
- Näkyviin tulee ikkuna, joka sisältää numeroiden syöttökentän.
- Muuta syöttökentän numeroarvoa tai klikkaa kentän oikean laidan nuolia. Tällöin näkyviin tulee pudotuslista suositelluista relevanssiarvoista selityksineen.
- Valitse arvo pudotuslistasta tai syötä suoraan oma arvo.
- Kun olet varma muutoksestasi, paina Save-painiketta tallentaaksesi muutoksen.
- Sulje ikkuna klikkaamalla Close-painiketta tai yläkulman ruksia.
Jos haluat palauttaa oletusarvon, avaa relevanssin muokkaus jommalla kummalla tavalla ja paina Reset-painiketta. Tällöin dokumentin relevanssi palaa alkutilaansa eli yläkansioiden relevanssit voivat vaikuttaa siihen.
Huom. relevanssin muutos vaikuttaa dokumenttiin vasta hakuindeksin päivittämisen jälkeen, joka tehdään tasapuolitunnein. Jos haluat testata relevanssiarvon muutoksia, tee testihaut reilut puoli tuntia myöhemmin.
21.4 Kansioiden relevanssi ja oletusrelevanssi
Kansioiden relevanssia muokataan ja tarkastellaan vastaavasti kuin dokumenttienkin. Kansion relevanssiarvoa muuttamalla kaikki sen sisältämät dokumentit ja alikansiot perivät kyseisen arvon eli kansion relevanssiarvo vaikuttaa sen koko sisällön näkyvyyteen hauissa.
Relevanssilla on kolme eri tilaa:
- Oletusrelevanssi (10), jota käytetään jos dokumentti ja mikään sen yläkansioista hakemistohierarkiassa ei sisällä muutettua relevanssia.
- Peritty relevanssi, joka saadaan lähimmältä yläkansiolta jonka relevanssia on muutettu.
- Kansion tai dokumentin oma muutettu relevanssi: ottaa aina etusijan ylempää perittyihin verrattuna.
Esimerkiksi:
- Pääkansio, relevanssi 0
- Alikansio 1, relevanssia ei muutettu: perii arvon 0
- Dokumentti 1, relevanssia ei muutettu: perii pääkansion relevanssin 0
- Dokumentti 2, relevanssiksi asetettu -10: oma relevanssiarvo -10 ottaa etusijan
- Alikansio 2, relevanssiksi asetettu 25: oma arvo 25 ottaa etusijan
- Dokumentti 3, relevanssia ei muutettu: perii alikansion 2 relevanssiarvon 25
- Dokumentti 3, relevanssiksi asetettu 100: oma relevanssi 100 ottaa etusijan
- Alikansio 1, relevanssia ei muutettu: perii arvon 0
22. Kalvot
Sivuista saa auttavat kalvot yläpalkin linkistä Slide view
.
Kalvoissa on kaksi kuvaketta nuolien vierellä:
- Full Screen - näyttää kalvot koko ruudulla
- Ohjain - tästä voi avata luennoitsijan näkymän jota voi käyttää vaikkapa kännykältä kauko-ohjaimena kalvoihin
Kalvoja kirjoitettaessa voi avata erikseen itselleen apunäkymän, jonka saa vaihtamalla osoiterivillä olevan slide
tilalle show_slide
. Esimerkiksi siis:
https://tim.jyu.fi/show_slide/tim/TIM-ohjeet#/
Tälle ei ole vielä valmista käyttöliittymää. Jos toisessa selaimen ikkunassa (tai jopa monitorissa) pitää auki muokkausnäkymää (View
) ja toisessa kalvonäkymää (Slide
), voi helpommin katsoa miltä kalvot näyttävät. Toistaiseksi pitää käsin painaa kalvoikkunassa refresh (F5)
jotta näkee muutokset.
22.1 Taustakuva
Kalvojen taustaan voi vaikuttaa asetuksiin kirjoitettavilla arvoilla:
slide_background_url: "/images/118378/Aikajana.png"
slide_background_color: "red"
Taustakuvan osoite voi olla mikä tahansa osoite, jossa on kuva, tai kuvan voi ladata niin, että laittaa kursorin riville, jossa lukee tuo slide_backgroud_url:
mutta ei vielä muuta ja sitten ottaa Upload file/image
ja lataa sopivan kuvan, niin osoite tulee tuolle riville.
Taustakuvan saa pois laittamalla taustalle valkoisen valmiin kuvan:
slide_background_url: "/static/images/white.png"
22.2 Kalvojen koko
Oletuksella kalvon koko on 960x700 px. Tämä tarkoittaa, että kalvot skaalataan näytön koosta riippuen siten, että ne näyttäytyvät samalta kuin 960x700 -kokoisella näytöllä.
Kalvojen koko voi kasvattaa slide_size
-asetuksella:
slide_size: [1280, 720]
Mitä suurempi kalvot ovat, sitä pienemmältä niiden sisältö näyttää suhteessa kalvoihin.
22.3 Kalvon teema
Oletuksena kalvoissa on käytössä JYU-teema, jossa käytetään Jyväskylän yliopiston tyylisääntöjen mukaiset värit ja fontit.
Teemoja voi vaihtaa käyttämällä slide_themes
-asetusta:
slide_themes: ["black"]
jyu
-teeman lisäksi kaikki reveal.js-kirjaston teemat ovat käytössä.
22.4 Kalvon vaihto
Oletuksena kalvonvaihdot tulee aina otsikoiden kohdalle
Pitkien kalvojen tapauksessa kalvonvaihdon saa pakotettua ottamalla editorin palkista:
Insert / Slide / Slide Break
Tämä tekee tyhjän kappaleen, jossa on kolme miinusmerkkiä, eli kalvon vaihdon saa aikaiseksi myös kirjoittamalla itse:
#-
---
#-
TIMissa käytetään reveal.js-kirjastoa kalvojen näyttämiseen selaimessa. Reveal.js -kirjastossa kalvot voi ryhmitellä allekkain esimerkiksi aiheen mukaan. Alakalvot saa lisäämällä slide_break="sub"
-attribuutti lohkoon. Esimerkiksi
#-{slide_break="sub"}
---
#-
Laittaa seuraavan lohkon tekstisisällön alakalvoon. Alakalvojen erotin saa editorista valitsemalla:
Insert / Slide / Subslide Break
22.5 Tekstin näkyvyys
Tekstin näkyvyyttä kalvolla voi säädellä tyyleillä:
#- {.hideinslide}
Tämä kappale ei näy kalvoilla.
#- {.showonlyslide}
Tämä kappale näkyy vain kalvoilla.
#-
Lohkon sisällä voidaan myös säätää näkyvyyttä: [tämä teksti ei näy kalvolla]{.hideinslide}
[tämä teksti näkyy vain kalvolla]{.showonlyslide}.
22.6 Kuvat vierekkäin
Alueita saa vierekkäin esimerkiksi flexboxilla. Tällöin dokumentin asetuksiin on lisättävä css-muotoilu
css: |!!
.showflex {
display: flex;
}
minkä jälkeen alueita saa vierekkäin laittamalla ne area
-tägien väliin:
#- {area="kuvat1" .showflex}
(alue 1)
(alue 2)
...
#- {area_end="kuvat1"}
23. Dokumentin muokkaaminen
23.1 Editorin toimintoja
- Editorin pikakommennot
- Paina Ctrl-, (Ctrl-pilkku) niin saat editorin optioita. Siellä yksi hyödyllinen optio on Wrap lines, jolloin muokkauksen aikana pitkät rivit näytään peräkkäisinä riveinä.
- editorissa on Painike
Editor
ja silloin kun sitä painetaan, vaihdetaan "värikkään" ja "värittömän" välillä. Väritön on selaimen oma peruseditori, jossa toimii mm oikoluku. Voit vaihtaa tilaa tarpeen mukaan. - Editorin alla oikeassa alanurkassa on nuoli, josta esikatselun voi irroittaa ja siirtää vaikka kirjoitettavan tekstin vierelle.
23.2 Editointitila
Sen lisäksi, että dokumenttia voidaan muokata itse editorin avulla, voidaan siirtyä editointitilaan painamalla muokkausmenun vasemmassa alakulmassa olevaa kynän kuvaa.
Edit-tilassa voidaan:
- valita isompi joukko lohkoja muokattavaksi ottamalla
Start selecting area
- leikata (Cut) tai kopioida (Copy) TIMin sisäiselle leikepöydällä yksi tai usemapia lohkoja
- liimata (Paste) TIMin sisäiseltä leikepöydältä lohkoja valitun kohdan ylä- tai alapuolelle.
- Paste voidaan tehdä toiseenkin dokumentiin ja siinä voidaan valita tuleeko liimattuun kohtaan lohkon sisältö vaiko viite. Mikäli laitetaan viite, niin alkuperäisen sisällön muuttuessa muuttuu myös viitattu sisältö.
- TIMin sisäiselle leikepöydälle siirretty tieto säilyy vaikka siirrytään koneelta toiselle, kunnes tilalle laitetaan uutta sisältöä.
- voidaan antaa valituille alueille nimiä ja samalla tehdä niistä esimerkiksi sulkeutuvia/avautuvia
- Edit-tilassa dokumentissa näkyy lisätyt kalvonvaihtorajat, kommentoidut alueet yms. mitä ei näy tavallisessa dokumentissa.
23.3 Aluemuokkaustila
Muokkausmenun oikeasta alakulmasta voidaan siirtyä aluemuokkaustilaan, jolloin nähdään paremmin dokumenttiin laitetuja nimettyjä alueita ja voidaan käsitellä niitä.
24. Sulkeutuvat alueet
Tämä teksti on oletuksena piilossa.
Uuden avautuvan/sulkeutuvan (collapse) alueen voi tehdä seuraavasti:
- mene alueen ensimmäiseen kappaleeseen
- valitse muokkausmenusta kynä (ks Editointitila) ja sitten
Start selecting area
- valitse mitä kappaleita haluat piilottaa
- valitse edit menusta
Name area
ja sitten anna alueelle nimi, valitse onko sulkeutuva ja sitten mahdollisen aikaraja (joka valitettavasti vielä on UTC)
Tiedoksi: Tämä tuottaa seuraavanlaisen koodin, jos alueita haluaa itse tehdä käsin:
#- {area="sulkeutuva" collapse="true"}
Tässä on esimerkki sulkeutuvasta alueesta:
#-
Tämä teksti on oletuksena piilossa.
#- {area_end="sulkeutuva"}
Tässä on tärkeää huomata, että aluella on alkulohko ja loppulohko, joissa molemmissa on sama nimi. Ilman loppulohkoa koko dokumentti menisi piiloon. Tämä pitää tiedostaa, jos dokumentista "syö" lohkoja pois varomattomasti.
Jos haluat, että sulkeutuva alue on oletuksena auki (mutta sen voi sulkea klikkaamalla), voit vaihtaa collapse-määrityksen arvoon false
:
#- {area="sulkeutuva2" collapse="false"}
Tässä on esimerkki sulkeutuvasta alueesta:
#-
Tämä teksti on oletuksena näkyvissä.
#- {area_end="sulkeutuva2"}
Normaalisti nämä sulkeutuvat alueet aukeavat ja sulkeutuvat klikkaamalla missä tahansa alueen otsakerivin sisällä. Voit kokeilla tätä alla klikkaamalla sinisen otsakealueen sisällä.
Sulkeutuvan alueen sisältö
Jos haluat, että otsakealueen jokin osa ei aukaise/sulje aluetta, voit lisätä sille osalle tyylin .no-areaexpand
:
#- {area="tehtavat_ma" collapse="true" .sulkeutuva_otsake defaultplugin="cbfield"}
Maanantain tehtävät [{#cb_tehty #} Tehty]{.no-areaexpand .cb_in_area_asettelu}
#-
- t1
- t2
- t3
#- {area_end="tehtavat_ma" }
#- {area="tehtavat_ti" collapse="true" .sulkeutuva_otsake defaultplugin="cbfield"}
Tiistain tehtävät [{#cb_tehty2 #} Tehty]{.no-areaexpand .cb_in_area_asettelu}
#-
- t1
- t2
- t3
#- {area_end="tehtavat_ti"}
#- {area="tehtavat_ke" collapse="true" .sulkeutuva_otsake defaultplugin="cbfield"}
Keskiviikon tehtävät [{#cb_tehty3 #} Tehty]{.no-areaexpand .cb_in_area_asettelu}
#-
- t1
- t2
- t3
#- {area_end="tehtavat_ke"}
- t1
- t2
- t3
- t1
- t2
- t3
- t1
- t2
- t3
TIM ei toistaiseksi tue kunnolla sisäkkäisiä alueita. Niistä ei tule virheilmoituksia, mutta dokumentti ei todennäköisesti näytä järkevältä, koska alueet eivät tule sisäkkäin selaimen rakennepuuhun. Siksi sisäkkäisiä alueita kannattaa toistaiseksi välttää.
25.1 Mallimenu
Tyypillinen käyttötapaus on kurssin luento- ja materiaalidokumenttien linkkien esittäminen kompaktisti käyttäjien navigoinnin helpottamiseksi.
Esimerkki kurssin navigointimenusta:
Kyseinen menu luodaan seuraavalla koodilla:
``` {plugin="timMenu" .hidden-print}
backgroundColor: "lightGray"
separator: "|"
#openingSymbol: "▿"
menu: |!!
- Luennot
- [Luento 1](/view/tim/ohjeita/mallikurssi/luennot/luento1)
- [Luento 2](/view/tim/ohjeita/mallikurssi/luennot/luento2)
- [Luento 3](/view/tim/ohjeita/mallikurssi/luennot/luento3)
- [Luento 4](/view/tim/ohjeita/mallikurssi/luennot/luento4)
- [Luento 5](/view/tim/ohjeita/mallikurssi/luennot/luento5)
- *Luento 6 (ilmestyy myöhemmin)*
- Kurssin lisäosan luennot
- [Extraluento 1](/view/tim/ohjeita/mallikurssi/luennot/lisa1)
- [Extraluento 2](/view/tim/ohjeita/mallikurssi/luennot/lisa2)
- Materiaalit
- [Kurssimoniste](/view/tim/ohjeita/mallikurssi/moniste)
- [Diat (kokooma)](/view/tim/ohjeita/mallikurssi/diat)
- [Lisämateriaalit](/view/tim/ohjeita/mallikurssi/lisamateriaali)
- [Demot](/view/tim/ohjeita/mallikurssi/demot)
- [Harjoitustyöt](/view/tim/ohjeita/mallikurssi/ht)
!!
Siinä backgroundColor
, separator
, openingSymbol
ja menu
ovat pluginin attribuutteja, joista menu
määrittää varsinaisen menurakenteen ja on siten pakollinen, ja muut ovat vapaaehtoisia ulkoasuun vaikuttavia attribuutteja.
25.2 Menun lisääminen ja muokkaus
Menu-pluginin saa lisättyä helpoiten editorin menupohjien avulla.
- Avaa dokumentin muokkaus ja mene Insert-välilehdelle ja valitse Menus-valikosta sopiva menupohja. Valittavana on useita vaihtoehtoja, mutta aloittelijalle suositellaan joko
- timMenu-pohjaa, joka sisältää useita muotoiluja ja alivalikoita mallina menujen laatimiseen tai
- timMenu (simple) -pohjaa, joka on minimaalinen vaihtoehto yhdellä pudotusvalikolla.
Myös edellisen luvun mallimenu toimii pohjana.
Muokkaa menurakenne pluginin
menu
-attribuutissa kaksoishuutomerkkien (!!) väliin (ne ilmaisevat, että muuttuja sisältää rivinvaihtoja).- Menurakenteen syntaksi eli kielioppisäännöstö noudattaa pitkälti samaa logiikkaa kuin numeroimattomat listat (ks. TIMin listaohje).
- Keskeistä menurakenteessa on erottaa menualkiot rivinvaihdoilla, merkitä ne väliviivalla (-) ja sisentää listattuja alkioita, jos ne halutaan sijoittaa edellisestä alkiosta aukevaan valikkoon tai alivalikkoon (ks. syntaksin tarkemmat ohjeet).
- Esim. menurakenne yhdellä pudotusvalikolla ja kahdella menualkiolla luodaan seuraavasti:
menu: |!! - Pudotusvalikko 1 - [Linkkiteksti 1](http://www.esimerkkilinkki1.jyu.fi) - [Linkkiteksti 2](http://www.esimerkkilinkki2.jyu.fi) !!
Muokkaa valikkorakenteen otsikot ja menukohtien tekstit haluamallasi tavalla.
- Linkit toimivat menukohdissa samoin kuin muuallakin TIMissä eli
[Linkin_teksti](Linkin_osoite)
. - Otsikoissa ja menukohdissa voi käyttää TIMin perusmuotoiluja kuten kursivointia ja lihavointia.
- Linkit toimivat menukohdissa samoin kuin muuallakin TIMissä eli
Tallenna muutokset Save-painikkeella tai kumoa Cancel-painikkeella.
25.3 Lisäominaisuudet ja tarkemmat ohjeet
TimMenu tukee erilaisia ulkoasuun ja käytettävyyteen liittyviä asetuksia ja ominaisuuksia, mukaan lukien kuvien lisääminen menun sisään, valikoiden näkyvyyden säätäminen käyttöoikeuksien mukaan sekä valikon värien ja koon muokkaus.
26. Luentokyselyt ja luentoseinä
TIMissä voi tehdä interaktiivisia luentoja, joissa on luentoseinä ja luennolla voi esittää interaktiivisia kysymyksiä. Opiskelijat voivat vastata kysymyksiin kännykällä, täppärillä tai kannattavalla. Vastaamisen edellytyksenä on HTML5-pohjainen selain joka on nykyään jo useimmissa laitteissa.
- Hieman vanhentuneita näyttökuvia luentokysymyksistä löytää Timppa-sovellusprokektin raportista.
- jossakin vaiheessa näitäkin ohjeita täsmennetään kuvien kanssa
26.1 Luennon luominen
Luentoa varten pitää ensin luoda luento joko etukäteen tai luennon aluksi:
- Siirry
Lecture view
välilehdelle - Paina
No running lectures
alta + ja luo uusi luento - Anna luennon nimi (koodia ei aina kannata antaa) ja alku ja loppuaika (lokaali aika)
- Kopioi "Link to automatically join lectures for this document:" alle tuleva osoite ja ilmoita se opiskelijoille tai tee siitä sivullesi QR-koodi tai lyhenne r.jyu.fi-sivuilla (kannattaa kirjaantua niin voi valita itse lyhennenimen)
- Paina Create
- Jos ei liity automaattisesti luennolle, paina liittymispainiketta.
- Luentoseinä tulee näkyviin.
26.2 Kysymysten luominen
Joko ennen luennon luomista tai luennon luomisen jälkeen voit Lecture View
-tilassa tehdä kysymyksiä. Luennon ei tarvitse olla aktiivinen kysymysten luomisen aikana, mutta jos haluaa kokeilla niiden toimintaa, silloin pitää luennon olla aktiivinen.
- Valitse normaalisti Edit-menu mutta valitse sieltä nyt
Create lecture question
- Anna kysymykselle sopiva kysymysotsikko (Question) ja lyhenne (Title) jolla kysymys tallentuu tietokantaan.
- Valitse kysymyksen tyyppi
- Täytä kysymyksen pisteet.
- Valitse kysymykselle sopiva kysymyksen näyttöaika (yleensä 20-60 sek on hyvä).
- Save
Toista em. kaikille kysymyksille joita haluat luoda. Luennon ja kysymysten sivun ei tarvitse olla sama. Voit tehdä kysymyksiä muillekin sivuille ja silti kysyä niitä opiskelijoilta jotka ovat liittyneet ilmoittamallesi luentosivulle.
Kysymyksiä voit tarvittaessa muokata myös tekstieditorilla kun otat niiden viereen syntyvästä Edit-menusta Edit
. Tai voit kopioida niitä lohkon kopiointi-toiminnolla paikasta toiseen. Eli ota Edit-menusta kynän kuva ja sieltä tarvittava toiminto.
26.3 Kysymysten kysyminen
Kysymykset näkyvät dokumentissasi pieninä kysymysmerkki-lohkoina. Klikkaamalla kysymysmerkkiä, voi muokata kysymystä tai kysyä sen.
Kun kysyt kysymyksen, se ilmestyy kirjaantuneille opiskelijoille ja valittu aika juoksee. Kun kysymys on päättynyt (tai jopa ennen päättymistä), voit näyttää Show answers
-painikkeesta vastausten jakauman. Klikkaamalla Bar
-tekstiä tai kysymyksen otsikkoa voi vaihtaa pysty- ja vaakapalkkien välillä.
Kysymyksen jälkeen Show points
- painikkeella voit lähettää opiskelijoille näkyviin heidän saamansa pisteet.
Tarvittaessa voit kysyä saman kysymyksen uudelleen jollain vastaukset menevät samaan kohtaan tai voit kysyä kysymyksen uutena (esim. keskustelujen jälkeen). Jos haluat muuttaa pisteytystä, voit tehdä sen tässä Edit points
-toiminilla
Kun haluat vaihtaa toiseen kysymykseen, sulje kysymysikkunan ja paina taas toisen kysymyksen kysymysmerkkiä.
Jos tekee dokumenttiin tavallisia kysymyksiä uusilla kysymystyypeillä, voi niitäkin kysyä luentokysymyksinä.
26.4 Tilastot
Vasemman ylänurkan henkilökuvakkeesta näet luennolle kirjaantuneet henkilöt.
Tohtorinhatusta näet dokumenttiin liitetyt luennot ja luennon nimeä klikkaamalla pääset luennon statistiikkaan. Täällä yhteenvetosivulla voit tarkastella kaikkien vastauksia tai yhden vastaajan vastauksia.
'Download as plain text'-painikkeella saat muodon, jonka voi siirtää esimerkiksi Korppiin (kun tarvittaessa muuttaa kenttien nimiä).
26.5 QR-koodin tekeminen sivulle
Joskus kannattaa laittaa esimerkiksi luentosivun alkuun QR-koodi, jolla opiskelijat pääset kännykällä helposti liittymään luennolle.
QR-koodin saa tehtyä kun lisää dokumenttiin seuraavan lohkon:
#- {.kuvavasen}
![Näytä tätä
puhelimelle](https://chart.googleapis.com/chart?chs=400x400&cht=qr&chl=
https://tim.jyu.fi/lecture/tim/TIM-ohjeet?lecture=autojoin)
missä tietysti korvaa tuon https
-alkuisen rivin oman luennon koodilla. QR-koodi näyttää seuraavalta:
Koodin kokoa voi tarvittaessa säätää luentotilan ja tykin kuvan koon mukaan chs
-parametrin jälkeen olevaa 400x400
lukua muuttamalla.
Ohjeita QR-koodin lukemisesta eri laitteilla on sivulla QR-lukijoita-eri-laitteilla.
26.6 Lyhennelinkki
Yleensä luentosivun alkuun kannattaa pistää myös jollakin tehty lyhennelinkki näkyville tyyliin:
r.jyu.fi/tim
Näin niidenkin on helppoa liittyä luennolle, joilla ei ole QR-koodin lukevaa laitetta.
Lyhennelinkin tekemiseksi kannattaa kirjaantua sivulle:
lyhennelinkkiin kannattaa laittaa luennolle liittyminen suoralla linkillä:
https://tim.jyu.fi/lecture/slidetesti?lecture=kellotesti
Toinen vaihtoehto on korvata luennon nimi
lecture=kellotesti
parametrillälecture=autojoin
linkin perässä. Esimerkiksihttps://tim.jyu.fi/lecture/slidetesti?lecture=autojoin
jolloin luennolle liittyminen tapahtuu automaattisesti, jos dokumentissa on yksi luento käynnissä. Molemmat linkit löytyy luennon luontilomakkeen alaosasta.
26.7 Edistyneempiä ominaisuuksia
mikäli kysymyksiin halutaan matematiikkaa tai muuta muotoilua, pitää tekstikenttä aloittaa tunnuksella
md:
. Esimerkiksi:md:$\int_0^1 f(x)dx$ md:*Tämä on kursiivilla*
jos itse kysymysrivin tekstistä tulee niin pitkä, ettei se näy mielekkäästi jakaumakuvassa, voi
!!
-jonon jälkeen antaa vaihtoehtoisen tekstin, joka näkyy jakaumassa. Samoin jakaumakuvissa ei näy oikein esimerkiksi matematiikka ja tällöin voi myös olla etua vaihtoehtoisesta tekstistä:Tämä on liian pitkä teksti jakaumakuvaan !! Lyhyt versio
jos rivin otsikkoon antaa vielä lisää
!!
-jonoja, voidaan niillä määrätä jakaumakuvaan tulevan tekstin yhden rivin maksimipituus ja rivien määrä. Jos vaihtoehtoinenteksti jätetään tyhjäksi, käytetään varsinaista tekstiä:Jakaumaan max 15 merkkiä/rivi ja korkeintaan 2 riviä !! !! 15 !! 2
jakaumakuvien suuntaa voi vaihtaa
Bar
-tekstiä klikkaamalla ja tai kysymyksen otsikon kysymystekstiä klikkaamalla.yhteenvetokuvassa voi jakauman leveyttä ja korkeutta säätää linkeistä
w- w+ h- h+
luennon aikana jakaumakuvan kokoa voi säätää oikeasta reunasta tai alareunasta venyttämällä
27. Lomakkeet
TIMissä lomakkeet ovat tavallisia dokumentteja, joihin on sijoiteltu syöttökenttiä tarpeen mukaan.
Lomakkeiden avulla voidaan tehdä esimerkiksi kurssin osasuositusten seurantaa tai erilaisia kyselyitä. Lomakkeiden kenttien avulla voidaan tehdä erilaista laskentaa, mm. laskea kurssin arvosana, värittää puutteellisia suorituksia yms.
Lisäksi voidaan tuottaa erilaisia graafeja laskennan ja lomakkeiden arvojen pohjalta. Joku voisi jopa nimittää tätä oppimisanalytiikaksi.
- Mallikurssi, jossa käytetty lomakkeita - sivuilta on linkkejä tarkempiin ohjeisiin
- lomakkeiden luominen - tarkempia ohjeita lomakkeiden luomiseen
28. Dokumenttien näyttäminen pienempinä paloina
Jos dokumentit latautuvat hitaasti esimerkiksi dokumentin pituuden tai laitteen vuoksi, selausta voidaan nopeuttaa ottamalla käyttöön dokumenttien näyttäminen pienempinä paloina.
Dokumenttien paloittelutilaan siirrytään klikkaamalla Show page in parts -linkkiä sivuvalikon Document settings -kohdassa, johon pääsee klikkaamalla rattaan kuvaa sivun vasemmassa yläkulmassa.
Paloittelutilassa dokumentti ladataan uudelleen jaettuna paloihin eli kerrallaan näytetään vain rajattu määrä lohkoja. Palojen välillä liikutaan sivun ylä- ja alareunoihin ilmestyvien navigaatiolinkkien avulla. Linkkien kautta on pääsy seuraavaan ja edellisen palaan, sekä dokumentin alkuun ja loppuun. Jos dokumentti on lyhyempi kuin määritetty osakoko (oletuksena 20 lohkoa), navigaatiolinkkejä ei näytetä.
Paloittelutila pysyy päällä dokumenttien välillä niin pitkään kun selaimen evästeet ovat tallella. Uudelle TIM-sivulle siirryttäessä avataan tällöin aina oletuksena kyseisen dokumentin ensimmäinen pala.
Paloittelutilasta poistutaan palaamalla sivuvalikkoon ja klikkamalla Show page in full -linkkiä, tai vaihtoehtoisesti klikkaamalla valinta Enable partitioning documents pois päältä paloitteluasetuksikkunassa (rattaan kuva navigaatiolinkkien ja paloittelutilalinkin vieressä) ja tallentamalla muutokset painamalla Ok. Tällöin dokumentti ladataan uudelleen kokonaisuudessaan.
28.1 Paloittelutilan ongelmat
Paloittelutila on ratkaisu yhteen ongelmaan (sivun hidas latautuminen), mutta sen käytöstä seuraa uusia ongelmia:
- Jos jostakin on suora linkki johonkin dokumentin kohtaan, niin tällaiset linkit eivät toimi.
- Sisällysluettelon linkit eivät toimi.
Molemmat ongelmat ovat teknisesti hyvin haastavia erityisesti muuttuvalla palakoolla. Koska paloittelutilaa käytetään suhteellisen vähän suhteessa koko TIMin käyttöön, ei tämän hetken resurssit riitä haasteiden korjaamiseen.
Joskus voi tulla erillinen paloittelutila, joka pohjautuu lukujen osalta jakamiseen. Siinäkin on omat haasteensa ja siksi sekään ei ole tällä hetkellä työlistalla.
28.2 Palakoko
Oletuksena dokumentin palakoko on 20 lohkoa. Haluttaessa palakokoa voidaan muuttaa paloitteluasetusikkunassa (Edit view range), joka voidaan avata joko navigaatiolinkkien tai sivuvalikon Show page in parts/full -linkin vieressä olevasta rattaan kuvasta . Palakoko syötetään numerokenttään kohdassa Piece size ja sen muutokset tallennetaan painamalla Ok.
Huomaa, että palojen todellinen koko voi vaihdella, sillä paloittelu pyrkii välttämään lohkoalueiden (area) katkaisemista ja voi pyöristää lyhyet palat (alle puolet palakoosta) dokumentin alussa tai lopussa mukaan.
28.3 Paloittelu ja preamblet
Kun paloittelutila on päällä, preamble-dokumenteista tuleva sisältö ladataan oletuksena vain dokumentin ensimmäisessä palassa. Haluttaessa preamble-dokumentin muokkaaja voi asettaa lohkon ladattavaksi joka palan alkussa lisäämällä sille luokan includeInParts
, esim.
#- {.includeInParts}
Tulen preamblesta joka palaan mukaan
29. Hakemiston kopiointi
Jos esimerkiksi kurssin vuosittain muuttuvat osat on tallennettu hakemistoon
ohj1/2020s
ja on tarve kaikista dokumenteisa kopio seuraavalle vuodelle, niin voi menetellä seuraavasti:
- mene kopioitavaan hakemistoon (esimerkissä
2020s
) - mene "hakemiston" manageen
- siellä on alempana koko hakemiston kopiointi (
Copy contents
) - siinä voi antaa ehdon "mitä ei kopioida"
Kunnolliset ohjeet tähän, erit. kansioiden/dokumenttien exclude
—30. Tulostus
TIMissä on kaksi tapaa tulostaa:
- selainpohjainen tulostus, jolloin selain tulostaa dokumentin niin kuin se näkyy näytössä. Tämä sopii kun on tarve nopeasti tehdä tilapäinen tulostus
- TeX-ladontaohjelmaan perustuva tulostus, jolla saadaan kirjapainotasoista tulostusjälkeä. Ominaisuuden käyttäminen vaatii yleensä jonkin verran vaivannäköä.
Tulostuksen löytää oikean yläkulman menusta rattaan kuvan takaa.
Tarkemmat käyttöohjeet ja säätömahdollisuudet löytyvät tulostuksen käyttöohjeesta
31. Muut syöttömuodot kuin md
Jos haluttaisiin käyttää muuta syöttömuotoa, kuin oletuksen olevaa MarkDownia, niin yksittäinen lohko voidaan aloittaa tyyliin:
#- {input_format="latex"}
Jos koko dokumentti halutaan kirjoittaa toisella formaatilla, voidaan dokumentin asetuksiin laittaa:
input_format: "latex"
Syöttömuoto voi olla:
commonmark
gfm
markdown
markdown_strict
mediawiki
rst
latex
Lista kaikista syöttömuodoista: Pandoc formats. Huomaa, että TIM ei toistaiseksi salli kaikkien syöttömuotojen käyttämistä yhteensopivuusongelmien välttämiseksi.
32. Osioiden tarkempia lisäohjeita
- velpit = Virtuaaliset Esipainetut Liukkaat PostIT -laput.
= valmiita korjaus- ja palautefraaseja palautteen antamiseksi opiskelijoiden tehtäviin ja kirjoitelmiin.
- ImageX = komponentti erilaisten kuvaraahaustehtävien tekemiseen
33. Liikenteen rajoittaminen
Joskus tulee tarve rajoittaa liikennettä tiettyyn dokumenttiin. Esimerkiksi
- Dokumentti on niin suuri, että sen lataamisessa kestää
- Dokumentti on "kuuma", eli suuri käyttäjämäärä haluaa päästä dokumenttiin samaan aikaan (esim. tentti)
- Dokumentti on luonteeltaan sellainen, että käyttäjä saattaa haluta päivittää sivua usein (esim. aikarajoitettu dokumentti)
Siinä tapauksessa on syytä rajoittaa liikennettä ja samalla tarjota visuaalinen vaste käyttäjälle siitä, että sivu latautuu. Tälle on kaksi menetelmää: goto-odotussivu ja goto-linkki.
33.1 Goto-odotussivu
Mikä tahansa linkki dokumentteihin voidaan muuttaa odotuslinkiksi lisäämällä linkin perään goto
-attribuutti:
[Klikkaa tästä (odotuksen kanssa)](minundokumentti?goto=Odotathan, sivua ladataan)
Attribuutin arvoksi annetaan teksti, joka näytetään käyttäjälle odotuksen aikana.
Siinä tapauksessa käyttäjää ensin ohjataan erikoiselle (erittäin nopeasti latautuvalle) odotussivulle, joka puolestaan aloittaa varsinaisen sivun lataamisen. Näin käyttäjä tietää, että sivua haetaan, vaikka siinä kestäisikin aikaa.
Lisäksi, vaikka käyttäjä alkaisi hätäisesti päivittää sivua, hän ei kuormittaisi TIMia jatkuvilla hitailla sivupyynnöillä.
33.1.1 Käytössä olevat attribuutit
Attribuutit säädetään linkkiattribuuttina
goto
: kytkee odotussivun päälle. Arvona pitää olla odotusteksti, joka käyttäjälle näytetään.wait_max
(oletus:0
): suurin odotusaika sekuntteina, ennen kuin haluttua sivua aloitetaan hakea oikeastidirect_link_timer
(oletus:15
): aika sekuntteina, jonka jälkeen odotussivulla näytetään suora linkki dokumenttiin
33.2 Goto-linkki
Vaihtoehto goto-sivulle on dokumenttiin upotettava goto-linkkikomponentti.
Silloin odotussivun sijaan odotusteksti upotetaan suoraan dokumenttiin, kun linkkiä klikataan.
Goto-linkki eroaa goto-sivusta seuraavasti:
- käyttäjä pysyy alkuperäisellä sivulla latauksen aikana
- jos linkki on TIM-dokumentti ja
- sille on annettu rajoitettu oikeus, goto-linkki estää sivun avautumisen, jos käyttäjän oikeudet eivät riitä
- pääsyoikeus ei vielä alkanut, goto-linkki näyttää ajastimen hetkeen, kun oikeus alkaa
- goto-linkki voi olla ulkoasultaan painike tai linkki
Goto-linkki lisätään seuraavasti (esimerkiksi):
#- {allowangular="true"}
<tim-goto-link href="minundokumentinlinkki" max-wait="10" reset-time="15">
Klikkaa tästä!
</tim-goto-link>
33.2.1 Attribuutit
Attribuutit ovat suunnilleen samat kuin goto-odotussivulle:
href
: osoite, johon pitää mennä. Jos tyhjä, tämänhetkinen sivu päivitetään.target
: kohde, johon linkki avataan. Sama kuin a-elementintarget
-attribuutti. Oletuksena linkki avataan samaan välilehteen.check-unsaved
: jostrue
ja dokumentissa on tallennettavia plugineja (tekstitehtävät, csplugin, yms.), estää linkin avautumisen, mikäli käyttäjällä on jotain tallentamattomia vastauksia.max-wait
: suurin odotusaika sekunteina, ennen kuin haluttua sivua aloitetaan hakea oikeasti. Oletuksena ei odotusta.reset-time
: aika sekunteina, jonka jälkeen linkistä tulee taas klikattava. Oletuksena 15 sekunttia.is-button
: jostrue
, linkki näyttää painikkeeltaopen-at
: päivämäärä, jolloin linkki avataan. Kun käyttäjä klikkaa linkkiä, ilmestyy countdown-laskuri linkin avautumisaikaan.Päivämääräksi sopii kahdentyyppistä arvoa:
- Päivämäärä ja UTC-aika Moment.js -kirjaston tukemassa formaatissa. Suosittelen muotoa
YYYY-MM-DD HH:MM:SS
. *
: jos arvoksi antaa tähden jahref
-attribuuttina on linkki TIM-dokumenttiin, avautumispäivämäärä haetaan suoraan palvelimelta
Kun aika menee countdown menee nollaan, linkki avautuu automaattisesti edellisten attribuuttien asetuksien mukaisesti.
- Päivämäärä ja UTC-aika Moment.js -kirjaston tukemassa formaatissa. Suosittelen muotoa
close-at
: päivämäärä, jolloin linkki ei ole enää avattavissa. Sallitut arvot samat kuinopen-at
wait-text
: odotusteksti, joka näytetään painalluksen jälkeen. Jos ei määritetä, näytetään kielikohtainen oletusteksti.countdown-text
: teksti, joka näytetään ajastuksen aikana (ks.open-at
). Erikoismerkillä{0}
voi tulostaa ajastimen ajan. Jos ei määritetä, näytetään kielikohtainen oletusteksti.unauthorized-text
: teksti, joka näytetään, kun käyttäjällä ei ole pääsyoikeutta linkkiin. Jos ei määritetä, näytetään kielikohtainen oletusteksti.past-due-text
: teksti, joka näytetään, kun käyttäjän pääsyoikeys loppui dokumenttiin. Erikoismerkillä{0}
voi tulostaa ajan oikeuden päättymisestä. Jos ei määritetä, näytetään kielikohtainen oletusteksti.unsaved-changes-text
: teksti, joka näytetään, joscheck-unsaved
on määritelty ja sivulla on tallentamattomia vastauksiatime-lang
: kieli, joka käytetään ajan tulostuksessa. Oltava kielikoodi, esim.en
taisv
. Oletuksena käytetään käyttäjän kieliasetusta.
Saisiko countdown-text:in ajastimen ajan tunnit näkymään päivinä ja tunteina, kun aukeamiseen on yli 24 tuntia? Toki esim.
5 päivää 22:34:55
ei ehkä ole hyvä muoto, vaan sitten pitäisi olla esim.
5 päivää 22 tuntia 34 minuutti 55 sekuntia
ja ottaa huomioon kieli. Kuukausia ja vuosia ei varmaan ole tarvetta purkaa erilleen
—33.2.2 Esimerkkejä
34. Sekalaista
34.1 Sisällön lainaaminen Google Sheetistä
Mikäli halutaan esimerkiksi lainata osa taulukosta Google Sheetissä, tämä voidan tehdä seuraavasti:
- Google Sheetissä valiste menusta
File/Tiedosto
- Valitse
Publish to the web.../Julkaise internettiin...
- Valitse Link/Linkki
- Valitse mitä julkaiset
- Paina Publish/Julkaise
- Kopioi syntyvä osoite joka alkaa siis
htts://docs.google.com/...
- Siirry TIM dokumenttiin siihen kohtaan mihin haluat lainauksen
- Lisää uusi lohko ja valitse editorissa
Plugins/Others/Upotettu sisältö
- Korvaa
file:
kohdassa oleva linkki kopimallasi Google-osoitteella - Lisää osoitteen loppuun (ennen lainausmerkkiä)
&embedded=true
- Korvaa tarvittaessa koko-parametrejä ja erityisesti kohta
videoname
sopivalla teksillä. - Jos haluat että taulukko aukeaa ilman että hiiri pitää viedä sen päälle, laita vielä
iframe: true
-rivin perään rivi:lazy: false
- Voit myös poistaa halutessasi rivin
videoname
jos et halua linkkinä näkyviin. Mikäli haluat sulkemislinkin pois, vaihda piilotus rivi muotoon:hidetext:
Mikäli Googlessa valitset että julkaistaan kaavio, niin silloin ehkä siistimmän saat lisäämällä vaan TIMiin editorin kohdasta Insert/Image
ja sitten kopioimalla Googlen linkin ()
-merkkien väliin ja hakasulkujen []
väliin kirjoitat kuvan otsikon.
Googlesta "lainatut" taulukot ja kuvat päivittyvät automaattisesti kun TIM-sivu päivitetään (refresh) jos Google taulukko on muuttunut.
34.2 Sisällön tuominen Office 365:sta
Menenee edellistä soveltamalla, en ole vielä kokeillut, jos joku kokeilee voisi tähän täydentää ohjeita.
34.3 Pelillistäminen
Dokumentin/dokumenttien pelillistämisestä on omat ohjeensa.
34.4 Datan visualisointi
Datan visualisoinnista on omalla TIM-sivulla lisää tietoa.
34.5 Muuta sekalaista
Tässä sekalaista vielä jalostamatonta tekstiä.
- Animaatioiden tekeminen
- tekstin lainaaminen vieraasta dokumentista, ks: data model
- csPluginien käyttö (ohjelmointikieli-pluginit)
- esimerkkiä ohjelmointitehtävien kääntämisestä eri tavoin
34.6 Omien vastausten piilottaminen
Tälle ei vielä ole käyttöliittymää, mutta jos esimerkiksi demotehtäviä esitellessä haluaa näyttää omia sivuja, joissa on jo vastauksia ja haluaa ne piiloon, voi tämän tehdä lisäämällä osoiterivin perään:
?noanswers=true
eli esimerkiksi
https://tim.jyu.fi/view/kurssit/tie/ohj2/2016k/demot/Demo11?noanswers=true
34.7 LaTeX-dokumentin tuominen
- tälle on oma ohjesivu
35. Lista muista TIM-oppaista
Peruskäyttäjälle:
- Adaptive feedback User Manual for Creating Adaptive Feedback Test in the TIM
- Animaatioiden teko - Ohje animaatioiden tekoon
- Arvostelu JavaScriptillä - ohje kuinka tehdään arvostelu hankalammissa tapauksissa
- Automaattinen numerointi -ohjeita automaattisen numeroinnin käyttöön
- csPluginin attribuutit - lista csPluginin attribuuteista
- csPlugin käännöksiä esimerkkejä kuinka kääntää ohjelma eri tavoilla (ohj-opettajat)
- csPlugin tarkistaminen - esimerkkejä miten automaattisesti tarkistetaan tehtäviä
- Desmos - Graafinen laskin upotettavksi koodiin
- DFA - esimerkkikomponentti äärellisten automaattien opettamiseksi
- Dokumentin asetukset - lista kaikista käytössä olevista dokumentin asetuksista, asetusten syntaksi
- Dokumenttien muunnos - ohje dokumenttimuunnosten välillä (toistaiseksi kesken)
- Drag & drop-pluginin käyttöohje - Yleiskäyttöohje adaptiiviseen testiin kehitetylle drag & drop-pluginille.
- DrawIO - TIMin sisälle integroitu monipuolinen piirtotyökalu, jolla voi tehdä ja yläpitää staattisia kuvia tai tehdä piirtotehtäviä
- Eri ohjelmointikieliä - esimerkkejä eri ohjelmointikielten käyttämisestä TIMissä
- GeoGebra - GeoGebran käyttäminen TIMissä
- GlowScript ohje 3D-kirjaston käyttämisestä
- GoalTable - ohjeita osaamistavoitetaulukon käyttämisestä
- Gradu TIMillä ohje miten gradu kirjoitetaan TIMillä
- GraphViz - esimerkkejä GraphViz-pluginin käytöstä
- html - ohjeita kuinka tehdään HTML-harjoitteluopas
- Imagex - ohjeita kuvaraahauspluginin käytöstä
- ImportData - ohjeita tietojen tuomiseksi muista järjestelmistä
- JSAV - ohjeet JavaScript Algorithm Visualization Library -liitännäisen käyttöön
- JSFrame - ohjeet JSFramen käyttämiseksi, eli miten JavaScript-komponentti upotetaan dokumenttiin
- Kalenteri- ja ajanvarauskomponentti - tapahtumien (luennot, ohjaukset) luominen ja varaaminen TIMissa
- Keskustelu - ohjeita kuinka TIMiä käytetään keskustelualustana
- Kerääjät - Kerääjät, grafiikka ja tilastot
- Ketjutetut dokumentit - ohjeita kuinka tehdään esimerkiksi koe, jossa yhden sivun valmistuttua siirrytään uudelle sivulle ja vanhaan ei saa palata
- Kokoustoiminnot - kooste kokousdokumenttien toimintojen ohjeista
- Konekääntäminen TIMissa - dokumenttien automaattinen konekääntäminen TIMissa
- Kuvien ja PDFien palautus ja arvostelu - miten tehdään tehtäviä, joihin palautetaan kuvia ja PDFiä, joita voi arvostella suoraan TIMissä.
- Kvanttipiirisimulaattori - ohje kvanttipiirisimulaattorille
- Kyselyn analysointi kuinka saadaan kyselyistä statistiikkaa ja graafeja
- Laskin - laskin, jonka voi upottaa omalle sivulleen
- LaTeXtoTIM - ohje \(\text{\LaTeX}\)-dokumentin muuntamiseksi TIM-muotoon
- Laskentafunktiot - tarkempi ohje piste- yms laskentafunktioiden käyttämiseksi
- Liitteet kokousdokumenteissa - ohje liitteiden liittämiseen, leimaamiseen ja yhdistämiseen
- ltiPlugin - Moodle-tehtävien käyttö TIM:issä (lähinnä asennusohje)
- Lomakkeiden luominen - miten tehdään Korpin toimintoja vastaavia lomakkeita, Sisu-ryhmät ja siirto
- mallivastausten näyttäminen - mallivastasten näyttäminen erilaisilla ehdoilla.
- Matematiikkaeditori - ohjeet TIM-matematiikkaeditorin käyttöön ja matematiikkatehtävien laadintaan
- MathCheck
- Maxima - Maximan käytön perusteet TIMissä
- Muuttujien suhteiden kuvaaminen - työkalu, jolla voidaan kuvata ja simuloida muuttujien suhteita ja tehdä niihin liittyviä tehtäviä (
vars.js
) - Opettajan ohjeet - ohjeita kurssin tekemiseen ja muita vinkkejä
- Oppimisympäristöjen vertailua - vertailutaulukko eri oppimisympäristöjen välillä
- Parsons-editori - ohjeita järjestelytehtävän käyttöön
- Pelillistaminen-opettaja opettajan ohjeet pelillistämiskomponentin käyttöön
- Pelillistaminen-oppilas oppilaan käyttöohje
- Pikaohje arvostelusivun tekemiseksi - ohje kuinka tehdään kurssisivu, jossa on vain arvosana tai arvosana ja op.
- PlantUML - esimerkkejä PlantUML käytöstä
- Plugins - plugineiden yleiset attribuutit
- QST Kysymystyypit - käyttöohjeita monivalintakysymyksistä
- redirct - miten voidaan tehdä TIMiin lyhytosoitteita (alias, tim.pm, vrt esim r.jyu.fi)
- Riko tämä - tehtävä, jossa on tarkoitus huijaamalla saada pisteitä
- Satunnaistus - ohjeita satunnaisuuden käyttöön mm. tehtävien arvonnassa, samassa dokumentissa myös näkyvyyksien ehdollistaminen esimerkiksi eri ryhmiä varten. Myös makroista ja Jinja2:sta.
- showImages - usean kuvan näyttäminen samassa komponentissa (carousel)
- Stack - ohjeita Stack-kysymysten lisäämiseksi
- SVG - ohjeita SVG-kuvien käyttämiseen TIMissä
- tableForm - taulukko, jossa ihmisten nimiä ja haluttuja tietokenttiä
- Tekstikentän, numeerisen kentän ja niiden label-variaatioiden käyttöohjeet
- Tekstin muotoilu - tärkeimmät tekstin muotoilut TIMissä
- Testi adaptiivisella palautteella Ohjeet testin luomista varten.
- TIDE - ohjelmointitehtävien lataaminen, tekeminen ja palauttaminen opiskelijan omalla tietokoneella
- Tiled-ohje - ohje erilaisten pelillisyyspohjien luomiseksi (advanced)
- TIM-Moodle - ohje Moodle-tehtävien käyttämisestä TIMIssä
- TIM-viestit - ohjeet TIM-viestien lähettämiseen ja käsittelyyn
- TIM and Math - esimerkkejä TIMin ja matematiikan yhdistämisestä, osin myös fysiikankin esimerkkejä
- TimMenu - tarkempia ohjeita TimMenu-pluginin käyttöön
- TimTable - ohje TimTable-pluginin ja taulukkoeditorin käyttöön
- Tutustuminen - yleistä TIMistä ja esimerkkejä interaktiivisista komponenteista
- Tulostuksen käyttöohje - tarkempia ohjeita tulostuksen käyttämisestä
- Tyylien laadinta TIMissa - ohjeet käyttäjätyylien luomiseksi TIMissa
- VELP käyttöohje - Velp-toiminnon, eli palautteen antamisen, käyttöohje (annotointi)
- Vertaisarviointi - vertaisarvioinnin aloittaminen ja hallinta TIMissa
- Videoiden yhdistäminen - ohje videoiden yhdistämiseksi isommaksi videoksi
- Viestilistat - Ohjeet viestilistojen luomiseen ja hallintaan (mm. sähköpostilistat)
- VisJS - Esimerkkejä vis.js visualisaatiokirjaston käyttämisestä
- Visualisointi - Ohjeita erilaisten visuaalisaatioiden tekemiseksi TIMissä
- YAML-kieli TIMissä - hieman YAML-kielestä ja TIMissä siihen tehdyistä laajennuksista
Ylläpitäjille ja kehittäjille:
- hakemisto ohjeista - hakemisto TIMin kehittäjille tarkoitetuista ohjeista
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.