Open lordblendi opened 7 years ago
Ehhez szükség lesz a DeliverableTemplates-hez felvenni egy attribútumot, mint requiredFileExtension.
A fájlnévkiterjesztésre viszonylag egyszerűen lehet irni egy validálót, viszont hogy egy adott fájl mondjuk tényleg sql fájl-e, vagy egy zip fájl tényleg zip fájl-e, az már időigényesebb lenne.
A kérdésem még, hogy egy beadandó fájlhoz, egy kiterjesztés tartozik, vagy lehet több is?
NEPTUN_ExerciseCategory_<DeliverableTemplates.valami, ami a fájl céljára utal, szóköz és ékezet nélkül>.<DeliverableTemplates.extension>
, azaz
<DeliverableTemplates.valami, ami a fájl céljára utal, szóköz és ékezet nélkül>
lehet a description, vagy (ha már mezőt bővítesz) egy külön mező, amiben report, sql-script, meg ilyenek vannak.Ennél komolyabbat valóban bonyolult csinálni, mert:
file --mime-type
visszaadtext/plain
pont jó lenne, de ezt is nehéz megbízhatóan tesztelni. Épp az előbb kaptam pár SQL fájlra "C forráskód" eredményt a file --mime-type
-tól.Ha lesz ismét zip beadás, annál a tartalom mappaszerkezetét és a benne szereplő fájlok listáját szoktuk validálni. A hangsúly a ha részen van: nem tudok róla, hogy idén lesz ilyen, bár az opti-ról még nincs infóm. Tavasszal tipikusan van sok zip beadás.
Jelenleg a fájlt ilyen névvel menti le a backend: https://github.com/bme-db-lab/szglab5-backend/blob/master/endpoints/deliverables/upload.js#L87 Elég sok infó benne lesz a fájlnévben, illetve az AKÉP helyes működéséhez is a fájl végére kell rakni bizonyos infókat (ha az adott deliverableTemplate-ben az AKÉP flag true értékre van állitva)
A letöltéskor igy adom vissza: https://github.com/bme-db-lab/szglab5-backend/blob/master/endpoints/deliverables/download.js#L79 Ezeken viszonylag egyszerű módosítani
A kiterjesztést fel fogom vinni requiredExtension néven a DeliverableTemplates-be, és ezt hamarosan le is fejlesztem, az olyanra hogy valaki átnevezi a .zip-et .rar-ra más tárgyaknál simán azt mondták hogy köszönik szépen a részvételt...
Jelenleg van egy description attribútum a DeliverableTemplates-ben, ezt a frontendre szántam, amit meg lehet jeleniteni, hogyha ebből csinálunk egy lowercase-t illetve snake_case-t, akkor szerintem megfelel a célra (Jelenleg ilyen értékek vannak benne: "Report", "SQL File")
A jelenlegi rendszerben a hallgatok barmilyen fajlnevvel es fajlformatummal feltolthetik a hazit. A plagium kereso pedig csak az elvart es megadott formatummal mukodik. Igy nekunk ez jelentos tobbletmunka, hogy ujra bekerjuk a hallgatok hazijat es feltoltsuk a rendszerbe. Raadasul a hallgatok nem figyelnek az eloirasokra sem. Jo lenne, ha ezeket a hazikat a rendszer visszadobna.