<html> <meta charset="UTF-8"> <body bgcolor="#212127"> <head> <title>Moodle/Elearning/KMOOC manual</title> <style> body { font: normal 17px Verdana; color: #999999; } a { color: #9999ff; } textarea { font: normal 17px Verdana; color: white; background-color: #212127; width: 90%; height: 250px; } </style> </head> <center> <h1>Moodle/Elearnig/KMOOC manual</h1> </center> <center> Ez a userscript Moodle/Elearnig/KMOOC tesztek megoldása során segítséget jelenít meg. </center> </p> <b>A válasz ablakban jobb felül lévő százalék jelzi, hogy mekkora eséllyel jó a megoldás. Ez sokszor jó viszonyítás, de semmi sem biztos! Bármikor előfordulhat, hogy nem jó a megjelenített válasz! Ezért csak saját felelőségedre használd!</b> Sok kikerülhetetlen hibalehetőség van, amit egyszerű nem lehet scriptben lekezelni (Pl rosszul megadott kérdés tanár részéről). Kézzel is lehet keresni a elmentett kérdések között. Ezért mindég legyen egy letöltött verziód a kérdésekről, mert nem 100% hogy mindég elérhető a szerver! Továbbá ha a moodle oldalán a layout megváltozik, a script nem fog működni! Ez nem annyira gyakori, de bármikor megtörténhet! Érdemes nem kikapcsolni a tampermonkey-ban a userscript frissítést. Ez nem windows update, itt tényleg hibajavítások jönnek ki. Hiba, észrevétel esetén : <a target="_blank" href="https://qmining.tk">Script Feedback</a> (ezt gyakran még aznap megnézem. </p> </p> <b>Továbbá ez a userscript HTTP requestekket küldhet egy szerver felé (ha ezt engedélyezed), ahova az összes megoldott teszteid kérdéseit és (helyes)válaszait feltölti! Ezzel garantálja, hogy neked, és mindenki másnak a legfrissebb adatok állnak rendelkezésre. Ezt letilthatod, ha a menüben a helyi fájl használatát választod, vagy a userscript kiegészitődnél nem engeded meg ezeket a kéréseket továbbítani. Ez alapból engedélyezve van,</b> <center> <h3>Tartalomjegyzék</h3> </center> <hr> <ul> <li> <b>Használat</b> - Ez szuper fontos, elsőnek olvasd el </li> <li> <b>Eddigi teszt kérdések</b> - Itt elérhető az eddigi összes ismert teszt kérdés-válaszai </li> <li> <b>Beüzemelés (online)</b> - Beüzemelés, online verzió </li> <li> <b>Beüzemelés (helyi)</b> - Beüzemelés, helyi fájlos verizó </li> <li> <b>Több tárgy hozzáadása</b> - Ez csak helyi fájlos verziónál kell, de akkor fontos </li> <li> <b>Beolvasott kérdések struktúrája</b> - Ha bármikor (neten, vagy helyi fájlon) változtatni akarsz, akkor illik tudni </li> <li> <b>Gyakran előforduló kérdések</b> - Ha itt nincs kérdésed, akkor <a href="http://qmining.tk">itt alul</a> tedd fel! </li> <li> <b>Adat egyszerűsítés</b> - Ha túl sok egyforma kérdésed van ;) </li> <li> <b>Other stuff</b> </li> </ul> <center> <h3>Használat</h3> </center> <hr> <table style="table-layout:fixed;vertical-align:top;width:100%"> <td> </p> Ha először használod, olvasd el a lenti beüzemelés részt. </p> Ha másodszor, és tesztet akarsz megoldani, akkor először nézd meg a menüben, hogy aktív-e a tárgyad. Teszt közben a script a megadott tárgy már lementett kérdéseiből próbál segíteni. </p> <b>Teszt végén teendők ha helyi fájlban vannak az adatjaid:</b> Ha egy teszt végére értél, akkor megjelenik a megoldásos oldal, ahol minden kérdés fel van sorolva. Itt a script szépen öszegyűjti a kérdés/válasz kombókat, aztán feldob egy ablakot, amire kattintva ezt megjeleníti. Az ott megjelenített kérdéseket be kell másolnod a .txt-be, a megfelelő tárgy után (+tárgynév...). Userscript nem tud fájlba írni. </p> </p> Teszt közben még több dolog történhet: </p> <ul> <li><b>Nem jó kérdésre ad választ a script:</b> Ilyenkor az van, hogy nincs meg a kérdés a txt-ben, vagy több hasonló kéréds/válasz van. Ilyenkor a jobbra/balra gombal váltogathatsz azok a kérdés/válasz kombók közül, amit talált a script</li> <li><b>Több teszt kérdés van egy odalon:</b> Fel le gombal váltogathatsz a kérdések között. Ilyenkor is működik az előbb említett funkció. Az indexek, amit kiír a bal felső sarokban: aktuális kérdés száma / aktuális találat száma.</li> <li><b>Nem jelenik meg semmi, vagy nem működik a script:</b> Megesik az ilyesmi. Ekkor megnyithatd a kérdések filet, és oldschool CTRL-F el keresgethetsz. Na, azért még mindég jobb mint a semmi!</li> </ul> </p> A script radiobuttonos, tickboxos, képes és szöveges kérdéseknél is jól működik. Egyéb típusú kérdésekre nincsen (nagyon) felkészítve. </p> Érdemes az éppen nem használt tárgyakat nem-bepipálni, mert akkor baromi sok kérdés közül kell keresni, és az előfordulhat, hogy lassú. </p> Egyéb funkciók: <ul> <li> Ha esetleg videókat nézel, akkor spacel lehet play/pausolni, és jobra/balra gombbal ugrani a videóban. </li> <li> Menüben el lehet rejteni a kérdéseket a felugró ablakról, így az kisebb helyet foglal, de így nem bírod ellenőrizni, hogy tényleg jó kérdés/választ talált-e. </li> <li> Ugyanitt az üdvözlő üzenetet is el lehet rejteni. Ez frissítésnél vagy hibánál ígyis úgyis megjelenik, mert azok nagyából fontosak. </li> <li> Ha bármikor nem kell a scirpt, simán kapcsold ki tampermonkeyban. Ha bármiért is el akarod tüntetni a következő oldalig az éppen megjelenő script ablakot, akkor középső egérgombal kattintva rajta ezt megteheted. </li> </ul> <h3>TL; DR:</h3> Olvasd csak el. Az öszes bonyodalom abból adódik, hogy a tampermonkey API-je korlátozott, és néhány dolgot neked kell megcsinálni, megérteni. Ha az online kérdéseket használod, akkor nagy eséllyel semmi teendőd, de azért jó ha tudod hogy működik, ha esetleg valami elromlik teszt közben, tudd hogy lehet megcsinálni gyorsan. <b> Legyen mindég nálad egy másolat az online kérdésekről, mert bármikor eltűnhet!</b> </td> <td width=20%> <img src="img/rtfm.jpg" alt="img"/> </td> </table> <center> <h3>Eddigi teszt kérdések:</h3> </center> <hr> <a target="_blank" href="http://qmining.tk/legacy"><b>Eddigi összes kérdés</b></a> Használat: Ha régi módszerrel fájlból olvasod be a kérdéseket, akkor abba kell bemásolni az egészet. Továbbá ez még arra jó, hogy ha valamiért bug-os a script, akkor itt tudsz ctrl-f ezgetni, vagy ha lemented az összes kérdést, akkor még akkor is biztonságban vagy, ha netán leáll a szerver, vagy elmegy a neted. <table style="table-layout:fixed;width:100%"> <td style="vertical-align:top"> <center> <h3>Beüzemelés (online)</h3> </center> <hr> </p> 1.5-ben bekerült egy új feature, ez pedig az, hogy szervertől szedi a kérdéseket a script. Elküldött, és letöltött adatokról lentebb tudsz olvasni. 3 opció elérhető, amit a menüben lehet álligatni: <ul> <li> </p> Helyi fájlból: a script a forráskódban általad megatodd útvonalon található fájlból olvassa be a kérdéseket, és ott keres. A tesztek végén mindég be kell másolnod az új kérdéseket. Erről a következő szekció mesél többet </li> <li> Neteről: interneten hostolt adatbázis letöltése, és használata. Mindkét verzióhoz azonnal feltölti az éppen megoldott tesztek kérdés-válaszait, ezért azonnal látnod kell(ene) azokat. <ul> <li> Karbantartott: Ez garantáltan működik, válogatott kérdések vannak benne. Viszont nem a legfrissebb. </li> <li> Szabadon szerkeszthető: Legfrisebb kérdések. Ezt bárki szerkesztheti, nem csak jó szándékból! </li> </ul> </li> </ul> <h5>A weboldal működése: </h5> Egyik oldalon egy szerkeszthető textbox található (bal). Ez a nem karbantartott adat. Ezt bárki szerkesztheti, és azonnal életbe lép minden változtatás, szóval óvatosan. Elvileg ellenőrzi, hogy helyes-e a bevitt adat, de ez nem bomba biztos. Másik oldaloni (jobb) egy read-only, stabil adatbázis van, ami manuálisan van karban tartva, és biztosan működik. </p> Ha online adatokat használsz, akkor a tesztek végén automatikusan el lesznek küldve az új kérdések, és hozzá lesznek adva a nyílt végére. Így azonnal frissül neked, és másoknak is az adatbázis. Ezért nem válalok felelősséget, és hibák is lehetnek benne. Ezeket nyugodtan kijavíthatod. Időnként ezek bekerülnek a stabilba. <b>Ajánlott ezeket lementeni, mivel nincs garancia a szerver folyamatos működésére!</b> Legalul egy textbox van, ahol minden lelki bánatodat elküldheted. </td> <td style="vertical-align:top"> <center> <h3>Beüzemelés (helyi adatokkal)</h3> </center> <hr> </p> <b>Ha netről használod a kérdéseket, akkor ezt a részt kiskippelheted. De csak ezt</b> </p>Ezt minden frissítésnél el kell játszanod, mert az egész script (beleértve az elérési utadat) felülíródik. Frissítés után a 3. pontot ismételd. <ul> <li> <b>1. :</b> <a target="_blank" href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help">Greasyfork</a>-ról telepítsd a scriptet. Ha ezt látod, akkor ez nagy esélyel sikerült. </p> <b>2. :</b> <ul> <li><b>a/</b> Ha van kérdés adatbázisod. Ugorj a 3.-as pontra. </li> </p> <li><b>b/</b> Ha nincs kérdés adatbázisod. Hozz létre egy üres .txt-filet, vagy fentebb az Eddigi kérdések pontnál tölts le párat. Inditásnál ha üres a file, akkor hibát jelez, de miután feltöltöd nem kellene. Ha több tárgyat szeretnél használni, akkor feltétlen olvasd el az ez alatti útmutatót! </li> </ul> </li> <li> <b>3. :</b> Nyisd meg a tampermonkey-d. Böngésző jobbfelsősarkánál nagy esélyel van tampermonkey ikon. Katt, majd dashboard. Ott fel lesz sorolva egy pár script. Válaszd ki az Elektro help-et. </br> Rögtön az elején látsz csomó cuccot.// ==UserScript== meg @name meg ilyesmi. Keresd meg a @resource taget. </br> Most jön a .txt-d. Az elérési útját másold be, hogy nagyából hasonló legyen: </br> </p> // @resource data file:///D:/OE/Elektronika/Elektro%20All%20ELearning.txt </p> Ide másold be a sima elérési utat, majd convert! Ezután az eredményt bemásolhatod a @resouce taghoz. kiterjesztésről (.txt) ne feledkezz meg ;) <input style="width:60%;" type="text" id="tex" /><button onclick="conv()"> Convert! </button><br> Másik jó megoldás, hogy a fájlodat megnyitod böngészöben, és az url-jét másolod be a script fejlécébe. </br> Ez csak windowson jó, ha netán Mac-et vagy GNU/Linux-ot használsz akkor írj feedback-et az oldalon, és leírom hogy kell. </li> </p> <li> <b>4. :</b> Kész! Mentsd el, és hf. Nagy esélyel először hibával fogsz találkozni. Dont worry! A Hibák részben pont ezt fogom leírni. </li> </ul> <center> <h3>Több tárgy kérdéseinek használata helyi adatokkal: (1.2)</h3> </center> <hr> </br> Röviden: Kérdések +tárgynév sorral elválasztva külön tárgynak számítanak </p> Hosszabban: Vegyük például, hogy Elektornika, és Jazz kérdésekre szeretnéd használni a scriptet. Ekkor a .txt-d két részre lesz fel osztva a következő módon: Első sora: "+Elektró (moodle)". Ez a neve annak a tárgynak, amihez a sor után következő kérdések tartoznak, mindaddíg, amíg egy másik "+" kezdetű sor nem következik. Ha ez történik, akkor meg kell adnod a következő tárgy nevét, ez esetben: "+Jazz (kmooc). Ebből tudja a script, hogy ez egy másik tárgy. Minden kmooc és moodle oldalon megjelenik egy Menü a jobb alsó sarokban, amire kattintva ki bírod választani, hogy mely tárgy legyen aktív. Ha valamely tárgy aktív, akkor a script a tárgy kérdései közül fogja keresni a választ az aktuális kérdésre. Ha egy sincs bejelölve, akkor nem lesz találta soha. </p> A jobb alsó sarokban 1.2 óta található egy menü gomb. Ha rákattintasz, akkor megjelenik egy új ablak az oldal közepefele. Ezt be tudod zárni, vagy a listázott tárgyakat tudod aktiválni/inaktiválni. Ha egy tárgy aktív, akkor annak a kérdés-válaszai között keres a script választ az aktuális kérdésre. </td> </table> <center> <h3>Beolvasott kérdések struktúrája</h3> </center> <hr> </p> A .txt-ben "?" jelöli a kérdést, "!" a választ, ">" a kérdéshez tartozó képneveket (ez optimális) és "+" a tárgy nevét. Ami más karakterrel kezdődik, és kérdés előtt van, az figyelmen kívül van hagyva, <b>egyéb helyen hibát eredményezhet egy ismeretlen sor!</b> Ha új tárgyat szeretnél hozzáadni, egyszerűen másold be az aljára a kérdéseket sorban, egy új +[tárgynév]-el kezdődő sor után. <b>Ha online adatokat szerkesztesz, akkor ezt érdemes tudni, küldönben elronthatod!</b> <center> <h3>Gyakran előforduló kérdések</h3> </center> <hr> <ul> <li> <b>1. Mindent megcsináltam, mégsem hajlandó beolvasni a fájlt</b> </br> Ha netről szeded a kérdéseket, akkor nem online a webszerver, vagy éppen nem aktív a tárgyad a menüben. Jobb alsó sarokban lévő 'M' gombra kattintva fel kell ugorjon egy menü, és ott az éppen megoldani kívánt tárgy melett ki kell hogy legyen pipálva a tickbox. </br> Helyi fájl használata: Ha (tényleg) rendesen bemásoltad a @resource-hoz az elérési utat, és még mindég nem működik: A böngésződ nem éri el a file-t. Chrome/Opera: bővítményeknél engedélyezni kell a fájlelérést. (Allow acces to file URLs bővítményeknél) Firefoxnál csak a tampermonkey-nél kell álligatni más böngészőt meg nem ismerek. Ezután Tampermonkey beállítása, hogy használja a @resource-ot: Klikk az ikonra böngésződnél, majd dashboard -> Settings tab -> "Config mode: " Advanced. Ezután meg kell jelennie egy olyan részlegnek, hogy "Security" (ha nem frissítsd az oldalt). Ott : "Allow scripts to access local files" -> "Externals (@require and @resource) Ha üres a txt-d, akkor még hibát fog jelezni, de amint első kérdésekkel feltöltöd jónak kellene lennie. Ha mégsem, akkor F12-> console -> és ott van egy pár log, ami hátha segít. </li> </p> <li> <b>2. Egyik kérdésre sincs válasz / előző fix után sem olvassa be a fájlt</b> </br> UTF-8-as kódolással mentsd a txt-det! Ha frissítés volt, akkor újra be kell írnod a txt elérési útját. Ha a beírt elérési utat a böngésző címsorába bemáslva nem nyílik meg, akkor elírtad, ha igen, akkor próbálkozz másik böngészővel </li> </p> <li> <b>3. Az első tárgy nevét NONAME-nek írja, pedig megadtam +-al a nevét</b> </br> A szöveges fájlod első sorába írj be valamit. Vagy csak rakj egy entert. Script minden sort figyelmen kívül hagy, ami nem a következő karakterekkel kezdődik: + ? ! >. Néha ha olyan kedve van nem sokszor olvassa be az első sort. </li> </p> <li> <b>4. Olyan helyeken fut le a script, ahol nem kellene, vagy zavar</b> </br> Tampermonkey bővitmény ikon -> click -> scriptet kapcsold ki. Csak ne felejtsd visszakapcsolni ;) </li> </p> <li> <b>5. Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a válaszra kattintani</b> </br> Zommolj ki egy kicsit, vagy kapcsold ki addig a scriptet. Továbbá középső egérgombra kattintva rá el bírod tüntetni az ablakot, amíg újra nem töltöd az oldalt, vagy másikra ugrasz. </li> </p> <li> <b>6. Online adatokat használok, de a script hibát jelez</b> </br> Ennek több oka is lehet: <ul> <li>Nem engedélyezted az http requestek küldését a usercript menedzselő programodnál. Ez nélkül nem működik.</li> <li>Nem elérhető a szerver. Ezt ellenőrizheted: <a href="http://qmining.tk/">link</a></li> <li>Nincs kiválasztva a megoldani kívánt tárgy a menüben.</li> </ul> </li> </p> <li> Egyéb:<br><a target="_blank" href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help/feedback">Script Feedback</a> vagy <a target="_blank" href="http://qmining.tk/">észrevétel.</a> </li> </p> Ha végleg nem akar működni egy újfajta kérdésnél, vagy tetsz felénél meghal, akkor még mindég használhatod a txt-t, amiben az addig lementett kérdések vannak. (CTRL + F) A kritikus hibák consolra ki vannak írva, amit f12 megnyitásával tudsz előhozni (chrome/firefox (dev console)) </ul> <center> <h3>Adat egyszerűsítés</h3> </center> <hr> Másold be ide az egész txt-d, és ez kiszedi belőle az ugyanolyan kérdéseket, illetve ha hibás részeket talál, akkor kikommenteli. Érdemes megnézni, hogy történt-e ilyen, keress rá a kész szövegben a "#"-karakterre. Ezzel azért óvatosan, ez kipusztithatja a szobanövényed. <textarea id="converter"></textarea> <button onclick="simplify()">Egyszerűsítés</button> <hr> Jogosultságok: </br>GM_openInTab: help megnyitása új lapon, GM_xmlhttpRequest: online adatbázishoz. GM_getResourceText: a txt beolvasáshoz. Mást nem bír beolvasni, csak amit megadsz a @resouces tagnál. GM_info: a scriptről információ, a verzióváltozás érzékeléséhez. GM_getValue/ GM_setValue: oldal bezárásakor megmaradó változók kezelése. Előző verzió tárolására, ugyanúgy verzióváltozás érzékeléséhez, néhány beállítás, illetve hogy melyik tárgyakból keressen kérdéseket. Ezek függvények, és a sciptben néhol meg vannak hívva, keresd meg. </p> Elküldött adatok online módban: Minden teszt végén az összes kérdés, és rá a moodle szerint helyesnek vélt válaszok. Fogadott adatok: az összes eddig ismert moodle kérdés <hr> <center> <h1> <a target="_blank" href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help">Script Greasyforkon</a> | <a target="_blank" href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help/feedback">Script Feedback</a> | <a target="_blank" href="http://qmining.tk/">Weboldal</a> </h1> </center> <script> function conv() { var a = document.getElementById("tex").value; a = a.replace(/ /g, "%20"); a = a.replace(/\\/g, ""); if (!a.includes(".txt")) { a += ".txt"; } document.getElementById("tex").value = "// @resource data file:///" + a; } function simplify() { var splitData = document.getElementById("converter").value.split("\n"); var result = []; var jumped = 0; var doubles = 0; for (var i = 0; i < splitData.length; i += jumped) { splitData[i] = splitData[i].trim(); jumped = 0; var currQuestion = { q: splitData[i], a: splitData[i + 1], i: splitData[i + 2] }; if (currQuestion.q != undefined && currQuestion.q[0] == "?" && currQuestion.a != undefined && currQuestion.a[0] == "!") { jumped += 2; } if (currQuestion.i != undefined && currQuestion.i[0] == ">" && jumped == 2) { jumped++; } else { delete currQuestion.i; } if (jumped > 1) { for (var j = 0; j < result.length; j++) { if (result[j].q) { if (result[j].q == currQuestion.q && result[j].a == currQuestion.a) { if (result[j].i && currQuestion.i) { if (result[j].i == currQuestion.i) { break; } } else { break; } } } } if (j >= result.length) { result.push(currQuestion); } else { doubles++; } } if (currQuestion.q[0] == "+") { result.push({ n: currQuestion.q }); jumped++; } else if (jumped < 1) { var comment = currQuestion.q; if (comment[0] != "#") { comment = "#" + comment; } result.push({ c: comment }); jumped++; } } var textResult = ""; for (var i = 0; i < result.length; i++) { if (result[i].q != undefined && result[i].a != undefined) { textResult += result[i].q + "\n"; textResult += result[i].a + "\n"; } if (result[i].i != undefined) { textResult += result[i].i + "\n"; } if (result[i].c != undefined) { textResult += result[i].c + "\n"; } if (result[i].n != undefined) { textResult += result[i].n + "\n"; } } alert(doubles + " duplikáció eltávolítva, és hibás kérdések kikommentelve."); document.getElementById("converter").value = textResult; } </script> </html> </body>