Constructor Schedule: 7 квітня, 2026

07 квітня, 2026

Overview

У цьому релізі ми додали такі функції:

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

What's new

Configurable predefined exam durations

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

Instructor field-level lock for self-service windows

Коли адміністратори визначають часовий інтервал, який дозволяє викладачам виконувати обмежені редагування, поля основних даних закладу тепер автоматично блокуются. Під час вікна самообслуговування викладачі не можуть змінювати структурні поля, такі як Course Type, Lecture Count, Faculty, Program, Instructors, Grade, Section або Campus. Дублювання секцій, видалення секцій та вибір рядків також відключені. Система застосовує ці обмеження як на 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 тепер містить спеціальний мікрофронтенд навігації на Vue.js, який обробляє UI навігації для платформи 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 більше не відображаються англійською мовою, коли веб‑мова встановлена на турецьку.
  • Cloud sync and notification buttons: Кнопки сповіщень та синхронізації тепер видимі в оновленому дизайні хмари.
  • Selected term after refresh: Обраний термін тепер відображається правильно після оновлення сторінки.
  • Term selection field input: Поле вибору терміну більше не дозволяє вільний ввід тексту і тепер підтримує лише вибір.
  • Period panel navigation: Навігація до періодів із панелі періодів тепер працює правильно.
  • Missing Course and Event periods: Періоди Course та Event тепер відображаються правильно на сторінці терміну.
  • Help and report links: Кнопки Help Guide та Report a Problem тепер відкривають правильні сторінки.
  • Copy area validation: Валідація порожнього простору в області копіювання тепер працює правильно.
  • Classroom icon styling: Іконка аудиторії тепер відповідає специфікації дизайну у Figma.
  • White screen in course term: Вид курсу в терміні більше не показує білий екран при відкритті курсів.
  • Synchronization date display: Дата синхронізації тепер відображається в області синхронізації.
  • Year sorting on the synchronization screen: Поле Year тепер сортується правильно.
  • Missing class hours in the solution area: Класні години тепер відображаються правильно в області рішення.
  • Synchronization area errors: Помилки в області синхронізації в оновленому дизайні виправлено.
  • User management filters: Фільтри на сторінці User management тепер очищуються правильно.
  • Term creation save button: Кнопка Save тепер відображається правильно в модальному вікні створення терміну.
  • Negative values in bulk update fields: Сторінка Instructors більше не приймає негативні значення у полях масового оновлення.
  • Planning page layout: Області сторінки планування тепер відповідають оновленому дизайну.
  • Unnecessary scrolling: Зайве прокручування на уражених сторінках видалено.
  • Switching to a newly added term: Користувачі тепер можуть переключитися на щойно доданий термін.
  • Import download button: Кнопка завантаження в розділі Import тепер працює правильно.
  • Campus updates in the solution section: Оновлення кампусів тепер відображаються правильно в секції рішення.
  • Events in Event Calendar: Події тепер відображаються правильно в Event Calendar.
  • Notification icon updates: Іконка сповіщень тепер оновлюється при надходженні нових сповіщень.
  • Solution page translations: Проблеми з перекладом на сторінці рішень виправлено.
  • Optimization distribution phase: Фаза розподілу тепер правильно просувається під час оптимізації.
  • Instructor filter in planning: Фільтри викладачів на сторінці планування тепер працюють правильно.
  • Exam period filter data: Фільтри періоду іспитів тепер завантажують дані правильно.
  • Exam Schedule add icon: Плюс‑іконка в Exam Schedule тепер коректно реагує.
  • Weekly schedule creation: Помилки під час створення тижневого розкладу виправлено.
  • Combined exam duration display: Тривалість іспиту тепер відображається правильно, коли іспити поєднані.
  • Combined exam campus display: Інформація про кампус тепер відображається правильно, коли іспити поєднані.
  • Distribution counter outside GMT+3: Лічильник розподілу тепер працює правильно в часових зонах за межами GMT+3.
  • Combined course campus and program values: Значення кампусу та програми тепер відображаються правильно при об'єднанні курсів.
  • Building field clearing: Поле введення будівлі тепер очищається правильно.
  • Pop-up messages: Вискакувальні діалоги тепер показують правильні повідомлення.
  • Predefined duration dropdown: Випадаючий список тривалості іспиту тепер з'являється правильно при виборі попередньо визначених тривалостей.
  • Late lesson in the exam solution: Виправлено помилки при додаванні запізнілого заняття до рішення іспиту.
  • Adding courses during the exam period: Курси тепер можна додавати до рішення іспиту під час періоду іспитів.
  • Deleting predefined durations in use: Система більше не дозволяє видаляти значення попередньо визначеної тривалості, що наразі використовуються.
  • Predefined duration warning message: Повідомлення-попередження тепер з'являється правильно, коли користувач намагається видалити попередньо визначену тривалість, яка використовується.
  • Exam duration during the course term: Тривалість іспиту тепер відображається правильно під час терміну курсу.