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
14 stars 4 forks source link

Pali-pluginin refaktorointi #1330

Open dezhidki opened 5 years ago

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 23, 2019, 19:09

dezhidki commented 5 years ago

In GitLab by @vesal on Jan 23, 2019, 21:39

Assignee: Mika Lehtinen

  • Flask + marshmallow
  • TypeScript + luokka + io-ts
  • Docker-image ajan tasalle

Tarviiko tuo välttämättä edes imagea, jos käyttää jotakin valmiista?

Sitten kannattaisiko se vielä miettiä tarviiko attribuutteja olla kahdessa "tasossa". Toisaalta myös pitäisi saada mahdollisimman "halvalla" ad-hoc attribuuteja, joilla on tarkoitus vaan näyttää/olla näyttämättä jotakin. Eli jos attribuutit eivät tule YAMLista, niitä ei välttmättä edes luoda pluginin puolella "turhaan". Se on yksi csPluginin vika, että se luo hirveän määrän attribuutteja joista keskimääräinen esiintymä käyttää vain muutamia. Ja kuvittelisin että tämä käy kalliiksi kun plugineja on satoja.

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 23, 2019, 22:21

Tarviiko tuo välttämättä edes imagea, jos käyttää jotakin valmiista?

cspluginin image voi riittää. Ongelma vaan on, että ne eivät ole täysin riippumattomia toisistaan ja jos siitä otetaan mallia, niin kaikki pluginit käyttävät samaa imagea.

Myös sitä käyttötapausta pitäisi ajatella, että joku haluaa kehittää vain tiettyä simppeliä pluginia, jolloin 5 GB cspluginin imurointi tuntuu hieman ylilyönniltä.

Sitten kannattaisiko se vielä miettiä tarviiko attribuutteja olla kahdessa "tasossa".

Jos tarkoitat, että osa on markupin alla ja osa ei, niin sille on selkeä logiikka: markupin alla ovat ne, jotka YAMLiin on kirjoitettu ja ylimmällä tasolla ne, jotka palvelin on jotenkin generoinut. Minusta tästä erottelusta ei ole syytä luopua.

Se on yksi csPluginin vika, että se luo hirveän määrän attribuutteja joista keskimääräinen esiintymä käyttää vain muutamia. Ja kuvittelisin että tämä käy kalliiksi kun plugineja on satoja.

cspluginin perimmäinen ongelma lienee, että se tekee liian monta asiaa. Se pitäisi pilkkoa useaksi pienemmäksi komponentiksi. Nythän vain csTextRunner- ja csConsole-tyypit ovat jotenkuten omanaan.

dezhidki commented 5 years ago

In GitLab by @vesal on Jan 23, 2019, 22:40

Eikös videota varten ole pienempi image? Mutta onko cs-imagessa edes fläskiä?

cspluginin perimmäinen ongelma lienee, että se tekee liian monta asiaa. Se pitäisi pilkkoa useaksi pienemmäksi komponentiksi. Nythän vain csTextRunner- ja csConsole-tyypit ovat jotenkuten omanaan.

Joo, tuo on helppoa nähdä että se tekee liian monta asiaa. Mutta vaikea sanoa mistä lähtee pilkkomaan, koska suurin osa kielistä käyttäytyy samalla tavalla.

Ja jopa csConsole on sama kuin shell, mutta hieman eri käyttöliittymällä.

Tauno periaattessa olisi eri, mutta sitten kun se koodi kopiidaan ohjelma-alueeseen, ollaan samassa tilanteessa kuin kaikissa muissakin "kielissä".

Sage voisi olla erillinen tuolla JS päässä. Sitten taas esim tuo Parson näyttää eri tilanteelta, mutta se on kuitenkin oikestaan vaan eri editori muiden joukossa.

Eli se pilkkominen pitäisi oikeastaan aloittaa siitä päästä, että editori nostettaisin omaksi komponentiksi ja se ei voisi niin paljoa tuota csPluginin koodia.

Javascript/html jutuissa on paljon omaa, mutta osin yhteistä. Palvelimen päässä kaikki käyttätytyvät aika samalla tavalla ja niihin liittyy saman pisteytyssysteemit yms.

Mutta nyt esim Solki projektin takia joutuu miettimään että tekeekö kokonaan uusia plugineja, vai onko aukkotehtävät "vain" yksi editori muiden joukossa. Jolloin kaikki muu olemassa oleva tulee automaattsiesti mukaan.

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 30, 2019, 11:19

Eikös videota varten ole pienempi image? Mutta onko cs-imagessa edes fläskiä?

On siellä Flask, mutta sitä ei csplugin ole koskaan ilmeisesti käyttänyt.

Laitoin palin käyttämään TIMin imagea, koska siellä oli pari muutakin hyödyllistä kirjastoa, jota käytin.

Tämä on nyt dokumentointia vaille valmis. Mergeän kohta masteriin ja laitan tuotantoon illemmalla.

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 30, 2019, 11:19

marked the task Flask + marshmallow as completed

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 30, 2019, 11:20

marked the task TypeScript + luokka + io-ts as completed

dezhidki commented 5 years ago

In GitLab by @Smibu on Jan 30, 2019, 11:20

marked the task Docker-image ajan tasalle as completed

dezhidki commented 3 years ago

In GitLab by @Smibu on Jun 30, 2021, 18:09

unassigned @Smibu