Kortit
Tämä sivu on käännetty englannista. Jos ne eroavat toisistaan, englanninkielinen sivu on oikea. Lue englanninkielinen sivu
Kortti on lyhyt lista elementtejä, jotka Lingara piirtää omalla tyylillään. Siinä ei ole syöttökenttiä, kuvia, skriptejä eikä merkintäkieltä. Sovellus ei voi tuoda omaa koodiaan tai omaa ulkoasuaan oppijan näytölle, joten jokainen kortti näyttää muulta Lingaralta. Vastauksesi on JSONia: card, joka sisältää sen elements, ja valinnaisesti tutor_note (katso Tutorin muistiinpano).
Elementit
Jokaisella elementillä on type, joka on yksi näistä kahdeksasta:
| Elementti | Kentät | Mitä se näyttää |
|---|---|---|
heading | text, level | Otsikko. level on 1 tai 2, ja mikä tahansa muu arvo muuttuu arvoksi 2. Sen teksti on enintään 80 merkkiä. |
text | text, lang | Kappale, jossa on enintään 600 merkkiä. Se on ainoa paikka, jossa rivinvaihto säilyy. |
term | word, reading, gloss, lang | Opittava sana. Vain word on pakollinen. Sana on enintään 60 merkkiä, lukutapa 120 ja selitys 160. |
list | items | Enintään 20 kohdetta. Kukin kohde on text tai term, ja sillä on samat kentät kuin samannimisellä elementillä. |
progress | value, label | Edistymispalkki. value kulkee välillä 0–1, ja nimike on enintään 60 merkkiä. |
divider | Viiva kortin osien välissä. | |
button | label, action, style | Painike, joka lähettää action-arvonsa palvelimellesi. style on primary tai secondary, ja nimike on enintään 32 merkkiä. |
link | label, url | Linkki, jonka oppija avaa selaimessaan Lingaran kysyttyä häneltä ensin. Nimike on enintään 60 merkkiä. |
lang on kielitunniste, kuten ja, jotta Lingara piirtää oikean kirjoitusjärjestelmän. Arvo, joka ei ole kielitunniste, poistetaan.
Rajat
- Kortissa on enintään 24 elementtiä. 24. elementin jälkeiset elementit pudotetaan pois.
- Listassa on enintään 20 kohdetta. 20. kohteen jälkeiset kohteet pudotetaan pois, ja tyhjä lista pudotetaan pois.
- Kortissa on enintään 4 painiketta. 4. painikkeen jälkeiset painikkeet pudotetaan pois.
- Rajaansa pidempi teksti lyhennetään mahtumaan ja päättyy merkkiin
…. Merkit lasketaan Unicode-skalaariarvoina. - Ohjausmerkit ja suunnanohitukset poistetaan jokaisesta merkkijonosta.
- Linkki pudotetaan pois, jos sen osoite ei ole HTTPS, se sisältää käyttäjänimen tai se osoittaa IP-osoitteeseen.
- Painike pudotetaan pois, jos sen
actionon yli 64 merkkiä pitkä tai se käyttää muuta kuin kirjaimia, numeroita,_,.,:ja-. - Elementti, jossa ei ole näiden sääntöjen jälkeen tekstiä jäljellä, pudotetaan pois.
Nämä säännöt ovat sallivia: Lingara lyhentää tai pudottaa sen, mikä ei mahdu, ja piirtää loput. Paketit soveltavat samoja sääntöjä ennen kuin vastaat, joten näet, mikä muuttuisi.
Tiukka jäsentäminen
Sanasto on suljettu. Tuntematon elementtityyppi, kenttä, jota elementillä ei ole, väärää JSON-tyyppiä oleva arvo tai vastaus, joka ei ole lainkaan JSONia, muuttaa koko vastauksen varakortiksi. Lingara ei koskaan piirrä osaa kortista, jota se ei pystynyt lukemaan.
Koko ja aika
Vastaus saa olla enintään 32 KiB. Lingara antaa palvelimellesi 3 sekuntia aikaa vastata renderöintiin ja 5 sekuntia aikaa vastata toimintoon, eikä yritä kumpaakaan uudelleen. Vastauksen tilan on oltava 200 ja sisältötyypin JSON. Uudelleenohjauksia ei seurata.
Painikkeet ja toiminnot
Kun oppija painaa painiketta, Lingara lähettää palvelimellesi toimintopyynnön, joka sisältää kyseisen painikkeen action-arvon. Palvelimesi vastaa uudella kortilla, joka korvaa vanhan. Sama painallus voi saapua kahdesti, joten tee jokaisesta toiminnosta turvallinen toistaa.
Kun kortti epäonnistuu
Kun Lingara ei saa korttia, jonka se pystyy piirtämään, oppija näkee Lingaran oman “Tämä sovellus ei vastannut” -kortin omalla kielellään tai viimeisimmän toimivan korttisi merkittynä ei ajan tasalla olevaksi. Oppijalle ei koskaan kerrota syytä. Vain sinä sovelluksen omistajana näet syyn:
- Vastauksesi:
invalid(ei kortti, jonka Lingara voi lukea),empty(rajojen jälkeen ei jäänyt mitään näytettävää) taitoo_large(yli 32 KiB). - Palvelimesi tavoittaminen:
timeout,http_error(mikä tahansa muu tila kuin 200),transport(yhteys- tai TLS-virhe, kuten vanhentunut varmenne) taiblocked(render_url, joka johtaa yksityiseen tai IP-literaaliosoitteeseen). - Lingaran puoli:
unavailable(Lingara ei voinut allekirjoittaa pyyntöä) taibusy(liian monta pyyntöä jo käynnissä).