Constructor Schedule: 7 квітня 2026

07 квітня, 2026

Огляд

У цьому випуску ми додали такі функції:

  • Налаштовувана заздалегідь визначена тривалість іспиту
  • Блокування полів викладача на рівні полів для вікон самообслуговування
  • Видимість рішень на основі ролей
  • Покращений звіт розкладу іспитів
  • Constructor University API: розділення багатомодульних іспитів та зарахування студентів, що перескладають
  • Навігаційний мікрофронтенд на Vue.js для Constructor Cloud
  • CUB API: двигун узгодженості організаційних даних

What's new

Configurable predefined exam durations

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

Instructor field-level lock for self-service windows

Коли адміністратори визначають часовий інтервал, що дозволяє викладачам виконувати обмежені правки, поля основних даних установи тепер автоматично блокуються. Під час вікна самообслуговування викладачі не можуть змінювати структурні поля, такі як Тип курсу, Кількість лекцій, Факультет, Програма, Викладачі, Grade, Section або Кампус. Дублювання секцій, видалення та вибір рядків також вимкнені. Система застосовує ці обмеження як на frontend, так і на рівні API, а заблоковані операції фіксуються в журналах для аудиту. Це запобігає випадковим змінам академічної структури, але водночас дозволяє викладачам керувати дозволеними полями.

Role-based solution visibility

Сторінка рішень тепер обмежує видимість залежно від статусу публікації та ролі користувача. Користувачі без прав адміністратора бачать у випадаючому списку лише опубліковані рішення, що запобігає плутанині через чернетки або незавершені розклади. Якщо жодне рішення не опубліковано, випадачий список відображається порожнім із зрозумілим повідомленням. Користувачі Admin та Super Admin зберігають повний доступ до всіх рішень. Це обмеження також застосовується на сервері, щоб заборонити доступ через прямі URL або API-запити.

Enhanced examination schedule report

Загальний звіт розкладу іспитів тепер включає чотири покращення. Іспити в межах кожного кампусу та слота відсортовані за тривалістю за зростанням для зручнішого перегляду. Заголовки слотів відображають весь часовий діапазон замість тільки часу початку. У кожному рядку іспиту показано тривалість у хвилинах та обчислений індивідуальний час початку та завершення для іспиту. Онлайн-іспити тепер включені до звіту з позначенням аудиторії Online Exam, що дозволяє їх легше відрізняти від іспитів у приміщеннях.

Constructor University API multi-module exam separation and retaker enrollment

Інтеграція Constructor University API тепер підтримує два основні вдосконалення. По-перше, курси з кількома письмовими модулями імпортуються як окремі записи планування іспитів, і кожен запис зберігає власний список зарахованих слухачів. Це вирішує проблему відсутніх іспитів для курсів, наприклад CH-212, де Модуль A і Модуль B потребують незалежного планування. По-друге, синхронізація зарахувань тепер захоплює студентів-перескладувачів із попередніх семестрів, починаючи з осені 2023 року, що відновлює приблизно 600 раніше відсутніх студентів. Статус зарахування студентів перевіряється за допомогою сутності StudiesSemesterCounter для ідентифікації активних перескладувачів та тих, хто вийшов зі студій.

Vue.js navigation micro frontend for Constructor Cloud

Schedule Cloud Fragment тепер включає виділений навігаційний мікро frontend на Vue.js, який відповідає за інтерфейс навігації для платформи Constructor Cloud. Компонент дотримується специфікацій дизайну у Figma і забезпечує ієрархію навігації для Course Periods, Exam Periods, Planning та Settings. Він читає контекст терміну з LocalStorage, адаптується до різних середовищ розгортання та підтримує глибокі посилання з навігацією історії браузера.

CUB API data consistency engine

Для інтеграції CUB API додано новий двигун узгодженості організаційних даних і автоматичного відкату. Двигун автоматично виявляє та вирішує невідповідності даних під час синхронізації, включно з логікою навігації для відображення типу іспиту та відповідності тривалостей. Це допомагає забезпечити більш надійну передачу даних між CampusNet і Constructor Schedule.

Fixed issues

