Skip to content

Releases: UniTime/unitime

UniTime 4.9 build 135

26 May 12:22

Choose a tag to compare

Course Timetabling

Instructional Offering Detail: Curricula

  • Fixed a recently introduced issue with the student counts on the second and later academic area lines.

Administration

Export: Encrypted URLs

  • Fixed a potential vulnerability problem with encrypted export URLs, allowing an attacker to inject a wrong user ID.
  • It is now possible to specify which exporters allow encrypted URL authorizations (by default, only the iCalendar exports are allowed).
    • This can be configured using the unitime.export.authorizeEncodedQueries application property.

UniTime 4.8 build 224

26 May 12:14

Choose a tag to compare

Course Timetabling

Suggestions

  • Compute and populate conflicting constraints when a placement with conflicts is selected from the Suggestions table in the Placements mode.
  • Fixed a problem when an invalid placement is selected for the 2nd or later class from the Selected Assignment, which was causing conflicting placements to get unassigned.

Administration

Subject Areas: Delete

  • Fixed a Hibernate exception (ObjectDeletedException) when deleting a subject area that has some not-offered courses.
  • Caused by the latest Hibernate upgrade (to version 6.6).

Student & Instructor Name Format

  • Fixed an exception that was thrown when a first name or a last name is just a single space for name formats using initials.

Add/Edit Subject Area

  • List all available departments (excluding externally managed ones) for a subject area.
    • Instead of those that are being used (have a manager, a room, or another subject).

Export: Encrypted URLs

  • Fixed a potential vulnerability problem with encrypted export URLs, allowing an attacker to inject a wrong user ID.
  • It is now possible to specify which exporters allow encrypted URL authorizations (by default, only the iCalendar exports are allowed).
    • This can be configured using the unitime.export.authorizeEncodedQueries application property.

UniTime 4.7 build 121

26 May 12:09

Choose a tag to compare

Course Timetabling

Edit Class/Scheduling Subpart

  • Added an ability to search the list of available date patterns.
  • Enable by setting unitime.classEdit.searchableDatePattern to true (defaults to false).
  • When enabled, the Date Pattern list box is replaced by a text field with suggestions.

Edit Scheduling Subpart: Subpart Credit

  • Max Units made editable when editing Variable Min/Max credit without the need to change the credit type first (when editing existing credit information).
  • Fixed an issue when no units or max units are provided (for a type that requires units/max units) or when the provided units are not a number.

Rooms: Availability

  • Fixed an array index out of bounds when generating the room availability thumbnail icons in some instances.

Timetable Grid: Per Date Display

  • Avoid showing incorrect dates when the client is in a different time zone than the server.

Examination Timetabling

Add/Edit Examination: Classes / Courses Fix

  • Fixed an issue of the Classes / Courses table not loading courses for a subject area with a course that has a quotation mark in the title.

Event Management

Edit Event: Meeting Contacts

  • Record which meetings have their contacts changed in the Notes.

Administration

Export: Encrypted URLs

  • Fixed a potential vulnerability problem with encrypted export URLs, allowing an attacker to inject a wrong user ID.
  • It is now possible to specify which exporters allow encrypted URL authorizations (by default, only the iCalendar exports are allowed).
    • This can be configured using the unitime.export.authorizeEncodedQueries application property.

UniTime 4.9 build 131

18 May 11:11

Choose a tag to compare

Course Timetabling

Edit Class: Exact Times

  • When adding exact times, do not include a time without a day of the week selected.

Navigation

  • Corrected navigation using the Back button over multiple detail pages, newly rewritten to GWT.

Instructional Offering: Details

  • Fixed a recently introduced issue that prevented some curricula from being shown in certain cases.

UniTime 4.9 build 125

27 Apr 12:25

Choose a tag to compare

Course Timetabling

Distribution Preferences: Single Table

  • Added an option to show all distribution preferences in a single table, not split by subject area.
    • To enable, set unitime.distributions.showSingleTable to true (defaults to false).

Student Scheduling

