: Home / oprogramowanie / e-egzamin / Opublikowanie kodu platformy E-egzamin
Opublikowanie kodu platformy E-egzamin
Ocena użytkowników: / 1
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
piątek, 25 marca 2011 19:20

Logo GNU GPLDzisiaj został opublikowany kod Platformy E-egzamin (System Elektronicznego Egzaminowania). Został wydany na licencji GNU General Public License.

Oznacza to, że każdy może za darmo wykorzystywać ten system (zarówno kod, jak i całość). Gdybyście znaleźli w nim jakieś błędy, prosimy o informacje w komentarzach.

Jest to stosunko nowy projekt. Mamy jednak nadzieję, graniczącą z przekonaniem, że spełni oczekiwania użytkowników :)

 

Adres repozytorium

Warto przeczytać

 Zapraszamy do pobierania kodu, lub gotowych binarek i testowania :)

 

Moduł Nauczyciel

Moduł ten pozwala na tworzenie konfiguracji egzaminu. Zobacz przykładowy filmik z działania modułu Nauczyciel.

Pobierz gotowy program:

Aby go odpalić potrzebujesz JRE (jeśli działają Ci chaty internetowe oparte o Javę, to na pewno masz już zainstalowane to środowisko). Istnieje także alternatywna - open source'owa - implementacja środowiska uruchomieniowego Javy: OpenJDK.

Uruchomienie:

java -jar "nauczyciel.jar"

Polecenie to należy wpisać w wierszu poleceń. Dla użytkowników windowsa przygotowaliśmy odpowiedni plik wsadowy 'uruchom.bat'. Dzięki niemu można uruchomić program zwyczajnie klikając dwukrotnie na odpowiednią ikonę.

 

Moduł Dystrybucja

Jest to dystrybucja Linuksa (LiveCD). Po odpaleniu na jednym z komputerów w pracowni przejmuje rolę serwera DHCP oraz udostępnia serwer WWW. Moduł Dystrybucji jest niezbędny do przeprowadzenia egzaminu.

Pobierz obraz płyty:

Uruchomienie:

  1. Odłącz sieć LAN od routera (tak, aby była połączona jedynie switchem) albo wyłącz w routerze DHCP.
  2. Na jednym z komputerów odpal LiveCD z Dystrybucją.
    • Możliwa będzie konieczność zmian w BIOS (kolejność bootowania - płyta CD jako pierwsza).
  3. Wczytaj plik xml z konfiguracją egzaminu.
  4. Poczekaj aż studenci (używając modułu Student) połączą się z serwerem WWW, pobiorą swoją wersje egzaminu, wypełnią go i odeślą.
  5. Zakończ egzamin.
  6. Zapisz plik xml z odpowiedziami (jest to jeden plik) wszystkich studentów na pendrive'a.
  7. Za pomocą modułu Nauczyciel sprawdź egzamin i wygeneruj wyniki.

 

Moduł Student

Jest to dystrybucja Linuksa (LiveCD), bardzo okrojona. Po uruchomieniu systemu z płyty użytkownik widzie jedynie okno przeglądarki. Nie może go zamknąć (może, ale oznacza to rezygnację z egzaminu).

Uwaga: Przed uruchomieniem Studenta, upewnij się, że został poprawnie uruchomiony moduł Dystrybucji.

Pobierz obraz płyty:

Uruchomienie:

  1. Upewnij się, że Dystrybucja działa prawidłowo.
  2. Uruchom LiveCD z modułem Student na komputerach w sieci LAN, w której działa Dystrybucja.
  3. Wpisz swój unikalny identyfikator.
  4. Wypełnij Twój unikalny zestaw pytań.
  5. Zakończ egzamin.

 

O twórcach

Projekt powstał w ramach przedmiotu Projekt Grupowy na Wydziale Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej.

Opiekun projektu:

Grupa projektowa:

  • Michał Jędrusiak
  • Patryk Jar
  • Michał Sokołowski
  • Katarzyna Tyl
  • Michał Wojtowicz
 

Komentarze 

 
0 #5 Patryk yarpo Jar 2011-03-27 18:52
Ciekawa inicjatywa. Jeśli chcesz mogę Ci zrobić brancha na google code. jakby, co znasz maila :)
Cytować
 
 
+1 #4 Teodor Woźniak 2011-03-27 18:49
Działa samodzielnie zrobiony, oparty o Debiana system Live CD z ramdiskiem i copy-on-write. Mimo kompresji rootfs'u, podstawowy obraz (Debian + Xorg + Iceweasel + vim_bez_którego _nie_da_się_żyć ) ma niestety aż 271MiB, za to system z zalogowanym graficznie użytkownikiem i uruchomioną przeglądarką internetową zajmuje 54MiB RAMu.

Na pewno da się odchudzić wywalając cache pakietów, bazę danych man'a i inne.

Szybkości nie porównywałem.

Pozostaje zintegrować z e-egzaminem.
Cytować
 
 
0 #3 Patryk yarpo Jar 2011-03-26 19:30
Dziękuję Teo za bardzo przydatne uwagi. Już odpowiadam na nie:

GUI Nauczyciela:
- trwają aktualnie pracę następnej grupy projektowej nad nową aplikacją w nowszej technologii, przyjaźniejszą użytkownikowi itd.
- wszystko, co mówisz jest w tej kwestii prawdą.

