Aktywności
Zawody, kurs albo zbiór treningowy i cztery zakładki, w których się je buduje.
Aktywność to jedno miejsce, w którym zadania trafiają do ludzi: zawody, kurs, zbiór treningowy. Wszystko inne w tym panelu albo ją zasila, albo z niej czyta.
Zadania trzyma w seriach, czyli rundach, a seria trzyma nie zadania, tylko podpięcia. Podpięcie to wiersz, który powstaje przy podpinaniu, i siedzi w nim wszystko, co dotyczy tego jednego użycia zadania; samo zadanie zostaje w bibliotece, gdzie może wskazywać na nie kilka aktywności naraz.
Tworzenie
Tworzenie aktywności należy do instalacji, a nie do żadnej aktywności. Nowa
aktywność, Importuj z pliku i Skopiuj na nową edycję wymagają uprawnienia
activity:create, a Server sprawdza je w zakresie całej instalacji: nadanie
w pojedynczej aktywności nie wystarczy, a dostarczana rola manager tego
uprawnienia nie ma. Kto je ma, widzi na liście aktywności wszystkie trzy
przyciski; kto nie ma go nigdzie, nie widzi żadnego, bo panel nie proponuje
przycisku, który odpowiedziałby 403.
Sama lista zostaje w obu przypadkach. Jest zawężona do aktywności, którymi
zarządzasz, i po to właśnie jest, a do prowadzenia ich służą activity:update i
activity:archive. Kto aktywność założy, ten od razu jest w środku, bo przy
zakładaniu dostaje w niej nadanie prowadzącego — zobacz
Zapisy.
Archiwum wczytuje też biblioteka zadań, a tam
activity:create jest potrzebne dopiero wtedy, gdy paczka zawiera
aktywność. Okno mówi to po wczytaniu pliku i zanim cokolwiek zatwierdzisz,
zamiast zapisać zadania i dopiero potem odmówić aktywności, dla której były.
Nowa aktywność pyta o trzy pola i o nic więcej:
- Nazwę;
- Slug, używany w adresach —
AMMPZ-2019; - Typ, wybierany z listy, a nie wpisywany.
Resztę ustawisz już w samej aktywności; na start dostaniesz rozsądne wartości. Gdyby formularz pytał o wszystko, zanim aktywność w ogóle istnieje, byłby to gorszy pierwszy krok.
Slug ustawiasz raz i już go nie zmienisz
Wskazują na niego linki uczestników. Formularz tworzenia mówi to wprost, a pole w zakładce Ustawienia jest od tej chwili zablokowane. Wybieraj go tak, jak wybierasz adres URL, bo tym właśnie jest.
Typ wybierasz z listy, bo to on decyduje, jak aktywność przedstawia swoje
serie — a napis, pod którym nic nie jest zarejestrowane, dostanie to, co akurat
robi domyślna obsługa. Typ rankingu (points albo icpc) to osobne
ustawienie i nie zależy od typu: wybiera, który ranking zostanie narysowany.
Nowa aktywność powstaje już opublikowana. Skoro ją tworzysz, decyzja już zapadła, a pytanie o nią drugi raz byłoby pustą formalnością, a nie zabezpieczeniem. Dlatego lista od razu pokazuje stan wyliczony z dat — Przed startem, Trwa, Zakończona albo Bez terminu, dopóki dat nie ma — serie otwierają się o wyznaczonym czasie, a każdy, kogo zapiszesz, od razu ją zobaczy.
To nie znaczy, że stoi otworem dla wszystkich. Nowa aktywność powstaje zamknięta i ukryta na liście: nikt się do niej sam nie zapisze i nikt jej nie znajdzie, przeglądając listę. Jedno i drugie przestawisz w zakładce Ustawienia, w grupie Widoczność i zapisy.
Cofnij publikację wycofuje to wszystko: żadna runda się nie otworzy, a komu nie wolno jej edytować, temu adres odpowie tak, jakby aktywności w ogóle nie było; na liście zamiast stanu stoi wtedy W przygotowaniu, dopóki nie klikniesz Opublikuj. Jedyna aktywność, która naprawdę powstaje nieopublikowana, to kopia — tej nikt nie pisał od zera.
Czas jest zapisywany w UTC, wpisywany w strefie aktywności i pokazywany w twojej
Aktywność ma strefę czasową. To zegar, w którym wpisuje prowadzący — prowadzący z innego kraju ustawi zawody na 18:00 czasu zawodów i nie musi nic przeliczać, a nazwa strefy stoi przy polu. Zapisywany jest UTC.
Czytasz na własnym zegarze. Każda data na ekranie jest w strefie, w której jest twoja przeglądarka, więc uczestnik za granicą nie przelicza niczego, żeby wiedzieć, czy runda już się zaczęła.
Najedź na godzinę, żeby zobaczyć obie
Godzina otwiera dymek z obydwoma zegarami — najpierw zegar aktywności, potem twój — każdy z przesunięciem i identyfikatorem IANA:
21.10.2026 00:00 UTC+2 (Europe/Warsaw)
20.10.2026 18:00 UTC−4 (America/New_York)Otwiera się na najechanie i na klawiaturę, więc nie chowa się za myszą. Gdy twoja strefa jest strefą aktywności — a tak ma większość uczestników — dymek ma jedną linię, a data nie nosi przesunięcia.
Gdy strefy się różnią, przesunięcie stoi też przy dacie, żeby godzina spoza zegara zawodów nigdy nie wyglądała jak z niego.
Cztery zakładki
Otwarta zakładka jest w adresie, więc odświeżenie strony, zapisany link i link, który wyślesz, trafią tam, gdzie byłeś.
Serie i zadania
Rundy i to, co jest do nich podpięte. Edytujesz jedno i drugie naraz, bo seria bez zadań nie jest jeszcze rundą. Zobacz Serie i Bibliotekę zadań.
Ustawienia
Wszystko, czym aktywność jest skonfigurowana:
| Grupa | Co w niej jest |
|---|---|
| Tożsamość | nazwa, slug (zablokowany), typ, typ rankingu, strefa czasowa |
| kto widzi pliki dołożone do zgłoszenia — jeden wiersz na każdy plik dokładany przez Runnera, każdy tylko prowadzący albo uczestnik | |
| Terminy | początek i koniec. Zostaw oba puste, a aktywność obejmuje swoje serie: najwcześniejszy start i najpóźniejszy koniec |
| Moduły | pytania i ogłoszenia. Wyłączony moduł znika z paska uczestnika w całości |
| czy zadania zakończonej serii pozostają do czytania — wyłączone znaczy, że runda jest skończona, a nie tajna | |
| Widoczność i zapisy | kto widzi punkty i ranking, kto może dołączyć, czy aktywność jest ukryta na liście, czy wiersz grupy wymienia jej skład, hasło zapisu i link do rozdania oraz role, które daje zapisanie się — osobna lista dla uczestników i dla prowadzących, a pusta oznacza rolę dostarczoną z produktem |
| Które Runnery oceniają tę aktywność | tagi decydujące o tym, jakie maszyny biorą jej pracę — zobacz Runnery |
| Limity pilnowane przez Server | maksymalny rozmiar, plików na zgłoszenie, zgłoszeń na zadanie |
Ostatnia karta nazywa się tak, jak działa: te trzy wartości są kolumnami aktywności i Server sprawdza je przy każdym wysłaniu pliku. Czasu i pamięci tam nie ma. Poznasz je dopiero wtedy, gdy rozwiązanie się wykona, więc należą do zadania i ustawia się je w paczce.
Dokumenty
Trzy dokumenty, które aktywność może publikować, każdy w tylu językach, ile napiszesz:
| Rodzaj | Kto to czyta |
|---|---|
| strona dla niezapisanych | ktoś spoza aktywności, kto ogląda ją z zewnątrz |
| strona dla uczestników | ktoś, kto jest w środku |
| regulamin | strona z regulaminem |
To ten sam edytor, w którym instalacja publikuje własne dokumenty, i działa tak samo: publikujesz, wycofujesz, a każdy rodzaj ma własną historię. Język bez własnego tekstu wraca do domyślnego. Aktywność ma regulamin wtedy i tylko wtedy, gdy jest on opublikowany — nie ma osobnego przełącznika.
Uczestnik, który wchodzi w aktywność, trafia na dokument strona dla uczestników, a gdy nikt go nie opublikował — na listę zadań.
Uczestnicy
Kto jest w środku i co może — jedna czynność, nie dwie. Zobacz Zapisy i Grupy.
Archiwizacja i usuwanie
Archiwizacja to czynność zwyczajna. Zarchiwizowaną aktywność nadal można czytać, ale nie przyjmuje ona nic nowego — żadnych zgłoszeń, pytań ani zmian — i zachowuje ranking oraz historię, po które ludzie wracają. Przywróć ją, gdy chcesz dalej edytować.
Usunięcie niszczy wszystko, co jest w środku, a przy aktywności, która ma
uczestników, jest wprost odmawiane; przycisk mówi to od razu, zamiast zawieść po
kliknięciu. Potrzebujesz do niego activity:delete, którego celowo nie ma w
dostarczanej roli manager.