Настанови адміністратору ejudge

Зміст

  1. Передмова
  2. Створення переліку учасників з таблиці CSV
  3. Створення змагання з використанням .../cgi-bin/serve-control
  4. Створення змагання з панелі адміністрування
  5. Створення завдання з панелі адміністрування
  6. Долучення завдання до змагання
  7. Призначення нерівномірного розподілу балів за тести
  8. Встановлення тривалості змагання
  9. Встановлення або зміна обмежень на подання
  10. Заборона зміни пароля учасником
  11. Запис учасників на змагання через .../cgi-bin/serve-control
  12. Запис учасників на змагання через .../cgi-bin/master
  13. Реєстрація учасників змагання
  14. Породження паролів учасників змагання
  15. Обмеження доступу за ІР-адресою
  16. Контроль за перебігом змагання

1. Передмова

В настановах описано роботу адміністратора системи ejudge щодо організації змагання (олімпіади, турніру, іспиту) з поданням електронних документів у режимі online і перевірки програм. Опис розраховано на працівника без досвіду роботи з ejudge. Описано не усі можливості ситеми, але опис дій, необхідних для організації проведення ІІІ (міського) етапу олімпіад з інформатики й інформаційних технологій є вичерпним. Вказівки щодо конфігурування викладено у тому порядку, в якому можна працювати, хоча деякі етапи можна поміняти місцями.

2. Створення переліку учасників з таблиці CSV

Далі описано спосіб створення переліку учасників, найзручніший для організаторів очних змагань в умовах, коли остаточний склад учасників формують після початку змагання. Саме так проходять у місті Києві учнівські олімпіади з інформатики й інформаційних технологій: на місця відсутніх за хворобою чи іншими обставинами попередньо заявлених учасників приходять інші учні безпосередньо на початок проведення олімпіади. Усіх їх розсаджують на вільні місця вже після того, як більшість учасників розпочнуть свою роботу. Займатися у цей час адмініструванням турніру означає затягувати проведення олімпіади. За таких обставин доречно:

  1. Зайти на головну сторінку ...\serve-control і натиснути кнопку User Editor.

    Тут і далі трикрапкою позначено адресу сервера Ejudge (для ІІІ етапу Всеукраїнської учнівської олімпіади з інформатики у місті Києві це ejudge.kubg.edu.ua).

  2. Перейти за посиланням [User creation operations] (операції створення користувача), розташованим унизу вікна.

  3. Перейти за посиланням [Create users from a CSV table] (створити користувачів з таблиці CSV), розташованим унизу вікна.

  4. У полі Charset з випадного списку вказати кодування (наприклад, utf-8).

    Натиснувши кнопку Вибрати файл, у вікні діалогу операційної системи вибрати таблицю CSV — текстовий файл, що містить:

    • у першому рядку — назви полів для кожного із записів учасників;
    • у кожному з наступних рядків — по запису щодо одного учасника.

    Наприклад, файл з таким наповненням:

     
    login;email;password;cnts_password;name
    k001;email@gmail.com;register_pass;pass_for_using_in_contest;FullName

    містить дані про одного учасника з такими значеннями полів:

    • login — обліковий запис — k001;
    • email — електронна пошта учасника — email@gmail.com;
    • password — пароль реєстрації — register_pass;
    • cnts_password — пароль для участі у змаганнях — pass_for_using_in_contest;
    • name — повне ім'я — FullName;

    Значення полів можуть бути порожніми. Випадкові паролі для участі у змаганнях можна породити перед кожним новим змаганням. Зазвичай за розділовий знак вибирають крапку з комою «;». У разі потреби можна вказати інший знак у полі Field separator (роздільник полів).

  5. Після зробленого вибору натиснути кнопку Create users (створити користувачів).

Якщо все буде зроблено правильно, то у результаті виконання описаних дій буде відображено перелік усіх зареєстрованих учасників. Інакше (наприклад, спробі повторно зареєструвати учасника з тим самим обліковим записом) буде відображено відповідне повідомлення.

3. Створення змагання з використанням .../cgi-bin/serve-control

  1. З головної сторінки .../cgi-bin/serve-control перейти за посиланням Create new contest.

  2. Призначити номер змагання Contest number, виставивши мітку:

    вибрати шаблон конкурсу Contest template, виставивши мітку:

    і натиснути кнопку Create contest (Створити змагання).

  3. Задати властивості змагання, переходячи на відповідні вкладення. Нижче подано ілюстрації для змагання, в якому учасники надсилають на перевірку не коди програм, а (бінарні) файли, які не потребують компіляції, а будуть перевірені вручну.













