Useiden kuvien palauttaminen ja velppaaminen
Matematiikassa on yleistä tehdä tehtävien palautuslaatikoita, joihin opiskelijat palauttavat PDF:iä, jotka sisältävät kuvat heidän paperille tekemistään ratkaisuista. Nykyisellään tehtävien arvostelu tehdään opettajien toimesta manuaalisesti lataamalla tämä PDF, kommentoimalla sitä, ja lataamalla PDF sitten takaisin TIMiin opiskelijan katseltavaksi.
Tässä prosessissa olisi huomattavasti automatisoitavaa, lähtien komponentista, johon voisi palauttaa useita kuvia yhteen vastaukseen. Nämä kuvat pitäisi olla velpattavissa suoraan TIMissä, jolloin säästytään manuaaliselta lataamiselta laitteelle, erillisen sovelluksen käytöltä ja tiedostojen lataamiselta takaisin TIMiin.
Tämä tarkoittaa toteutuksen kannalta ainakin seuraavia asioita:
- pitää toteuttaa komponentti, joka voi ottaa vastaan monta kuvaa yhteen vastaukseen
- answerbrowserin pitää pystyä velppaamaan paitsi suoraan Python-komponentin palauttaa kuvaa (data:image ...), niin Python-komponentin pitää pystyä antamaan answerbrowserille url, josta tämä käy hakemassa kuvan
- velpit ovat ilmeisesti liitettynä yksittäiseen vastaukseen, eli näistä pitäisi jollain tavalla pystyä tekemään kuvakohtaisia vastauskohtaisen sijaan
- mikäli opiskelijan lataama kuva on liian suuri (ihan tavallisten kännyköiden kuvat on nykyään turhan korkearesoluutioisia), niin sitä pitäisi pienentää sekä palvelimen levytilan säästämiseksi että selainpuolen suorituskyvyn parantamiseksi
- kuvien kierto voi myös olla opiskelijoiden lataamissa kuvissa väärin, joten TIMissä pitäisi myös olla vaihtoehto kuvan kiertämiselle (tulisiko muutos itse kuvaan vai sen näyttämiseen?)
Myös PDF:n katselu selaimessa ja PDF:n velppaaminen olisi hyödyllistä, mutta myös haastavampaa toteuttaa formaatin monimutkaisuuden vuoksi. PDF.js pystyy piirtämään PDF:iä, mutta lisäksi PDF:n päälle täytyisi piirtää TIMin velppaukset ottaen huomioon mm. PDF:n zoomaustason ja kohdan dokumentissa (olettaen että tehtävään haluaa käyttää TIMin velppauksia eikä käyttäisi jotain erillistä PDF-annotointityökalua). Jos tämän haluaa joskus toteuttaa, niin Submittyn lähdekoodista voisi olla apua: https://github.com/Submitty/pdf-annotate.js
Tässä haarassa on komponentti reviewcanvas, johon voi nykyisellään palauttaa yhden kuvan, jota voi velpata. Answerbrowseria on muokattu siten että se osaa ottaa vastaan ja ladata arvosteltavaksi kuvan paitsi suoran data:image -tunnuksella alkavan kuvadatan avulla, niin plugin voi myös antaa url-osoitteen kuvaan, jonka answerbrowser sitten lataa näytettäväksi selaimessa. Tällön pluginin palauttama reviewHtml alkaa imageurl:
-merkkijonolla.
https://gitlab.com/Rampastring/tim/-/tree/image-pdf-velps
-
yksi kuva jota voi velpata -
kännyköistä tulevien kuvien salliminen (iso MB raja, autom pienennys) - ImageMagic palvelimella (ks alempana Deniksen kommentti)
- tai esim https://github.com/blueimp/JavaScript-Load-Image selaimessa
- tai https://gist.github.com/SagiMedina/f00a57de4e211456225d3114fd10b0d0
-
usean kuvan lataaminen -
usean kuvan velppaaminen -
työkalupalkki (ks ehdotus alla) kuvien järjestelyyn ja kiertoon -
näkyy kun ollaan edit-tilassa ellei ole niin että kuva aktivoidaan
-
-
attribuutiksi katselucanvaksen max.koko, (jos antaa ison luvun, niin ei tarvii scrollata, muuten scrollaa) -
samoin velp cancaksen max.koko, oletuksena sellainen, että näyttöön mahtuu vastaajan vaihto ja velpin työkalut, myös iPad ja Android kännykkä (erityisesti kännykässä ei nyt ole ihan helppoa velpata) -
kuvaa ei saa menettää refresh tai back tms (pitäisikö jopa tallentaa jokaisen upload jälkeen?) -
kännykässä merkintöjen klikkaus niin että saa merkinnän näkyviin, ainakin Androidissa tuntuu reagoivan hyvin huonsti merkinnän klikkaukseen -
kuvan zoomaus myös velp-canvaksella jos ei mahdu leveyteen (ehkä myös velp-canvaksen leveysattribuutti) -
draw ja vieritys tarviisi käyttöliittymäideoita, muuten tulee helposti piirrettyä pystysuoria viivoja (erityisetsi iPad ja kynä, mutta varmaan missä tahansa tilanteessa) -
draw oletukset: punainen rect no fill w: 2, Opa: 1.0, aikanaan uppoavilla kuvakkeilla esitetty, lisätyökaluina aikanaan nuoli, yliviivaus (esim keltainen, w 15, opa: 0.4). Ehkä jopa kullekin piirtotyökalulle oma väri, fill, w, ja op talennus? -
Jostakin syystä Velp ja User-dialogien koko oletuksena hirveän korkesa? -
iPadin Zoom-ongelmat, ks #2509 -
Crop joskus myöhemmin, niin voi poissa päällekkäisyyttä jos kuviin sellaista tulee -
Uusia Velp-lappu-tyyppejä". Sellainen joka on lähes pelkkä teksti. Voisi kirjoitettaesa tolla kuten nyt, mutta "tulostuu" vain minimit. -
Alkuperäisessä vertaisarvionnissa toivottiin myös hymy/surunaama-velppejä -
Isokokoisten kuvien pienentämisen hienosäätö - Tällä hetkellä karvalakkiversiona se, että leveys/korkeus saa olla max 2048 pikseliä. Tähän pitäisi olla yleiskäyttöiset oletukset että kuvien tiedostoko pienenee tarpeeksi, mutta saa kuitenkin selvän. Tarvittaessa attribuutteja joilla voi lisätä tai vähentää skaalausta
-
Velpin avauskohdan määrittäminen -
Nyt oletuksena velp avautuu piirroksensa alla, tai yläpuolella jos alla ei ole tilaa. Voisi avautua lähellä klikkausta -
Marginaalista avattu velp saattaa olla skrollauksen ulkopuolella, jolloin kuvan pitäisi skrollata piirroksen kohdalle
-
-
file-select-manager
in oletusteksti kuvan lataamisen jälkeen hämää, eikä käyttäjä välttämättä huomaa että siitä voi lähettää toisenkin kuvan -
Läpinäyvä Velp jolla voidaan simuloida nykyisin mat käyttämään pelkkää tekstiä. Ehkö tämän yleistyksenä muitakin eriliasia Velpin esiintymismuotoja kuten hymynaamat jne. Eli velpeissä olisi yksi lisävalinta Style ja sen alla olisi "Normal/Läpinäkyvä/Hymiö/jne mitä keksiikin joskus". -
kun klikkaa oikeassa reunassa velppiä (merkintää) joka ei ole näkyvissä, niin pitäisikö skrollata kohdalleen -
Usean kuvan palauttaminen kerralla (upload taitaa tukea jo tätä) -
Usean ison kuvan palauttamisen jälkeen vastauksesta ja pluginista tulee melko pitkä. Voisi olla vaikka velp-tilan tapaisesti, että näytetään jonkinlainen yksinkertainen scrollbar tai jopa yksinkertainen kuvaselain (eli mallia "seuraava"/"edellinen" -painikkeet).
Esimerkkejä: