Aperçu
In this release, we added the following features:
- Durée d'examen prédéfinie configurable
- Verrouillage au niveau des champs pour les fenêtres en libre-service pour les enseignants
- Visibilité des solutions basée sur le rôle
- Rapport d'emploi du temps des examens amélioré
- Séparation des examens multi-modules et inscription des repassants via l'API Constructor University
- Micro-frontend de navigation Vue.js pour Constructor Cloud
- Moteur de cohérence des données organisationnelles de l'API CUB
What's new
Configurable predefined exam durations
Institutions can now control how instructors enter exam durations through a new setting under Planning Page Settings. Two modes are available: free entry and predefined values. In predefined mode, administrators define between 1 and 10 allowed exam duration values in minutes. Instructors must then select from a dropdown rather than entering durations manually. The system validates that selected durations comply with the slot duration rule, ensuring at least 10 minutes remain for classroom evacuation. This feature is also supported through web services for external system integration.
Instructor field-level lock for self-service windows
When administrators define a time window that allows instructors to perform limited edits, institutional master data fields are now locked automatically. During the self-service window, instructors cannot modify structural fields such as Course Type, Lecture Count, Faculty, Program, Instructors, Grade, Section, or Campus. Section duplication, deletion, and row selection are also disabled. The system enforces these restrictions at both the frontend and API levels, and blocked operations are logged for auditing. This prevents accidental changes to academic structure, but still allows instructors to manage permitted fields.
Role-based solution visibility
The solution page now restricts visibility based on publish status and user role. Non-admin users can see only published solutions in the solution dropdown, which prevents confusion caused by draft or unfinished schedules. If no solution has been published, the dropdown appears empty with a clear message. Admin and Super Admin users retain full access to all solutions. This restriction is also enforced server-side to prevent access through direct URLs or API calls.
Enhanced examination schedule report
The general examination schedule report now includes four improvements. Exams within each campus and slot are sorted by duration in ascending order for easier review. Slot headers display the full time range instead of only the start time. Each exam row shows the exam duration in minutes and a calculated exam-specific start and end time. Online exams are now included in the report with the classroom value Online Exam, which makes them easier to distinguish from room-based exams.
Constructor University API multi-module exam separation and retaker enrollment
The Constructor University API integration now supports two major improvements. First, courses with multiple written exam modules are imported as separate exam planning records, and each record preserves its own learner enrollment list. This resolves missing exams for courses such as CH-212, where Module A and Module B require independent scheduling. Second, the enrollment sync now captures retaker learners from previous semesters, starting with Fall 2023, which recovers approximately 600 previously missing learners. Learner enrollment status is validated by using the StudiesSemesterCounter entity to identify active retakers versus dropouts.
Vue.js navigation micro frontend for Constructor Cloud
The Schedule Cloud Fragment now includes a dedicated Vue.js navigation micro frontend that handles navigation UI for the Constructor Cloud platform. The component follows the Figma design specifications and provides navigation hierarchy for Course Periods, Exam Periods, Planning, and Settings. It reads term context from LocalStorage, adapts to different deployment environments, and supports deep linking with browser history navigation.
CUB API data consistency engine
A new organizational data consistency and auto-fallback engine has been added for the CUB API integration. The engine automatically detects and resolves data inconsistencies during synchronization, including navigation logic for exam type and duration mapping. This helps provide more reliable data transfer between CampusNet and Constructor Schedule.
Fixed issues
We have addressed the following issues:
- Turkish report language: Downloaded Data Fetch and Data Save reports no longer appear in English when the web language is Turkish. Tracking IDs:
SCH-1587 - Cloud sync and notification buttons: Notification and sync buttons are now visible in the updated cloud design. Tracking IDs:
SCH-4172 - Selected term after refresh: The selected term now appears correctly after a page refresh. Tracking IDs:
SCH-4185 - Term selection field input: The term selection field no longer allows free-text entry and now supports selection-only behavior. Tracking IDs:
SCH-4188 - Period panel navigation: Navigation to periods from the period panel now works correctly. Tracking IDs:
SCH-4271 - Missing Course and Event periods: Course and Event periods now appear correctly on the term page. Tracking IDs:
SCH-4272 - Help and report links: The Help Guide and Report a Problem buttons now open the correct pages. Tracking IDs:
SCH-4288 - Copy area validation: Empty-space validation in the copy area now works correctly. Tracking IDs:
SCH-4315 - Classroom icon styling: The classroom icon now matches the Figma design specification. Tracking IDs:
SCH-4318 - White screen in course term: The course term view no longer shows a white screen when users open courses. Tracking IDs:
SCH-4319 - Synchronization date display: The sync date now appears in the synchronization area. Tracking IDs:
SCH-4321 - Year sorting on the synchronization screen: The Year field now sorts correctly. Tracking IDs:
SCH-4328 - Missing class hours in the solution area: Class hours now appear correctly in the solution area.
- Synchronization area errors: Errors in the synchronization area in the updated design have been fixed. Tracking IDs:
SCH-4358 - User management filters: Filters on the User management page now clear correctly. Tracking IDs:
SCH-4378 - Term creation save button: The Save button now displays correctly in the term creation modal. Tracking IDs:
SCH-4409 - Negative values in bulk update fields: The Instructors page no longer accepts negative values in bulk update fields. Tracking IDs:
SCH-1612 - Planning page layout: Planning page areas now match the updated design. Tracking IDs:
SCH-4163 - Unnecessary scrolling: Unnecessary scrolling on affected pages has been removed. Tracking IDs:
SCH-4167 - Switching to a newly added term: Users can now switch to a newly added term. Tracking IDs:
SCH-4170 - Import download button: The download button in the Import section now works correctly. Tracking IDs:
SCH-4410 - Campus updates in the solution section: Campus updates now appear correctly in the solution section.
- Events in Event Calendar: Events now appear correctly in Event Calendar. Tracking IDs:
SCH-4444 - Notification icon updates: The notification icon now updates when new notifications arrive. Tracking IDs:
SCH-4445 - Solution page translations: Translation issues on the solution page have been fixed. Tracking IDs:
SCH-4481 - Optimization distribution phase: The distribution phase now progresses correctly during optimization.
- Instructor filter in planning: Instructor filters on the planning page now work correctly. Tracking IDs:
SCH-4506 - Exam period filter data: Exam period filters now load data correctly. Tracking IDs:
SCH-4507 - Exam Schedule add icon: The plus icon in Exam Schedule now responds correctly. Tracking IDs:
SCH-4511 - Weekly schedule creation: Errors during weekly schedule creation have been fixed. Tracking IDs:
SCH-4541 - Combined exam duration display: Exam duration now displays correctly when exams are combined. Tracking IDs:
SCH-4542 - Combined exam campus display: Campus information now appears correctly when exams are combined. Tracking IDs:
SCH-4543 - Distribution counter outside GMT+3: The distribution counter now works correctly in time zones outside GMT+3. Tracking IDs:
SCH-4544 - Combined course campus and program values: Campus and program values now display correctly when courses are combined. Tracking IDs:
SCH-4557 - Building field clearing: The building input field now clears correctly. Tracking IDs:
SCH-4558 - Pop-up messages: Pop-up dialogs now show the correct messages. Tracking IDs:
SCH-4569 - Predefined duration dropdown: The exam duration dropdown now appears correctly when predefined durations are selected. Tracking IDs:
SCH-4688 - Late lesson in the exam solution: Errors when adding a late lesson to the exam solution have been fixed. Tracking IDs:
SCH-4689 - Adding courses during the exam period: Courses can now be added to the exam solution during the exam period. Tracking IDs:
SCH-4691 - Deleting predefined durations in use: The system no longer allows deletion of predefined duration values that are currently in use. Tracking IDs:
SCH-4692 - Predefined duration warning message: The warning message now appears correctly when a user tries to delete a predefined duration that is in use. Tracking IDs:
SCH-4695 - Exam duration during the course term: Exam duration now displays correctly during the course term. Tracking IDs:
SCH-4694