Dokumentacja AlgoJudge0.2

Zarządzanie

Trzynaście obszarów i to, dlaczego widzisz tylko niektóre z nich.

Panel jest pod adresem /manager. Jego ekran startowy wymienia to, co możesz otworzyć, i nic poza tym: wszystko, czym możesz tu zarządzać — czego nie możesz, tego nie ma na liście.

Nie jest to ozdoba: nawigacja, ekran startowy i kontrola dostępu przy każdym adresie czytają tę samą tabelę, więc kafelek nie zaproponuje ci ekranu, który potem odpowie 403, a ekran, do którego masz dostęp, nie zniknie z menu.

Trzynaście obszarów

Obszar otworzy ci którekolwiek jedno z uprawnień w ostatniej kolumnie.

ObszarDo czego służyWpuszcza którekolwiek z nich
UżytkownicyKonta, hurtowe tworzenie loginów tymczasowych, blokowanie i notatki.user:read:all
NadaniaKto co może — w systemie i w każdej aktywności.grant:read:all
RoleZestawy, które wiąże nadanie. Zmiana jednej dociera do wszystkich, którzy ją mają.role:read, role:manage:activity, grant:update
ZadaniaBiblioteka: treści, załączniki, paczki i wersje.problem:read:own, problem:read:all
AktywnościZawody i kursy: serie, podpięcia zadań, terminy i zapisy.activity:create, activity:update, activity:archive
ZgłoszeniaWszystkie zgłoszenia, ich kod, próby oceny i ponowna ocena.submission:read:all
Pytania i ogłoszeniaOdpowiadanie, publikowanie odpowiedzi dla wszystkich, ogłoszenia.question:read:all, question:answer
WydrukiKolejka kodu, który ktoś poprosił wydrukować.printout:manage
RunneryMaszyny, które oceniają: zatwierdzanie, tagi i ich raporty.runner:read
InstancjaJak nazywa się ta instalacja, jaki znak pokazuje i jakie dokumenty publikuje.instance:update
Logowania zewnętrzneDostawcy tożsamości, uprawnienia nadawane przez ich claimy i konta zgłoszone do usunięcia.provider:manage
Platformy LTIPlatformy kursowe, które mogą otwierać aktywności swoim studentom.provider:manage
Zasoby zewnętrzneSkąd ta instalacja może pobierać dokumenty i czy w ogóle może.instance:update

Jeśli nie masz żadnego z nich, panel nie ma dla ciebie nic: nie pojawi się ani wpis w nawigacji, ani ekran startowy.

Co znaczy tutaj „masz uprawnienie”

Obszar zobaczysz, gdy masz jego uprawnienie gdziekolwiek — wystarczy w jednej aktywności. Kto prowadzi jeden kurs, i tak potrzebuje panelu, w którym ten kurs się znajduje.

Jedynym wyjątkiem są Użytkownicy — ten obszar pyta o swoje uprawnienie na poziomie całej instalacji. Jego uprawnienie, user:read:all, jest w dostarczanej roli manager, żeby wyszukiwarki przy zapisach i uprawnieniach miały kogo proponować; liczone jak pozostałe, kafelek pokazałby się każdemu prowadzącemu, a lista za nim odmówiłaby.

Same ekrany są surowsze. Wewnątrz aktywności możesz nadać to, co masz w tej aktywności, a to nie jest ten sam zestaw co twoje prawa w całej instalacji. Zobacz Uprawnienia i nadania.

Gdzie kończy się rola prowadzącego

Sześć z trzynastu obszarów dotyczy instalacji, a nie pojedynczej aktywności: Użytkownicy, Runnery, Instancja, Logowania zewnętrzne, Platformy LTI i Zasoby zewnętrzne. Razem potrzebują czterech uprawnień — user:read:all, runner:read, instance:update i provider:manage. Trzech z tych czterech nie ma w dostarczanej roli manager, a user:read:all jest w niej tylko po to, żeby prowadzący mógł wskazać osobę — sam obszar Użytkownicy pyta o nie na poziomie instalacji. Prowadzenie aktywności to co innego niż prowadzenie instalacji, w której ta aktywność działa.

Role leżą po obu stronach tej granicy. Pisanie własnych ról aktywności to role:manage:activity — uprawnienie z nadania na tę aktywność, które niesie dostarczana rola manager; dzięki niemu prowadzący poprawia uprawnienia własnych uczestników. Pisanie ról instalacji to role:manage, uprawnienie systemowe i administratorskie: rolę wspólną dla instalacji widać z każdej aktywności, więc jej zmiana sięga całej instalacji.

Wydruki to obszar pomyślany tak, by dawać go osobno. Nadanie, które niesie tylko printout:manage, otwiera właśnie jego i zamyka wszystkie pozostałe — tak powierza się to jedno zadanie komuś, kto stoi przy drukarce. Cenę opisuje strona tego obszaru: klucz czyni z tej osoby prowadzącego w danej aktywności, a prowadzący nie wchodzą do jej rankingu.

Aktualizacje i ich wyłączanie

Każdy ekran panelu ma u góry te same dwie kontrolki: przycisk z napisem Aktualizacje włączone albo Aktualizacje wyłączone, oraz Odśwież.

Zostawiony w spokoju panel sam się aktualizuje: nadchodzące pytanie, ocenione zgłoszenie, ktoś, kto się zapisał, nowy Runner — wszystko to trafia na listę, którą właśnie czytasz, bez żadnego Twojego ruchu. Wyłączenie aktualizacji zatrzymuje to dla całego panelu — każdego ekranu, aż do ponownego włączenia — więc lista, którą przeglądasz, stoi. Pojawia się wtedy pomarańczowe Czekają zmiany: mówi, czego dotyczą, i celowo nie mówi ilu, bo jedno ponowne ocenienie to kilka wiadomości o jednym zgłoszeniu.

Ponowne włączenie wczytuje wszystko na nowo. Tak samo Odśwież, bez włączania aktualizacji. A gdy otwarte jest okno dialogowe, panel stoi sam z siebie, niezależnie od przełącznika.

To nie jest wstrzymanie i wznowienie rundy

Wstrzymanie rundy to inna kontrolka, na ekranie samej aktywności, i ono zatrzymuje zawody: runda nie przyjmuje zgłoszeń, a jej zegar stoi. Ten przełącznik nie zmienia niczego, co widzi ktokolwiek inny — dotyczy Twojego ekranu, nie zawodów.

A jest jeszcze trzeci czytelnik. Instalacji AlgoJudge, kopii zapasowych, aktualizacji i odzyskiwania po awarii nie robi się z tego panelu w ogóle — to Instalacja i utrzymanie.

Na tej stronie