Batch Student Solver Dashboard: Filter

  • Do not show "My Students Not Advised" and "Not Advised" mode options in the filter, as they cannot be computed correctly.

Administration

Session Roll Forward: Room Split Attendance

  • Include the split attendance flag (set on individual classes) in the roll forward.

Contact Us: Attachments

  • Fixed the ability to attach files to the email inquiry.

Data Exchange: Preferences

  • Include instructor unavailability in the Preferences XML export and import.

Other

WCAG/Accessibility

  • Various adjustments to improve WCAG compliance of UniTime pages.
  • Most pages should now be fully compliant with WCAG 2.2 level AA, with the following exceptions (typically only available to examination managers and administrators):
    • Student > Enrollment Audits: Form field missing a label (4.1.2)
    • Most pages under Examinations > Examination Timetabling (except for Solver and Log): Container element is empty (1.3.1), Minimum contrast (1.4.3), Form field missing a label (4.1.2), and Keyboard accessibility (2.1.1)
    • Examination Assignment: Image missing a text alternative (1.1.1), Minimum contrast (1.4.3), Form field missing a label (4.1.2), and Keyboard accessibility (2.1.1)
    • Examinations > PDF Reports: Form field missing a label (4.1.2)
    • Some of the pages under Administration (those still using Struts2): Container element is empty (1.3.1), Minimum contrast (1.4.3), Form field missing a label (4.1.2), and Keyboard accessibility (2.1.1)
  • The above-mentioned pages are all old pages still written in Struts 2. They are planned to be made ADA-compliant together with their rewrite to GWT in a later release.
  • For preference colors, you can switch among three options in Preferences > Settings, under High Contrast Preferences: Use preference levels with color backgrounds.
    • yes: (which is the default now) will use preference colors as backgrounds
    • no: will use the new (much darker) preference colors that satisfy the 4.5:1 contrast ratio
    • legacy: will use the old non-ADA-compliant colors

UniTime 4.9 build 116

23 Mar 12:23

Choose a tag to compare

Course Timetabling

Class/Scheduling Subpart Detail: Distribution Preferences

  • Corrected the permission checking for the Add Distribution Preference button so that a Department Schedule Manager would see the button on an externally managed class or scheduling subpart.

Room Preference Index: Various Fixes

  • Session Roll Forward: Copy room index for room-related preferences (room, room feature, room group, and building preferences).
  • Preferences XML: Include roomIndex attribute for room-related preferences.
  • Multiple Class Setup: Copy room index when room-related preferences are being moved pushed to the class level due to the change of the subpart's managing department.

Course Catalog

  • Create a simple page that shows information provided by the custom CourseDetailsProvider.
  • To enable:
    • Configure unitime.custom.CourseDetailsProvider (returning an HTML snippet)
    • Set unitime.custom.CourseUrlProvider to org.unitime.timetable.server.courses.CourseCatalogBackend.
    • Set the Course Catalog permission for all the roles that should be able to see the catalog page.
    • Possibly adjust the custom CSS to improve catalog page formatting.

Class Detail: Timetable

  • Fixed an exception thrown when showing an in-memory assignment with a partially-assigned violated distribution preference.

Distribution Types: Custom Back-To-Backs

  • Added the ability to parametrize Back-To-Back and Back-To-Back & Same Room distribution constraints.
  • Back-To-Back can now have a reference BTB_TIME(min,max), where min and max are the bounds on the gap between two consecutive classes in time slots.
    • For example, BTB_TIME(0,3) will allow a gap of at most 15 minutes (3 time slots) between consecutive classes.
  • Back-To-Back & Same Room can now have a reference BTB(min,max), where min and max are the bounds on the gap between two consecutive classes in time slots.
    • For example, BTB(6,6) will require a gap of exactly six time slots (30 minutes) between any consecutive classes.

Student Scheduling

Wait-Listing: Custom Validation

  • Skip revalidation for a course that was made not offered (avoid null exception).

