„VIKWiki-vita:Kvíz” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
a (vikwiki névtér)
(Kvíz ötlet)
101. sor: 101. sor:
  
 
==== Kikérdező vége ====
 
==== Kikérdező vége ====
 +
 +
==[[Szerkesztő:Madbence|lennon]] ötlete==
 +
Ha gondolod, tudok segíteni benne, JavaScriptben nagyon okos/hasznos frameworkök vannak, amik direktben támogatják az ilyen kliensoldali alkalmazásokat, és még valamilyen tervezési mintát is megvalósítanak ([http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC], [http://en.wikipedia.org/wiki/Model_View_ViewModel MVVM]. Tudom ajánlani a [http://knockoutjs.com/ KnockoutJS]-t, támogatja a deklaratív kötéseket (gyakorlatilag nincs a View mögötte code-behind), tudja a kliensoldali templatelést.
 +
 +
Más. Jó lenne, ha az egyes emberek elmenthetnék a saját eredményüket (illetve ez automatikusan történne), erre a [http://diveintohtml5.info/storage.html localStorage] adja magát. Szerveroldalon ez nem kerül semmibe, de az emberek figyelemmel tudnák kísérni hosszabb távon is a statisztikájukat az egyes témakörökből.
 +
 +
Nem tudom van-e már rá elfogadott sablon/konvenció, de én ilyesmi struktúrában gondolkoznék:
 +
 +
<nowiki>
 +
{{Kvíz:Eleje|cím=milyen kikérdező is ez}}
 +
{{Kvíz:IgazHamis|kérdés=szöveg|I}}
 +
{{Kvíz:IgazHamis|kérdés=szöveg|H}}
 +
{{Kvíz:Sima|kérdés=szöveg|megold=1|válasz1|válasz2|válasz3[|válasz4[...]]}}
 +
{{Kvíz:Kombó|kérdés=szöveg|megold=1,4|válasz1|válasz2|válasz3[|válasz4[...]]}}
 +
{{Kvíz:Kitöltendő|kérdés=szöveg|válasz=konkrét válasz}}
 +
{{Kvíz:Vége}}
 +
</nowiki>
 +
 +
Nem tudom mennyire okos a wiki a paraméterbehelyettesítés szempontjából, de szerintem ez a minimum kontent, ami kellhet. Az explicit ''Eleje''/''Vége'' sablonnal akár azt is meg lehetne oldani, hogy az egyes kérdések rögtön valami JSON objektummá változzanak, és az előbbi két sablon ''pont'' úgy zárja ezeket közre, hogy a kikérdezőprogi el tud indulni.
 +
 +
Ha már esetleg eldőlt a dolog menete, akkor bocsi :). [[Szerkesztő:Madbence|lennon]]<sup>([[Szerkesztővita:Madbence|vita]])</sup> 2013. január 21., 19:40 (CET)

A lap 2013. január 21., 18:40-kori változata

Levlista, 2013. 01. 07.

Ötlet

Van egy jobb javaslatom, legyenek a kvízek egy-egy külön wikioldalon, és ne egy abszolút külön weboldalon. Egy darab javascript programot kéne írni, amit a wikire egyszer kéne feltölteni, statikusan lehetne linkelni, és az tudna egy-egy wikioldalt "kikérdezőprogrammá" átalakítani.

Olyan megvalósításra gondolok, hogy a wikioldalt, amit kvízesíteni akarnánk, valami sztenderd formátumban kéne megírni, pl.

{{Kvízkérdés
|kérdés=Mi 2 négyzetgyöke?
|jóválasz=A|
{{Válasz|jel=A|szöveg=1,4142}}
{{Válasz|jel=B|szöveg=4}}
}}

{{Kvízkérdés
|kérdés=Mennyi 1+1?
|jóválasz=B|
{{Válasz|jel=A|szöveg=1}}
{{Válasz|jel=B|szöveg=2}}
}}

(OK, ennél lehet, egyszerűbb/jobb sablont is kitalálni hozzá, de most legyen a fenti a példa.)

Ezt a wiki motorja át tudja alakítani majdnem tetszőleges, javascriptben könnyen feldolgozható objektummá, aminek az lenne a feladata, hogy ha olyan oldallal találkozik, amin vannak kvízkérdések, akkor azt az oldalt automatikusan átalakítsa egy annak megfelelő interaktív felületté. Vagyis egyszerre egy random kérdést jelenítene meg, hozzá kattintható gombokat rakna, jelezné, hogy jó-e a válasz, rövid százalékos statisztikát vezetne, ilyesmi.

Olyan előnyei lennének ennek, hogy - A kérdések és válaszok ugyanolyan könnyen szerkeszthetők, kibővíthetőek lennének, mint bármely más wikioldal - Az autentikáció technikailag eleve megoldott, mert a wikire épülne a kvízek szerkesztése - Biztonságos, mert a hozzá tartozó javascript kódot csak az adminok tudnák szerkeszteni, az egyszerű halandók csupán a kvízkérdéseket.

Ami ebből a melórész, az egy használható, egyszerű sablon kitalálása, amit a wikioldalakon lehet csinálni, és a javascript-kód megírása, ami a wikioldalon a sablon szerint megadott adatokat kvízkérdésekké alakítja. Szerintem nem nagy meló, és vizsgák után valószínűleg tudnám is vállalni a dolog technikai megvalósítását, csináltam már hasonlókat.

Üdv – Boldi (vita)

Re:

Nekem is tetszik az integráció ötlete, viszont az egyedi leíró nyelv helyett én javasolnám továbbra is a JSONt, mert annak a kifejezőereje tudna igazodni az esetleges tesztprogram módosításokhoz, anélkül, hogy az esetleges wiki parsert is móodsítani kelljen. Mellesleg szerintem a JSON is kellőképp (sőt nekem még jobban) megérthető, mint a wikitext.

Természetesen azért security szempontból arra vigyázni kell, hogy a json is parsolva legyen és véletlen se futtatva (ellenben a mostani megoldással).

(Koczka Tamás)

Re: Re:

Igen, a leírónyelvnél fontos szempont, hogy egyszerűen érthető legyen, de ha wikioldalra akarjuk építeni a dolgot, akkor csak a wikitext az, amit a wiki motorja is fel tud dolgozni, és nem tudom, hogy nem ütköznénk-e mindenféle váratlan dolgokban, ha egy másik leírónyelven (JSON, CSV, akármi) akarunk benne adatokat tárolni. És akkor ugye az adatokat a wiki API-ján keresztül kell külön betölteni szerintem, de ez mondjuk nem nagy gond. De szerintem ha csak az egyszerűség a szempont, akkor (pár sablon segítségével) elég jól lehet definiálni egy nagyon egyszerűen kézzel is írható és akár géppel is egyszerűen feldolgozható leírónyelvet.

(Boldi (vita))

VIKWiki:Ötletláda

Tesztprogram

Az igazhamis illetve feleletválasztós zh-kra tudjunk ezen keresztül gyakorolni: lesz rá egy beilleszthető sablon

Ki csinálja, és hogy áll vele?
Koza Boldi
JavaScript engedélyezésre várunk.
Új megvalósítási ötlet kell, javascriptet nem akarunk globálisan
A következőt tudom javasolni: Csináljatok egy-egy példa sablont a megfelelő kérdés-válasz típusokhoz (igen-nem, többől egyet választós, többől több választós). Ha ezek a html kódban jól elkülöníthetően jelennek meg, akkor Javascript-el be lehet parse-olni őket és onnantól már könnyű összekötni a Kocka Tomi féle programmal vagy akár újból megírni azt. Egy db konkrét js fájlt, pedig be lehet rakni az összes oldal fejlécébe, így ahol a js érzékeli, hogy van kikérdezős rész, ott automatikusan átalakítja az oldal azon részét kikérdezős résszé. Így nem para a JS kezelés, mert a userek nem írhatnak JS kódot, csak egy fix kód van. Itt van pár példa: Szerkesztő:Pairg
Megjegyzések
Szerintem ez ne beillesztés legyen wikire, vagy ha beillesztés, akkor iframe legyen.. Beágyazás eléggé tönkre tud baszni, ha rosszt a kód! az erégi wikin is para volt.
Tudtommal a régi wikin jól működött, legalábbis azokon az oldalakon, amit én láttam - Koza

Pairg ötlete

Három kérdés típus van:

  • I/N: Igen / Nem
  • radio: többől egyet választhatsz
  • checkbox: többől többet választhatsz

Ezt kell teljesítenie a sablonnak:

  • A különböző feladatok elkülönülnek (kérdés-válasz párok)
  • A kérdés és a lehetséges válaszok elkülönülnek
  • Mindegyik kérdésnél meg kell adni a kérdés típust valamilyen formában
  • Mindegyik válasznál meg kell adni, hogy jó-e az a válasz
  • Kell lennie egy kezdő és egy záró karaktersorozatnak, ami egyértelműen azonosítja a kikérdező program elejét és végét

Itt van pár példa a lehetséges szintaxisokra, de nyugodtan találjatok ki újat, bővítsétek, variáljátok:

Kikérdező

Ez itt egy kérdés?
Típus:I/N
I: Nem
Ez itt egy kérdés?
Típus:radio
Ez egy rossz válasz. - N
Az egyetlen jó válasz. - I
Másik rossz válasz. - N
Ez itt egy kérdés?
Típus:checkbox
I:Ez az egyik jó válasz.
N:Ez az egyik rossz válasz.
I:Ez a másik jó válasz.
N:Ez a másik rossz válasz.

Kikérdező vége

lennon ötlete

Ha gondolod, tudok segíteni benne, JavaScriptben nagyon okos/hasznos frameworkök vannak, amik direktben támogatják az ilyen kliensoldali alkalmazásokat, és még valamilyen tervezési mintát is megvalósítanak (MVC, MVVM. Tudom ajánlani a KnockoutJS-t, támogatja a deklaratív kötéseket (gyakorlatilag nincs a View mögötte code-behind), tudja a kliensoldali templatelést.

Más. Jó lenne, ha az egyes emberek elmenthetnék a saját eredményüket (illetve ez automatikusan történne), erre a localStorage adja magát. Szerveroldalon ez nem kerül semmibe, de az emberek figyelemmel tudnák kísérni hosszabb távon is a statisztikájukat az egyes témakörökből.

Nem tudom van-e már rá elfogadott sablon/konvenció, de én ilyesmi struktúrában gondolkoznék:

{{Kvíz:Eleje|cím=milyen kikérdező is ez}}
{{Kvíz:IgazHamis|kérdés=szöveg|I}}
{{Kvíz:IgazHamis|kérdés=szöveg|H}}
{{Kvíz:Sima|kérdés=szöveg|megold=1|válasz1|válasz2|válasz3[|válasz4[...]]}}
{{Kvíz:Kombó|kérdés=szöveg|megold=1,4|válasz1|válasz2|válasz3[|válasz4[...]]}}
{{Kvíz:Kitöltendő|kérdés=szöveg|válasz=konkrét válasz}}
{{Kvíz:Vége}}

Nem tudom mennyire okos a wiki a paraméterbehelyettesítés szempontjából, de szerintem ez a minimum kontent, ami kellhet. Az explicit Eleje/Vége sablonnal akár azt is meg lehetne oldani, hogy az egyes kérdések rögtön valami JSON objektummá változzanak, és az előbbi két sablon pont úgy zárja ezeket közre, hogy a kikérdezőprogi el tud indulni.

Ha már esetleg eldőlt a dolog menete, akkor bocsi :). lennon(vita) 2013. január 21., 19:40 (CET)