4. Створення змагання з панелі адміністрування

  1. Зайти на сторінку .../admin/panel/, ввести обліковий запис і пароль, натиснути кнопку Увійти.

  2. Увійшовши у панель керування, перейти за посиланням Змагання в системі ejudge.

  3. При створенні нового змагання Заповнити поля Назва, Назва англійською і вибрати тип змагання:

    Примітка. При створення змагання з використанням .../cgi-bin/serve-control вид змагання можна було задати, перебуваючи на вкладенні Global settings (serve.cfg) — див. ілюстрацію вище.

    Натиснути кнопку Додати змагання.

  4. Для редагування наявного змагання потрібно перейти за посиланням Редагувати змагання — див. крайній правий стовпчик таблиці на малюнку вище.

5. Створення завдання з панелі адміністрування

  1. Перебуваючи на панелі адміністрування, перейти за посиланням Додати завдання.

  2. Перейти за посиланням Додати завдання, вказати параметри тестування (на малюнках знизу подано заповнення полів для завдання 1.1. Прямокутник відбірково-тренувальних зборів команди міста Києва) і натиснути кнопку Додати завдання внизу сторінки.

    Прийнятним є створення завдання без оприлюднення умов завдань саме через сервер. Це доцільно в умовах, коли існує загроза виходу з ладу мережі чи сервера з Ejudge при відсутності дублювання серверів мережі та Ejudge. У цьому випадку умови поширюють на початку проведення олімпіади (на папері або електронною копією через мережеву теку), що гарантує наявність умови на місці учасника незалежно від працездатності Ejudge і можливість завершити змагання навіть при втраті можливості використо­вувати Ejudge.

6. Долучення завдання до змагання

Пебуваючи на вкладенні Каталоги завдань, перейти за посиланням на назві завдання

і вибрати змагання з випадного списку.

7. Призначення нерівномірного розподілу балів тести

  1. З головної сторінки .../cgi-bin/serve-control перейти за посиланням Settings.

  2. Перейти на вкладення Problems (serve.cfg) (завдання) і натиснути кнопку Show details (показати деталі) для відповідного завдання.

  3. У розділі Scoring (оцінювання) клацнути на словах Test scores for tests (бали за тести).

  4. У вікні діалогу Scoring (оцінювання) виставити бали за:

    • Score for full solution — бали за повне розв'язання;
    • Test scores for tests — бали за тести.

    і натиснути кнопку Save.

  5. Натиснути кнопку COMMIT changes! і отримати повідомлення Contest is saved successfully. Внизу цієї самої сторінки натиснути кнопку To the top (догори).

8. Встановлення тривалості змагання

  1. Увійти у систему зі сторінки .../cgi-bin/master з указанням ID змагання і отримати такий вид вікна.

    Посилання (на зеленому тлі) мають таке призначення:

    • Refresh — оновити сторінку;
    • Regular users — перегляд даних про зареєстрованих користувачів;
    • Online users — перегляд даних про online користувачів;
    • Standings — поточні результати;
    • Testing queue — перегляд черги на тестування;
    • View — перегляд даних;
    • Dump data — скидання даних;
    • Actions — дії.

  2. Ввести значення Planned start time (запланований час початку) у форматі yyyy/mm/dd hh:mm:ss (наприклад, 2019/09/26 11:05:19) і натиснути кнопку Reshedule (оновити розклад).

  3. При потребі змінити значення Duration (тривалість) у форматі h:mm:ss (наприклад, 5:00:00) і натиснути кнопку Chanhe duration (змінити тривалість). При введенні 0 тривалість змагання необмежено. Це доцільно робити при проведенні тренування взаємодії з системою.