Solver Reports: Course Request Alternatives Statistics

  • Added Course Request Alternatives Statistics report, an experimental report comparing course requests and advisor recommendations with and without alternatives.
  • Only available to user roles with Student Sectioning Solver Admin Reports role.

Student Scheduling Assistant: Custom Enrollment Provider

  • Fixed an issue that occurs when a student is enrolled in the same class multiple times (under different courses), tries to drop a class, and the drop is not allowed/fails due to the external system.
    • The student was removed from the section in UniTime, and Special Registration did not get triggered.

Batch Student Scheduling: Free Times

  • For students with FT (need free-time) accommodation: added an ability to mark the free-time requests as higher priority.
    • Using solver parameter Load.FreeTimeAccRequestPriority set to Normal, Important, Vital, or Critical
  • Added an ability to make sure that low-priority course requests do not overlap with a higher-priority free time request, even when it is not assigned.
    • Using solver parameter Sectioning.FreeTimeConflict is set to true; set to false by default.
  • A few changes in the user interface to show free time request priority and free time conflicts.

Student Scheduling Disclaimer

  • A new optional text field is available on the instructional offering configuration level called Student Scheduling Disclaimer.
  • It is editable with Instructional Offering Edit Disclaimer permission using Instructional Offering Configuration or the Multiple Class Setup page.
  • Default scheduling disclaimers can be defined using the Default Scheduling Disclaimers administrative page.

Student Scheduling Assistant: Submit Schedule Confirmations

  • All Submit Schedule confirmations are now present in a single Confirmation dialog.
  • Display scheduling disclaimers in Course Finder and in the class schedule.
  • When adding a new course or switching to a different config that has a different scheduling disclaimer, display the disclaimer in the Confirmation dialog.

Student Course Requests and Advisor Course Recommendations: Validation

  • Created a new default Student Course Request Validation and Advisor Course Recommendations Validator that only does the UniTime-related checks, which include: no alternative course provided, associated course checks (associated course on the same request line, associated course requested as substitute, parent course not present), high-priority free time, min/max credit checks, scheduling rules check, single-section time conflict check, inconsistent student preferences check, and the new student scheduling disclaimer.
  • Also include the new student scheduling disclaimer in the course validation.
    • When a course has only a single configuration or multiple configurations with the same disclaimer, just display the disclaimer for the course.
    • When there are multiple disclaimers, prefix the disclaimer with the instructional method of the configuration with the disclaimer. Reservations and scheduling rules are checked, and configurations that the student cannot take are ignored.

Event Management

Service Providers: HQL Bug Fix

  • Fixed a query that loads all rooms for a service provider associated with a department, applying to all the department's event rooms.

Other

WCAG/Accessibility

  • Various adjustments to improve WCAG compliance of UniTime pages.

UniTime 4.9 build 102

19 Dec 14:02

Choose a tag to compare

Course Timetabling

Instructional Offerings, Classes, Class Assignments: Legacy Check

  • When an old (Struts-based) page URL is used, but the configuration does not enable the legacy version of the page, redirect to the new (GWT-based) page.
  • This makes the Classes and Class Assignments links on the Not-Assigned Classes page point to the correct versions of the two pages.

Suggestions

  • Compute and populate conflicting constraints when a placement with conflicts is selected from the Suggestions table in the Placements mode.
  • Fixed a problem when an invalid placement is selected for the 2nd or later class from the Selected Assignment, which was causing conflicting placements to get unassigned.

Max (Work) Days Range Distributions

  • Given classes must be taught within the number of consecutive days or work days.
  • This means that between the first and last meeting of all classes in the constraint, there cannot be more than the given number of consecutive days or work days, including the first and last day.
  • When work days are used: Weekends, holidays, and breaks are ignored.

Student Scheduling

Course Reservations

  • Improved course checking for course-related reservations.
    • Check the course of the enrollment/request rather than all courses that the student is requesting.
    • This can make a difference when a student requests multiple cross-listed courses from the same instructional offering.

Universal Reservations

  • Added an ability to filter by requested course using the course: tag.

