TIM-JYU / TIM

TIM (The Interactive Material) is an open-source cloud-based platform for creating interactive learning documents.
https://tim.education/view/about/en-US
MIT License
13 stars 4 forks source link

Multisave ja pluginin tallennuksen epäonnistuminen #1836

Open dezhidki opened 4 years ago

dezhidki commented 4 years ago

In GitLab by @sijualle on May 27, 2020, 01:32

Jos multisavella yrittää tallentaa jotain tehtävää jonka tallentaminen ei onnistu (esim syöte ei kelpaa tai muu virhe), tästä tulisi näyttää ilmoitus myös multisaven kohdalla.

Myös tallentamattomat kentät listaavan multisaven tulisi näyttää listaamiensa kenttien kohdalla jos jonkun pluginin tallennus epäonnistuisi. Tällöin multisave olisi myös yleishyödyllinen plugin lähes missä tahansa syötettä tallentavassa dokumentissa: vaikka kaikissa plugineissa olisi automaattinen tallennus, voisi dokumentin alkuun tai loppuun laittaa hiljaisen multisaven joka on käyttäjälle piilossa kunnes jollain kentälle sattuu tallenusvirhe. Tällöin käyttäjä voisi dokumentin loppuun päästyä paremmin huomata jos jonkun tehtävän tallennus ei onnistunut. Kun yrittää poistua sivulta ja dokumentti herjaa tallentamattomista kentistä, dokumentin alkuun tai loppuun laitettu multisave näyttäisi yhdellä vilkaisulla mistä kohdista on tullut virheitä ilman että tarvitsee itse selata koko dokumentin läpi.

Rajapinnassa on jo määritelty että pluginin multisavelle tarjoaman tallennusfunktion tulee vastata onnistuiko tallennus ja tarvittaessa antaa merkkijonolla lisätietoja tallennuksesta. Tätä ei ole tosin vielä käytetty mitenkään järkevästi ja suurin osa plugineista taitaa tällä hetkellä vastata tuossa lisätietokohdassa "undefined". Tuosta voisi tehdä lopullisen päätöksen miten tuo rajapinnan tallennusfunktion vastaus multisavelle toteutetaan:

dezhidki commented 4 years ago

In GitLab by @vesal on May 27, 2020, 22:40

Palautteessa oli siitä, että multisaven plugin-listan nimet eivät ole kuvaavia. Vaihtoehtoja

dezhidki commented 4 years ago

In GitLab by @sijualle on May 28, 2020, 02:01

Jos haluaa kerralla jotain mahdollisimman yleiskäyttöistä niin vois olla rajapinnassa joku metodi jolla kyselee noita attribuutteja jotka pitäis löytyä kaikista plugineista (header, stem jne), sit vois multisaven kohdalla attribuutilla säätää dokumentin toteutuksen mukaan onko parempi näyttää header vai stem vai footer vai joku muu.

Jos käyttäis tagia listanimenä niin ei tarvitsis muokata rajapintaa ollenkaan eikä tehdä näkyviä muutoksia tehtävän ulkoasuun multisavelistausta varten. Samalla vois niputtaa saman tagin alla olevat yhdeksi, jolloin esim joku dropdownien kokoelma näkyisi yhtenä tallentamattomana tehtävänä.