Ми виправили такі проблеми:

  • Turkish report language: звіти Downloaded Data Fetch та Data Save більше не відображаються англійською, коли веб-мова встановлена на Turkish. Tracking IDs: SCH-1587
  • Cloud sync and notification buttons: кнопки сповіщень та синхронізації тепер видимі в оновленому дизайні cloud. Tracking IDs: SCH-4172
  • Selected term after refresh: обраний термін тепер відображається правильно після оновлення сторінки. Tracking IDs: SCH-4185
  • Term selection field input: поле вибору терміну більше не дозволяє довільне введення тексту та тепер підтримує лише вибір. Tracking IDs: SCH-4188
  • Period panel navigation: навігація до періодів із панелі періодів тепер працює правильно. Tracking IDs: SCH-4271
  • Missing Course and Event periods: періоди Course та Event тепер коректно відображаються на сторінці терміну. Tracking IDs: SCH-4272
  • Help and report links: кнопки Help Guide та Report a Problem тепер відкривають правильні сторінки. Tracking IDs: SCH-4288
  • Copy area validation: валідація порожнього простору в області копіювання тепер працює правильно. Tracking IDs: SCH-4315
  • Classroom icon styling: іконка аудиторії тепер відповідає специфікації дизайну у Figma. Tracking IDs: SCH-4318
  • White screen in course term: перегляд терміну курсу більше не показує білий екран при відкритті курсів. Tracking IDs: SCH-4319
  • Synchronization date display: дата синхронізації тепер відображається в області синхронізації. Tracking IDs: SCH-4321
  • Year sorting on the synchronization screen: поле Year тепер сортується правильно. Tracking IDs: SCH-4328
  • Missing class hours in the solution area: години занять тепер правильно відображаються в області рішень.
  • Synchronization area errors: помилки в області синхронізації в оновленому дизайні виправлено. Tracking IDs: SCH-4358
  • User management filters: фільтри на сторінці User management тепер правильно очищуються. Tracking IDs: SCH-4378
  • Term creation save button: кнопка Save тепер правильно відображається в модальному вікні створення терміну. Tracking IDs: SCH-4409
  • Negative values in bulk update fields: сторінка Instructors більше не приймає від’ємні значення в полях пакетного оновлення. Tracking IDs: SCH-1612
  • Planning page layout: області сторінки планування тепер відповідають оновленому дизайну. Tracking IDs: SCH-4163
  • Unnecessary scrolling: зайве прокручування на уражених сторінках було видалено. Tracking IDs: SCH-4167
  • Switching to a newly added term: користувачі тепер можуть переключатися на щойно доданий термін. Tracking IDs: SCH-4170
  • Import download button: кнопка завантаження в розділі Import тепер працює правильно. Tracking IDs: SCH-4410
  • Campus updates in the solution section: оновлення кампусів тепер коректно відображаються в розділі рішень.
  • Events in Event Calendar: події тепер коректно відображаються в Event Calendar. Tracking IDs: SCH-4444
  • Notification icon updates: іконка сповіщень тепер оновлюється при надходженні нових сповіщень. Tracking IDs: SCH-4445
  • Solution page translations: виправлено проблеми з перекладом на сторінці рішень. Tracking IDs: SCH-4481
  • Optimization distribution phase: фаза розподілу тепер коректно прогресує під час оптимізації.
  • Instructor filter in planning: фільтри викладачів на сторінці планування тепер працюють правильно. Tracking IDs: SCH-4506
  • Exam period filter data: фільтри періоду іспитів тепер завантажують дані правильно. Tracking IDs: SCH-4507
  • Exam Schedule add icon: плюс-іконка в Exam Schedule тепер правильно реагує. Tracking IDs: SCH-4511
  • Weekly schedule creation: помилки під час створення щотижневого розкладу були виправлені. Tracking IDs: SCH-4541
  • Combined exam duration display: тривалість іспиту тепер правильно відображається, коли іспити об’єднуються. Tracking IDs: SCH-4542
  • Combined exam campus display: інформація про кампус тепер коректно відображається, коли іспити об’єднуються. Tracking IDs: SCH-4543
  • Distribution counter outside GMT+3: лічильник розподілу тепер працює коректно в часових зонах за межами GMT+3. Tracking IDs: SCH-4544
  • Combined course campus and program values: значення кампусу та програми тепер правильно відображаються при об’єднанні курсів. Tracking IDs: SCH-4557
  • Building field clearing: поле введення будівлі тепер очищується правильно. Tracking IDs: SCH-4558
  • Pop-up messages: спливаючі діалоги тепер показують правильні повідомлення. Tracking IDs: SCH-4569
  • Predefined duration dropdown: випадачий список тривалостей іспиту тепер коректно відображається при виборі попередньо визначених тривалостей. Tracking IDs: SCH-4688
  • Late lesson in the exam solution: виправлено помилки при додаванні запізнілого заняття до рішення іспиту. Tracking IDs: SCH-4689
  • Adding courses during the exam period: курси тепер можна додавати до рішення іспиту під час іспитового періоду. Tracking IDs: SCH-4691
  • Deleting predefined durations in use: система більше не дозволяє видаляти значення попередньо визначених тривалостей, які зараз використовуються. Tracking IDs: SCH-4692
  • Predefined duration warning message: попереджувальне повідомлення тепер відображається правильно, коли користувач намагається видалити попередньо визначену тривалість, що використовується. Tracking IDs: SCH-4695
  • Exam duration during the course term: тривалість іспиту тепер правильно відображається протягом терміну курсу. Tracking IDs: SCH-4694