Przed zapisami - iiuni/projektzapisy GitHub Wiki

Przygotowanie przed semestrem

W tej notatce zebrane są opisy wykonywania poszczególnych czynności administracyjnych.

  1. Import planu
  2. Import danych studentów z USOS
  3. Generowanie czasów T0
  4. Wymiana certyfikatu SSL na nowy

Import planu

Aby wykonać import planu należy uruchomić skrypt:

python manage.py import_schedule scheduler_url assignments_id schedule_id

Te id to odpowiednie identyfikatory ze scheduler-a do przydziałów i ukończonego planu. Skrypt jest tutaj: apps/schedulersync/management/commands/import_schedule.py

Zaleca się najpierw uruchomienie skryptu bez zapisywania danych poprzez użycie opcji --dry-run.

Prawdopodobnie w planie zajęć będą prowadzący oraz zajęcia, których skrypt nie będzie umiał zmapować do danych w Systemie Zapisów. Przy uruchomieniu z flagą --interactive można pomóc mu to mapowanie stworzyć. W trybie nieinteraktywnym skrypt będzie mapował takie obiekty do None (i poinformuje o tym na Slacku, jeśli zostanie użyta flaga --slack).

Więcej pomocy: ./manage.py import_schedule -h

Import danych studentów z USOS

Stara metoda

Przed rozpoczęciem semestru trzeba zaimportować dane o studentach: uaktualnić punkty ECTS, informacje o zaliczonych L-kach oraz dodać nowych studentów.

Administrator USOS dostarcza plik csv w formacie:

indeks|imie|nazwisko|email|bk_email|ects|program|etap|aisdL|numerycznaL|dyskretnaL

Wystarczy tylko zmodyfikować ścieżkę do pliku csv w skrypcie usosimport (zmienna IMPORT_FILE) oraz uruchomić skrypt komendą ./manage.py runscript usosimport. Aby uruchomić skrypt bez zapisywania zmian, trzeba zmodyfikować ustawić zmienną DEBUG=TRUE w skrypcie.

Skrypt najpierw zdezaktywuje wszystkich studentów, a następnie uaktualni informacje o każdym studencie z pliku oraz ponownie go aktywuje. Jeśli studenta nie było w SZ, a był na liście, utworzone zostanie dla niego konto.

Nowa metoda

Administrator USOS dysponuje API w systemie zapisów, dzięki któremu może zaktualizować dane studentów bez przekazywania żadnych plików.

Generowanie czasów otwarcia

Czasy otwarcia są kluczowym elementem logiki zapisów. Każdy student ma wyliczony swój czas T0, który zależy od czasu otwarcia zapisów w danym semestrze, swoich punktów ECTS, udziału w ocenie zajęć i ewentualnego bonusu.

Są też specyficzne czasy otwarcia łączące studenta i grupę zajęciową. Różnią się one o 1-3 dni od T0 studenta w zależności od liczby punktów przeznaczonej przez studenta na dany przedmiot.

Czasy otwarcia wyliczamy zatem po tym, gdy ustalimy czas otwarcia zapisów w semestrze (to jest nieco błędna nazwa — jest to w rzeczywistości moment, w którym zapisy otwierają się ostatnim studentom). Następnie w panelu admina, na liście semestrów wybieramy aktualny semestr i uruchamiamy akcję „Oblicz czasy otwarcia zapisów”.

Ilustracja

Wymiana certyfikatu SSL na nowy

Informacja tutaj.