9. Встановлення або зміна обмежень на подання
(верхня межа кількості, об'єм надісланого)

  1. З головної сторінки .../cgi-bin/serve-control перейти за посиланням Settings (налаштування).

  2. Перейти на вкладення Problems (serve.cfg) (завдання) і натиснути кнопку Show details (показати деталі).

  3. У розділі Submission (надсилання) клацнути на напису Max submissions for the problem (максимум надсилань на завдання — виділено блакитним кольором).

  4. У вікні діалогу Submission (головні властивості) заповнити відповідні поля і натиснути кнопку Save.

  5. Натиснути кнопку COMMIT changes! і отримати повідомлення Contest is saved successfully.

    Внизу цієї самої сторінки натиснути кнопку To the top (догори).

Примітка. Якщо у полі Submit is binary? (наліслано двійковий файл) записано Yes, програму не компілюють.

Об'єм надісланого можна змінити, перейшовши з головної сторінки .../cgi-bin/serve-control за посиланням Settings (налаштування)

і далі на вкладення Global settings і Contestant quotas.

Після змін потрібно натиснути кнопку COMMIT changes! і отримати повідомлення Contest is saved successfully.

10. Заборона зміни пароля учасником

  1. З головної сторінки .../cgi-bin/serve-control перейти за посиланням Settings (налаш­тування).

  2. На вкладенні General settings (contest.xml) (загальні налаштування) у розділі Contest flags (прапорці змагання) клацнути на Disable password change? (унеможливити зміну пароля? — виділено блакитним кольором на малюнку нижче).

  3. У вікні діалогу Contest Options (параметри змагання) виставити потрібну мітку й натиснути кнопку Save (зберегти).

  4. Натиснути кнопку COMMIT changes! і отримати повідомлення Contest is saved successfully.

    Внизу цієї самої сторінки натиснути кнопку To the top (догори).

11. Запис учасників на змагання через .../cgi-bin/serve-control

Примітка. Ejudge надає можливість доволити учасникам самостійно реєструватися у режимі online на участь у змаганні. Такий варіант не актуальний при проведенні ІІІ етапу олімпіад у місті Києві, тому його опису тут не подано.

  1. Увійти у систему зі сторінки .../cgi-bin/serve-control і натиснути кнопку User Editor.

  2. При потребі збільшити кількість облікових записів, які відображено на сторінці (випадний список внизу таблиці — див. малюнок нижче). У переліку користувачів вибрати потрібних, поставивши мітки у першому стовпчику таблиці зліва

    і перейти за посиланням [Registration operations] (реєстраційні дії) під таблицею.

  3. Заповнити поле Contest ID номером змагання (на ілюстрації нижче 3) і натиснути кнопку Register for another contest (зареєструвати для іншого змагання).

  4. Отримавши вікно такого вигляду,

    натиснути на кнопку Register!

12. Запис учасників на змагання через .../cgi-bin/master

  1. Увійти у систему зі сторінки .../cgi-bin/master з указанням ID змагання і перейти за посиланням Regular users.

  2. Виставити мітку Show Pending/Rejected і помітити учасників.

  3. Вибрати ОК для випадного списку і натиснути кнопку Set status.

13. Реєстрація учасників змагання

Примітка. Реєстрація учасників змагання адміністратором — обов'язковий крок після запису учасників перед проведенням змагання.

  1. Увійти у систему зі сторінки .../cgi-bin/serve-control і натиснути кнопку User Editor.

  2. Заповнити поле Jump to contest і натиснути кнопку з такою самою назвою.

  3. Помітити незареєстрованих учасників і перейти за посиланням [Status operations].

  4. Вибрати ОК для випадного списку Status і натиснути кнопку Сhange status.

  5. Натиснути кнопку Сhange!

  6. Пересвідчитися, що статус змінено на OK.

14. Породження паролів учасників змагання

  1. Увійти у систему зі сторінки .../cgi-bin/master з указанням ID змагання і перейти за посиланням Action / Generate registration passwords (Дії / Породити паролі реєстрації).

  2. Підтвердити намір, натиснувши кнопку Generate random registration passwords (породити випадкові паролі реєстрації).

  3. Отримати результат,

    який можна переглянути і пізніше, перейшовши з головної сторінки .../cgi-bin/master за посиланням View / Registration passwords.

15. Обмеження доступу за ІР-адресою

  1. Увійти у систему зі сторінки .../cgi-bin/serve-control і перейти за посиланням Settings (Налаштування) відповідного змагання.

  2. Перейти на вкладення General Settings (contest.xml) / IP-adress access restrictions (Загальні налаштування contest.xml / Обмеження доступу за IP-адресою).

  3. У рядку Access to contest participation (Доступ до участі у змаганні) Перейти за посиланням Edit (Редагувати).

  4. Виставити як усталено відмову у доступі.

  5. Натиснувши кнопку з написом Add (додати), виставити доступ для адрес з певним префіксом. Малюнок нижче показує результат для роботи у навчальному корпусі Київського університету імені Бориса Грінченка по вул. Маршала Тимошенка 13 Б станом на 1 березня 2020 року. Всередині вказаного приміщення сталим префіксом IP-адреси є  10.1, тобто допустимі адреси мають вигляд 10.1.*.*, де * — число у діапазоні 0..255. У загальному випадку за відповідною інформацією потрібно звертатися до системного адміністратора.

  6. Перейти за посиланням Back і отримати вікно такого вигляду.

  7. Зберегти налаштування, натиснувши кнопку з написом COMMIT changes! (Зафіксувати зміни!) і отримати повідомлення Contest is saved successfully (Змагання успішно збережено). Внизу поточної сторінки натиснути кнопку To the top (догори).

16. Контроль за перебігом змагання