Skip to content

UniTime 4.7 build 91

Compare
Choose a tag to compare
@tomas-muller tomas-muller released this 13 Apr 07:31
· 518 commits to master since this release

Course Timetabling

Online Conflicts

  • Online/Offline Room: Added a distribution constraints Online/Offline Room that prevents (or penalizes) a pair of classes which are taught on the same day and one is placed in and online room and the other is not.
  • No Student Online Conflicts: Added a global constraint No Student Online Conflicts that prevents a student from having two classes on the same day, one being online and the other not.
    • To be registered by setting General.GlobalConstraints=org.cpsolver.coursett.constraint.NoStudentOnlineConflicts.
  • Online classes are identified by a regular expression matching the room name and set in the General.OnlineRoom parameter.
    • It defaults to (?i)ONLINE|
    • Classes without a room are considered online when the parameter matches a blank string.
    • If a class has multiple rooms, all rooms must be online for the class to be considered online.

Batch Student Scheduling

Learning Communities: Reservations Priority

  • Added a new LC priority level (as the very first one).
  • To be used for courses with LC reservations (by setting solver parameter Load.LCRequestPriority=LC).
  • This is to ensure that LC courses are assigned first.

Online Student Scheduling

Email Notifications

  • Added ability to provide source-action for user/externally initiated emails.
  • When showing advisor recommendations, include Critical column when there is at least one course marked as critical.

Bug Fixes

Examination Timetable: Instructor Timetable

  • Fixed a NullPointerException thrown when there is an instructor that is assigned only to an exam (or exams) that is not loaded in the solver.

Instructor Detail: Teaching Preference

  • Corrected the teaching preference permission check on the Instructor Detail page.
  • This fixes the NumberFormatException when the instructor's teaching preference is Prohibited but the maximal teaching load is set.

Solver Parameters: Visible

  • Make sure that a new parameter is created as visible when the Visible toggle is not changed (which returns null).

Class Detail: Parent Class

  • Corrected Parent Class link.

Academic Session Import: Curriculum Reservations

  • Fix CurriculumReservation.area -> CurriculumReservation.areas when importing session from an older instance of UniTime (before the change of the relation to academic areas from one-to-many to many-to-many).