- Python 100%
| src | ||
| tests | ||
| .gitignore | ||
| build.py | ||
| README.md | ||
| requirements.txt | ||
Egy eszközkészlet digitális kultúra érettségi lebonyolításához.
⚠️ Figyelem: Ez a szoftver NEM biztosítja a vizsgarendszer biztonságát. Ez továbbra is a felelős rendszergazda feladata.
⚠️ Figyelem: A program interaktív használatra tervezett. Jelen állapotában scriptelésre nem használható.
Mit tud a script?
- Vizsgakörnyezet felépítése*
- Felhasználói fiókok előkészítése (jelszavak beállítása)
- Forrásfájlok másolása
- Megoldások mentése
- Felhasználók hozzárendelése vizsgaazonosítókhoz
- Felhasználókönyvtárak törlése
Megfelelő szerverbeállítások esetében*
Parancssori használat
A program parancssori felületen keresztül különböző vizsgakezelési műveletek elvégzésére használható.
Általános használat
examctl [-q | --quiet] [-C | --config <KONFIGURÁCIÓ>] <parancs> [argumentumok]
A program működését az alábbi parancsok vezérlik:
| Parancs | Aliasok | Leírás |
|---|---|---|
configure |
config, reconfigure |
Beállítások megnyitása |
setup |
– | Vizsgakörnyezet előkészítése |
init |
prepare, init_exam, prepare_exam |
Vizsga előkészítése |
close |
end, end_exam |
Vizsga lezárása |
cp |
copy |
Fájl vagy mappa másolása a felhasználókhoz |
clean |
– | Felhasználói adatok törlése |
save |
export |
Vizsgakörnyezet archiválása |
A parancsok közül pontosan egyet kell megadni.
Globális opciók
-q, --quiet
Kevesebb információt ír ki a program futása közben.
examctl --quiet <parancs>
-C, --config <ÚTVONAL>
Felülírja a konfigurációs fájl alapértelmezett elérési útját.
examctl --config ./config.toml <parancs>
A rövid forma is használható:
examctl -C ./config.toml <parancs>
Az opció a program globális beállítása, ezért a parancs előtt kell megadni.
Parancsok
configure
Aliasok: config, reconfigure
Megnyitja a program beállításait. Ebben a varázslóban szerkeszthetőek a szerverbeállítások.
A program nem fut érvényes beállítások nélkül.
examctl configure
setup
Előkészíti a vizsgakörnyezetet.
⚠️ Fontos: Ez a parancs egy AD domain alatt csak egyszer futtatható.
A parancs futtatása előtt mindig gondold át, hogy hány felhasználóra lesz szükség. A felhasználók számát a későbbiekben nem lehet módosítani.
examctl setup
A parancs futtatása előtt ellenőrizd, hogy a környezet megfelelően van-e előkészítve.
init
Aliasok: prepare, init_exam, prepare_exam
Előkészít egy vizsgát.
A művelet során a program:
- megváltoztatja a vizsgafiókok jelszavát;
- engedélyezi a felhasználók bejelentkezését.
⚠️ Vigyázz: Az init parancs többször is futatható egymás után.
examctl init
close
Aliasok: end, end_exam
Lezárja a vizsgát.
A vizsga lezárásakor a program letiltja a felhasználók bejelentkezését. Ezen kívül más műveletet nem végez.
examctl close
cp
Alias: copy
Egy fájlt vagy mappát átmásol minden felhasználóhoz, és beállítja a szükséges jogosultságokat.
Használat
examctl cp <forrás> [-D <cél>] [-M <maszk>]
<source>
Kötelező argumentum.
A másolandó fájl vagy mappa elérési útja.
examctl cp ./feladatok
-D, --destination <HELY>
Megadja, hogy a felhasználó saját mappáján belül hova kerüljön a másolt fájl vagy mappa.
Ha a cél végén perjel (/) van és a forrás egy fájl, a cél mappának van értelmezve.
Az opció megadása nem kötelező.
A megadott útvonal mindig a felhasználó gyökérkönyvtárához képest értendő.
Például:
examctl cp feladat.txt -D /
vagy:
examctl cp ./forrasok -D vizsga/forras
A -D és --destination ugyanazt az opciót jelöli.
-M, --mask <MASZK>
Megadja, hogy mely felhasználók mappájába kerüljön bele a forrásállomány.
Az opcióval egyes felhasználók, illetve felhasználói tartományok adhatók meg. A felsorolás és a tartományok kombinálhatók.
A felsorolásba a felhasznlók azonosítóját kell megadni (ez lehet: 1-N, ahol N=vizsgafelhasználók száma)
Formátum
A felhasználók felsorolását vesszővel (,) kell elválasztani:
1,2,5
Tartomány megadásához kettőspont (:) használható:
1:10
A kettő kombinálható:
1,3:10,15
Például:
examctl cp feladat.pdf -M 1,3:10
Ebben az esetben a feladat.pdf az e001, valamint az e003–e010 felhasználók mappájába kerül.
clean
Töröl minden felhasználói adatot a felhasználók mappáiból.
examctl clean
⚠️ Figyelem: Ez a művelet adatvesztéssel járhat. A parancs használata előtt győződj meg arról, hogy a törlendő adatokra már nincs szükség.
save
Alias: export
Archiválja a vizsgakörnyezetet.
Használat
examctl save <ARCHÍVUM_ÚTVONALA> [-I <IDENTITY_MAP>]
<archive_path>
Kötelező.
Az archívum mentési helye. Ha a megadott elérési út végén perjel (/) van, vagy az út egy mappa, egy automatikusan generált archívumnév lesz használva. A kimeneti archívum mindig egy ZIP fájl.
examctl save ./vizsga.zip
vagy:
examctl save .
-I, --identity-map <FÁJL>
Megad egy hozzárendelési fájlt, amely a vizsgafiókokat a vizsgázói azonosítókkal kapcsolja össze.
Ha ezt az opciót megadod, az archívumban a hozzárendelt mappák a vizsgázó azonosítójára lesznek átnevezve.
examctl save ./vizsga.zip --identity-map identity-map.txt
Az identity map formátuma
Az identity map egy tabulátorral (TAB) elválasztott szöveges fájl.
Minden sor két oszlopból áll:
| Oszlop | Tartalom |
|---|---|
| 1. | Felhasználónév (eNNN) |
| 2. | Vizsgázó azonosítója |
Például:
e001 ABC123
e002 ABC124
e003 ABC125
A fenti fájl azt jelenti, hogy:
- az
e001felhasználóhoz azABC123vizsgázói azonosító tartozik; - az
e002felhasználóhoz azABC124vizsgázói azonosító tartozik; - az
e003felhasználóhoz azABC125vizsgázói azonosító tartozik.
Példák
Vizsgakörnyezet létrehozása
examctl setup
Vizsgafelhasználók előkészítése
examctl init
Fájl kiosztása minden felhasználónak
examctl cp feladat.pdf
Fájl kiosztása egy adott almappába
examctl cp feladat.pdf -D vizsga/feladat.pdf
Fájl kiosztása csak meghatározott felhasználóknak
examctl cp feladat.pdf -M 1,3:10
Vizsga lezárása
examctl close
Vizsga archiválása
examctl save ./vizsga.zip
Vizsga archiválása vizsgázói azonosítókkal
examctl save ./vizsga.zip --identity-map identity-map.txt
Egyedi konfiguráció létrehozása és használata
examctl --config ./config.toml configure
examctl --config ./config.toml init
Csendesebb működés
A --quiet globális opció bármelyik paranccsal használható:
examctl --quiet init
examctl --quiet close
examctl --quiet save ./vizsga.zip
A --quiet és --config opciók együtt is használhatók:
examctl --quiet --config ./config.toml init