Scheduling Assistant: Submit

  • Ensure that there are enough primary course requests to cover all enrolled and wait-listed courses.
  • This optional check fixes an issue where a student may end up in a state where a substitute course is enrolled without a matching not-assigned course request that it is substituting.
  • The check can be disabled by setting unitime.enrollment.checkSubstitutes to false.

Student Notifications: Course is no longer requested

  • When a course is made not offered, only send a notification when the student was initially enrolled in the course.

Administration

Subject Areas: Delete

  • Fixed a Hibernate exception (ObjectDeletedException) when deleting a subject area that has some not-offered courses.
  • Caused by the latest Hibernate upgrade (to version 6.6).

Student & Instructor Name Format

  • Fixed an exception that was thrown when a first name or a last name is just a single space for name formats using initials.

Data Exchange: Examination XML

  • Examination XML Export: added the following examination attributes:
    • enrollment: number of students enrolled in the classes/courses of the exam
    • limit: total limit of the classes/courses of the exam

Technology Update

  • The following dependencies have been updated:

UniTime 4.9 build 93

03 Nov 12:21

Choose a tag to compare

Course Timetabling

Add/Edit Instructor

  • Corrected the label for the instructor email field.

Instructional Offerings, Classes

  • Do not show examination columns when there are no examination periods defined (Examinations do not show up in the Filter).
  • Added an ability to not show the subject area titles in the filter (when unitime.offering.subjectFilterShowTitles is set to false).

Add/Edit Room: Room Sharing

  • Added an ability to list all departments as available for room sharing (instead of those that are being used, i.e., departments that have a manager, a subject area, or another room).
    • Set unitime.roomDepts.usedDepartmentsOnly to false to enable (defaults to true, only show departments that are being used).

Examination Timetabling

Add/Edit Examination

  • Corrected setting of neutral period preferences for midterm exams.

Student Scheduling

Student Scheduling Solver: Dependent Courses

  • Corrected the can leave unassigned check for branch&bound.
  • When the associated course is to be moved up during solver load, swap the associated and the dependent courses instead of adjusting the comparator (to avoid transitivity issues with the comparator).

Online Student Scheduling Dashboard: Release/Suppress PIN

  • Display a confirmation dialog when students not advised by the user are involved in the PIN release change.

Administration

Add/Edit Subject Area

  • List all available departments (excluding externally managed ones) for a subject area.
    • Instead of those that are being used (have a manager, a room, or another subject).

UniTime 4.8 build 219

03 Nov 12:39

Choose a tag to compare

Course Timetabling

Edit Course Offering

  • Fixed a Hibernate error thrown when a course that has just been added to a cross-list is being edited.
  • Caused by the latest Hibernate upgrade (to version 6.6).

Class Assignment

  • Fixed a potential Hibernate exception (TransientObjectException) when making a larger change.
  • Caused by the latest Hibernate upgrade (to version 6.6).

Data Exchange

Course Offering XML Import

  • Fixed a Hibernate exception when importing exams with instructors.
  • Caused by the latest Hibernate upgrade (to version 6.6).

UniTime 4.9 build 89

15 Oct 12:04

Choose a tag to compare

Course Timetabling

Class Assignment

  • Always show the student conflicts for the selected assignment. The Show student conflicts toggle only applies to the conflict numbers for the available times.
  • A few changes have been made to improve the page speed.

Classes, Class Assignments: Export CSV

  • Do not split the CSV export by subject area.

Examination Timetabling

Add/Edit Examination: Size

  • Examination size did not get updated.
  • Set the maximal number of rooms to zero when the Maximum Number of Rooms is left empty.

Add/Edit Examination: Preferences

  • Fixed a problem of the Add/Edit Examination page not being loaded up correctly when there are no room features or no room groups.

Student Scheduling

Solver Dashboard: Dependent Courses

  • Show the "Not-assigned associated course {0}." message when applicable while showing student details (List of Classes).

Student Scheduling Manual

  • A new student scheduling manual is linked from the menu (Help > Manuals).