From b8c1a6ca9735839aaae75f24b1a3c2b5bc439500 Mon Sep 17 00:00:00 2001
From: YourFriendlyNeighborhoodDealer
Date: Sun, 24 Feb 2019 10:27:47 +0100
Subject: [PATCH] Lots of bugfixes, improvements: Dinamyc QA, file uploading
refactoring, file managing logging improvements ...
---
README.md | 0
actions.js | 32 +-
license | 0
logger.js | 0
merger.js | 0
public/currVersion | 0
public/favicon.ico | Bin
public/man.html | 990 +++++++++++++++++++++++----------------------
public/qa | 8 +
server.js | 84 ++--
utils.js | 22 +-
views/404.ejs | 0
views/main.ejs | 24 +-
views/qa.ejs | 35 ++
14 files changed, 662 insertions(+), 533 deletions(-)
mode change 100644 => 100755 README.md
mode change 100644 => 100755 license
mode change 100644 => 100755 logger.js
mode change 100644 => 100755 merger.js
mode change 100644 => 100755 public/currVersion
mode change 100644 => 100755 public/favicon.ico
mode change 100644 => 100755 public/man.html
create mode 100644 public/qa
mode change 100644 => 100755 utils.js
mode change 100644 => 100755 views/404.ejs
create mode 100644 views/qa.ejs
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/actions.js b/actions.js
index c7c94aa..926e875 100755
--- a/actions.js
+++ b/actions.js
@@ -22,7 +22,8 @@ module.exports = {
ProcessIncomingRequest: ProcessIncomingRequest,
CheckData: CheckData,
NLoad: NLoad,
- LoadJSON: LoadJSON
+ LoadJSON: LoadJSON,
+ ProcessQA: ProcessQA
};
var recievedFile = "stats/recieved";
@@ -31,6 +32,7 @@ var manFile = "public/man.html";
var dataFile = "public/data.json";
var motdFile = "public/motd";
var versionFile = "public/currVersion";
+const qaFile = "public/qa";
var logger = require('./logger.js');
var utils = require('./utils.js');
@@ -490,3 +492,31 @@ function LoadJSON(resource) {
logger.Log("[LOAD]:Error loading sutff", logger.GetColor("redbg"), true);
}
}
+
+function ProcessQA() {
+ if (!utils.FileExists(qaFile))
+ utils.WriteFile("", qaFile);
+
+ let a = utils.ReadFile(qaFile).split("\n");
+ let r = [];
+ let ind = 0;
+ for (let i = 0; i < a.length; i++) {
+ if ( a[i] == "#")
+ ind ++;
+ else {
+ if (r[ind] == undefined)
+ r[ind] = {};
+
+ if (r[ind].q == undefined) {
+ r[ind].q = a[i];
+ } else {
+ if (r[ind].a == undefined)
+ r[ind].a = [];
+
+ r[ind].a.push(a[i]);
+ }
+ }
+ }
+
+ return r;
+}
diff --git a/license b/license
old mode 100644
new mode 100755
diff --git a/logger.js b/logger.js
old mode 100644
new mode 100755
diff --git a/merger.js b/merger.js
old mode 100644
new mode 100755
diff --git a/public/currVersion b/public/currVersion
old mode 100644
new mode 100755
diff --git a/public/favicon.ico b/public/favicon.ico
old mode 100644
new mode 100755
diff --git a/public/man.html b/public/man.html
old mode 100644
new mode 100755
index 36fa6af..119a03f
--- a/public/man.html
+++ b/public/man.html
@@ -1,494 +1,496 @@
-
-
-
-
-
-
- Moodle/Elearning/KMOOC manual
-
-
-
-
Moodle/Elearnig/KMOOC manual
-
-
- Ez a userscript Moodle/Elearnig/KMOOC tesztek megoldása során segítséget jelenít meg.
-
-
- 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! 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 : Script Feedback (ezt
- gyakran még aznap megnézem.
-
-
- 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,
-
-
Tartalomjegyzék
-
-
-
-
- Használat - Ez szuper fontos, elsőnek olvasd el
-
-
- Eddigi teszt kérdések - Itt elérhető az eddigi összes ismert teszt
- kérdés-válaszai
-
- Beüzemelés (helyi) - Beüzemelés, helyi fájlos verizó
-
-
- Több tárgy hozzáadása - Ez csak helyi fájlos verziónál kell, de akkor
- fontos
-
-
- Beolvasott kérdések struktúrája - Ha bármikor (neten, vagy helyi fájlon)
-változtatni akarsz, akkor illik tudni
-
-
- Gyakran előforduló kérdések - Ha itt nincs kérdésed, akkor itt alul tedd fel!
-
-
- Adat egyszerűsítés - Ha túl sok egyforma kérdésed van ;)
-
-
- Other stuff
-
-
-
-
Használat
-
-
-
-
- Ha először használod, olvasd el a lenti beüzemelés részt.
- 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.
-
- Teszt végén teendők ha helyi fájlban vannak az adatjaid: 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.
-
- Teszt közben még több dolog történhet:
-
-
-
Nem jó kérdésre ad választ a script: 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
-
-
Több teszt kérdés van egy odalon: 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.
-
-
Nem jelenik meg semmi, vagy nem működik a script: 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!
-
- 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.
-
- É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ú.
- Egyéb funkciók:
-
-
- Ha esetleg videókat nézel, akkor spacel lehet play/pausolni, és jobra/balra
- gombbal ugrani a videóban.
-
-
- 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.
-
-
- 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.
-
-
- 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.
-
-
-
TL; DR:
-
- 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. Legyen mindég nálad egy másolat az online
- kérdésekről, mert bármikor eltűnhet!
-
-
-
-
-
-
-
-
Eddigi teszt kérdések:
-
-
- Eddigi összes kérdés Használat:
- Másold be a saját fájlodba. Ha csak egy tárgyé kell, akkor vedd ki a pipát a scirpt UI-nál, vagy
- töröld ki a fájlból azt a részt. Csak akkor kell, ha helyi adatokat akarsz használni Viszont
- kifejezetten ajánlott ezeket még ekkor is lementeni, mivel nincs garancia a szerver folyamatos
- működésére!
-
-
-
-
-
Beüzemelés (online)
-
-
-
- 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:
-
-
- 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
-
-
- 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.
-
-
- Karbantartott: Ez garantáltan működik, válogatott kérdések vannak benne. Viszont
- nem a legfrissebb.
-
-
- Szabadon szerkeszthető: Legfrisebb kérdések. Ezt bárki szerkesztheti, nem csak
- jó szándékból!
-
-
-
-
-
-
A weboldal működése:
-
- 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. 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. Ajánlott ezeket lementeni, mivel nincs garancia a szerver folyamatos
- működésére! Legalul egy textbox van, ahol minden lelki
- bánatodat elküldheted.
-
-
-
-
-
Beüzemelés (helyi adatokkal)
-
-
-
-
- Ha netről használod a kérdéseket, akkor ezt a részt kiskippelheted. De csak ezt
- 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.
-
-
- 1. :
-
- Greasyfork-ról
- telepítsd a scriptet. Ha ezt látod, akkor ez nagy esélyel sikerült.
-
- 2. :
-
-
a/ Ha van kérdés adatbázisod. Ugorj a 3.-as pontra.
-
-
-
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!
-
-
-
-
- 3. : 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.
- Rögtön az elején látsz csomó cuccot.// ==UserScript== meg @name meg ilyesmi.
- Keresd meg a @resource taget.
- Most jön a .txt-d. Az elérési útját másold be, hogy nagyából hasonló legyen:
-
-
- // @resource data file:///D:/OE/Elektronika/Elektro%20All%20ELearning.txt
- 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 ;)
-
- 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.
-
-
-
- 4. : 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.
-
-
-
-
Több tárgy kérdéseinek használata helyi adatokkal: (1.2)
-
-
- Röviden: Kérdések +tárgynév sorral elválasztva külön tárgynak számítanak
- 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.
-
- 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.
-
-
-
-
Beolvasott kérdések struktúrája
-
-
- 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, egyéb helyen hibát eredményezhet egy ismeretlen sor! 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. Ha online adatokat szerkesztesz, akkor ezt érdemes tudni,
- küldönben elronthatod!
-
-
Gyakran előforduló kérdések
-
-
-
-
- 1. Mindent megcsináltam, mégsem hajlandó beolvasni a fájlt
- 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.
- 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.
-
-
-
- 2. Egyik kérdésre sincs válasz / előző fix után sem olvassa be a fájlt
- 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
-
-
-
- 3. Az első tárgy nevét NONAME-nek írja, pedig megadtam +-al a nevét
- 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.
-
-
-
- 4. Olyan helyeken fut le a script, ahol nem kellene, vagy zavar
- Tampermonkey bővitmény ikon -> click -> scriptet kapcsold ki. Csak ne felejtsd
- visszakapcsolni ;)
-
-
-
- 5. Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a válaszra kattintani
- 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.
-
-
-
- 6. Online adatokat használok, de a script hibát jelez
- Ennek több oka is lehet:
-
-
Nem engedélyezted az http requestek küldését a usercript menedzselő
- programodnál. Ez nélkül nem működik.
- 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))
-
-
-
Adat egyszerűsítés
-
- 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.
-
-
- Jogosultságok:
- 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.
- 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
-
-
+ Ez a userscript Moodle/Elearnig/KMOOC tesztek megoldása során segítséget jelenít meg.
+
+
+ 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! 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 : Script Feedback (ezt
+ gyakran még aznap megnézem.
+
+
+ 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,
+
+
Tartalomjegyzék
+
+
+
+
+ Használat - Ez szuper fontos, elsőnek olvasd el
+
+
+ Eddigi teszt kérdések - Itt elérhető az eddigi összes ismert teszt
+ kérdés-válaszai
+
+ Beüzemelés (helyi) - Beüzemelés, helyi fájlos verizó
+
+
+ Több tárgy hozzáadása - Ez csak helyi fájlos verziónál kell, de akkor
+ fontos
+
+
+ Beolvasott kérdések struktúrája - Ha bármikor (neten, vagy helyi fájlon)
+változtatni akarsz, akkor illik tudni
+
+
+ Gyakran előforduló kérdések - Ha itt nincs kérdésed, akkor itt alul tedd fel!
+
+
+ Adat egyszerűsítés - Ha túl sok egyforma kérdésed van ;)
+
+
+ Other stuff
+
+
+
+
Használat
+
+
+
+
+ Ha először használod, olvasd el a lenti beüzemelés részt.
+ 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.
+
+ Teszt végén teendők ha helyi fájlban vannak az adatjaid: 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.
+
+ Teszt közben még több dolog történhet:
+
+
+
Nem jó kérdésre ad választ a script: 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
+
+
Több teszt kérdés van egy odalon: 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.
+
+
Nem jelenik meg semmi, vagy nem működik a script: 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!
+
+ 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.
+
+ É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ú.
+ Egyéb funkciók:
+
+
+ Ha esetleg videókat nézel, akkor spacel lehet play/pausolni, és jobra/balra
+ gombbal ugrani a videóban.
+
+
+ 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.
+
+
+ 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.
+
+
+ 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.
+
+
+
TL; DR:
+
+ 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. Legyen mindég nálad egy másolat az online
+ kérdésekről, mert bármikor eltűnhet!
+
+
+
+
+
+
+
+
Eddigi teszt kérdések:
+
+
+ Eddigi összes kérdés 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.
+
+
+
+
+
Beüzemelés (online)
+
+
+
+ 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:
+
+
+ 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
+
+
+ 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.
+
+
+ Karbantartott: Ez garantáltan működik, válogatott kérdések vannak benne. Viszont
+ nem a legfrissebb.
+
+
+ Szabadon szerkeszthető: Legfrisebb kérdések. Ezt bárki szerkesztheti, nem csak
+ jó szándékból!
+
+
+
+
+
+
A weboldal működése:
+
+ 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. 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. Ajánlott ezeket lementeni, mivel nincs garancia a szerver folyamatos
+ működésére! Legalul egy textbox van, ahol minden lelki
+ bánatodat elküldheted.
+
+
+
+
+
Beüzemelés (helyi adatokkal)
+
+
+
+
+ Ha netről használod a kérdéseket, akkor ezt a részt kiskippelheted. De csak ezt
+ 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.
+
+
+ 1. :
+
+ Greasyfork-ról
+ telepítsd a scriptet. Ha ezt látod, akkor ez nagy esélyel sikerült.
+
+ 2. :
+
+
a/ Ha van kérdés adatbázisod. Ugorj a 3.-as pontra.
+
+
+
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!
+
+
+
+
+ 3. : 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.
+ Rögtön az elején látsz csomó cuccot.// ==UserScript== meg @name meg ilyesmi.
+ Keresd meg a @resource taget.
+ Most jön a .txt-d. Az elérési útját másold be, hogy nagyából hasonló legyen:
+
+
+ // @resource data file:///D:/OE/Elektronika/Elektro%20All%20ELearning.txt
+ 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 ;)
+
+ 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.
+ 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.
+
+
+
+ 4. : 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.
+
+
+
+
Több tárgy kérdéseinek használata helyi adatokkal: (1.2)
+
+
+ Röviden: Kérdések +tárgynév sorral elválasztva külön tárgynak számítanak
+ 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.
+
+ 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.
+
+
+
+
Beolvasott kérdések struktúrája
+
+
+ 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, egyéb helyen hibát eredményezhet egy ismeretlen sor! 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. Ha online adatokat szerkesztesz, akkor ezt érdemes tudni,
+ küldönben elronthatod!
+
+
Gyakran előforduló kérdések
+
+
+
+
+ 1. Mindent megcsináltam, mégsem hajlandó beolvasni a fájlt
+ 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.
+ 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.
+
+
+
+ 2. Egyik kérdésre sincs válasz / előző fix után sem olvassa be a fájlt
+ 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
+
+
+
+ 3. Az első tárgy nevét NONAME-nek írja, pedig megadtam +-al a nevét
+ 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.
+
+
+
+ 4. Olyan helyeken fut le a script, ahol nem kellene, vagy zavar
+ Tampermonkey bővitmény ikon -> click -> scriptet kapcsold ki. Csak ne felejtsd
+ visszakapcsolni ;)
+
+
+
+ 5. Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a válaszra kattintani
+ 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.
+
+
+
+ 6. Online adatokat használok, de a script hibát jelez
+ Ennek több oka is lehet:
+
+
Nem engedélyezted az http requestek küldését a usercript menedzselő
+ programodnál. Ez nélkül nem működik.
+ 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))
+
+
+
Adat egyszerűsítés
+
+ 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.
+
+
+ Jogosultságok:
+ 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.
+ 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
+
+
Hibát kiváltó teszt feltöltése
@@ -60,8 +58,20 @@ Ha egy kérdésre mindig helytelenül talál választ a userscript (vagy egyéb
azon az oldalon nyomj egy ctrl-s -t. Ez lementi a weboldalt úgy ahogy van egy mappába, és egy html
fájlba. Ezt a kettőt ha berakod egy .zip-be, és ide feltöltöd, akkor ránézek mi lehet a hiba, és
kijavítom. Max 10 MB!
- Ha több, elég a .html.
+ Ha több, elég a .html. Bónusz ha mellékelsz egy readme-t, hogy mit csináljak.