Moduł Dystrybucja:
- slax wybrany został z prostej przyczyny. Osoba odpowiedzialna za stworzenie części "linuksowej " znała najbardziej właśnie tę dystrybucję. Myślę, że przy dzisiejszych maszynach 88MiB jest w pełni akceptowalne. Choć oczywiście, 50MiB brzmi lepiej :)
- wydaje mi się, że automontowanie pamięci usb działało. Choć nie dam za to ręki.

Moduł Student:
- z pewnością działało to podczas naszych testów w prawdziwej pracowni komputerowej na terenie Politechniki Gdańskiej.
- dostęp do konta root daje co najwyżej opcję używania manuala, który i tak powinien zostać usunięty. AFAIR ostał się przez przypadek :)

Kwestia jądra - chyba to jest przyczyna slaksa. Choć nie ja byłem za to odpowiedzialny, nie będę więc o tym zapewniał.

Cytat:
Ciekawe czy sprawdziła by się opcja dla nowoczesnych komputerów z >1GiB RAMu - załadować cały system plików do tmpfs'u i umożliwić wyjęcie płytki i włożenie do kolejnej stacji.


IMO zły pomysł. Płyta kosztuje < 1zł.
Bez sensu zatem kazać czekać ludziom na rozpoczęcie egzaminu 20 minut, bo płytka krąży po sali.

Przejście na pendrive jest ciekawym pomysłem na przyszłość.

Cytat:
Jak będę miał czas to kompletnie przebuduję dystrybucje tak aby korzystały z bootowalnego Debiana, na płycie lub pamięci USB


Zachęcamy do wszelkiej kreatywności. Właśnie po to opublikowaliśmy to na GPL.

Nasza wersja systemu jest działającym start-upem. Naprawdę nie wyobrażasz sobie jak wiele drobnych problemów po drodze mieliśmy i ile decyzji powodowało problemy. Jednak wyszliśmy z tego zwycięsko :) - powstał projekt. Jesteśmy w pełni świadomi, że może być dużo lepszy. Najważniejsze jednak na tym etapie było stworzenie czegoś, co działa - nasze testy wskazują, że działa.

Myślę, że część wskazanych przez Ciebie problemów zostanie rozwiązana do czerwca - szczególnie kwestie związane z GUI nauczyciela.

Dziękuję za bardzo cenne komentarze.
Cytować
 
 
+1 #2 Teodor Woźniak 2011-03-26 18:55
Wyniki testów:
GUI nauczyciela:


  • na zakładce "Egzamin" nie mieszczą się wszystkie komponenty przy szerokości 1024px.

  • W polach na treść pytania tabulator powoduje wpisanie tabulatora a nie przejście do następnego pola. Ctrl+Tab przechodzi. IMO powinno być odwrotnie.

  • Nie pasuje mi też zapisywanie XMLi w katalogu programu zamiast wyświetlać normalne okno wybierania katalogu docelowego.

  • Wkurzające okienka potwierdzające, to nie jest potrzebne.
    Na szczęście wszystkie błędy można łatwo poprawić.



Distro serwerowe


  • 88MiB zajętości pamięci RAM po uruchomieniu systemu, KDE naprawdę jest za duże do takiego zastosowania a Debian z działającym Fluxboksem wymaga AFAIR 50MiB.

  • za wolno startuje, da się lepiej, np. gdyby wykorzystać pamięć USB co by zwalniało z tworzenia tmpfs'u. Nie wiem czy to nie jest problem Slax'a, gdyż Debian startuje w minutę.

  • Właściwie to nawet pełne GUI nie jest potrzebne, można zrobić tak jak u studenta tj. jedynie uruchamianie przeglądarki, ambitniejsi nauczyciele skorzystają z wirtualnych terminali. Oczywiście trzeba by zrobić automontowanie dysków USB w celu bezproblemowego załadowania pliku z pytaniami.



Distro studenta:


  • Nie działa, tzn. nie znajduje serwera, mimo że podłączyłem do tej samej (wirtualnej) sieci. Pobieżna analiza wykazała że nie działa serwer DNS (DHCP działa). Czy możliwe aby był zaimplementowan y razem z serwerem egzaminu? Nie wierzę w to.

  • Dobrze że się nie afiszuje ten Slax podpowiedzią jak się dostać na tty6, ale i tak się da (root z hasłem toor).



Samego egzaminu nie testowałem gdyż wierzę filmikom z YouTube że działa, ale dystrybucje pozostawiają wiele do życzenia... Serwer warto odchudzić. Doceniam natomiast że obrazy są małe.

Ciekawe czy sprawdziła by się opcja dla nowoczesnych komputerów z >1GiB RAMu - załadować cały system plików do tmpfs'u i umożliwić wyjęcie płytki i włożenie do kolejnej stacji.
A gdyby dodać obsługę bootowania klientów przez sieć?

W obu dystrybucjach dziwnie stare jądro :>

Testowane przy pomocy VirtualBox OSE.

Jak będę miał czas to kompletnie przebuduję dystrybucje tak aby korzystały z bootowalnego Debiana, na płycie lub pamięci USB.
Cytować
 
 
+1 #1 Teodor Woźniak 2011-03-26 16:46
W imieniu społeczności FLOSS dziękuję za uwolnienie.
Jedyne co mi nie pasuje to że linkujecie do "oficjalneg o", niewolnego JRE. A istnieje przecież OpenJDK...

Chyba pobiorę i przetestuję na maszynie wirtualnej.

Może konkurs informatyczny w szkolę zorganizuję... ;)
Cytować
 

Dodaj komentarz


Kod antysapmowy
Odśwież