Skip to content

UniTime 4.4 build 140

Choose a tag to compare

@tomas-muller tomas-muller released this 03 Dec 16:16
· 1977 commits to master since this release

Student Scheduling

Course Requests: Submit Requests

  • Ensure that the save-requests action gets logged when the online student scheduling is disabled (no online student scheduling server is running).

Course Requests: Custom Validation

  • When updating request note, do not check the scheduling status of the session.
    • Course request changes may be done at a time when the online student scheduling is not accepting scheduling changes.

Online Student Scheduling: Asynchronous Execution

  • Added ability to use multiple threads for asynchronous execution.
    • Set unitime.enrollment.server.asyncPoolSize for the thread pool size (defaults to 10).

Reservations: Start Date

  • Added ability to provide start date on a reservation.
    • A reservation is also considered expired (does not reserve any space) when today is BEFORE the start date.

Student Scheduling Assistant: Inactive Course Requests

  • A course request is marked as inactive when it is saved in the database, but the student (that has a class schedule) is not enrolled in the course.
  • Inactive courses are NOT listed as not-assigned on the Class List page.
  • Inactive courses are indicated on the Course Requests table (as dark red color, line-through, and italic font).
    • A course can be activated by using the finder dialog or making changes to it (including just selecting on amoung suggestions).
    • There is a new icon for reactivating an inactive course (universal recycling symbol).
  • When a new schedule is built (Build Schedule button), inactive courses are ignored (left not-assigned).
    • Unless the Rearrange Schedule button is clicked.
    • Also, do not consider inactive courses when computing suggestions.
  • Using + New Course will always put the new course at the bottom (even if it was present on among course requests as inactive before).
  • It is possible to add a new course without removing inactive (having a course listed two times would not trigger an error if one of them is not active).
  • These "inactive" course requests are not detected/indicated by default, but this feature must be enabled with the following property
    • unitime.enrollment.inactiveUnassignedRequests=true (students)
    • unitime.enrollment.inactiveUnassignedRequests.manager (advisors and admins).

Online Scheduling Dashboard: Change Log

  • Unless the filter checks for operation:
    • Do not show validate-overrides, banner-update, and critical-courses actions that did not make any changes (the result is False).
    • Do not show reload-student, reload-offering, and check-offering actions with no result filled in.
  • Order the results by log unique id (instead of timestamp; a little less precise, but much faster).
  • Message column: set white-space to pre-wrap to improve the display of multi-line messages.

Online Student Scheduling Dashboard: Filter

  • Fixed an issue with hiding students that only have free time requests.
  • Improved boolean query capabilities of the filter, for instance
    • (group:PREREG and not group:ENH-3)
  • Will return all students from the PREREG group that are NOT in the ENH-3 group.

Online Student Scheduling: Check Assignment

  • When counting unreserved space: only check reservations that are set directly on the configuration/section in question.

Online Student Scheduling: Not-Assigned Course Request Message

  • Besides the course availability and time conflicts, also check the max credit hours.
  • Display "Exceeds maximum of X credit hours." when the not-assigned course request would get the student over the max credit limit (where X is the current max credit for the student).

Batch Student Scheduling: Curriculum Reservations

  • Fixed a problem with curriculum reservations not counting matching students that are already enrolled and that are excluded from the run.

Published Schedule Runs: Config & Notes

  • Added solver configuration on the published run.
  • Added ability to put in a note.

Online Student Scheduling: Change Log

  • Student Email: improved logging (include recipient email address, show more details in the Change Log, etc.).
    • Also, do not fail when CC address is incorrect (log a warning instead).
  • Status Change: improved logging (remember both the old and the new status reference), show status change in the Change Log (Message column).

Course Timetabling

Class Assignment: Student Conflicts

  • Added ability to change the default of how the student conflicts are computed.
  • Application configuration tmtbl.classAssign.studentConflicts with the possible values:
    • auto: show the actual student conflicts when there are student class enrollments, show projected (solution) conflicts otherwise (this is the default)
    • actual: always show the actual student conflicts
    • solution: always show the projected (solution) student conflicts
    • none: do not show student conflicts in the Available Times table
  • It is now possible to switch between the two modes (actual/projected) student conflicts by clicking the note at the bottom of the Student Conflicts table, which now reads:
    • Showing the actual student class enrollments, click here to change to projected student conflicts.
  • or
    • Showing projected student conflicts, click here to change to the actual class enrollments.

Examination Timetabling

Examination Assignment: Same Days

  • Added Same Days constraint checking.
  • Fixed an issue with the DistributionConflict comparator (when two constraints with a different number of exams are compared).

Examination Name: T for course title

  • Added ability to include course title in the examination name (using %T).

CPSolver updated to version 1.3.189 (was 1.3.185)

Examination Timetabling: More Than One Exam A Day

  • Added the ability to set a penalty when a student has two exams or more a day.
    • To enable add org.cpsolver.exam.criteria.additional.StudentMoreThan1ADayConflicts to Exam Additional Criteria.
    • More than one exam a day student conflict weight can be set by problem property Exams.MoreThanOneADayWeight.

Course Timetabling: Back-To-Back/Following Weeks

  • Added Back-To-Back Weeks distribution constraint.
    • Given classes must be taught on weeks that are back-to-back (the gap between the two assigned date patterns is less than a week).
    • When prohibited or (strongly) discouraged: any two classes must have at least a week gap in between.
  • Added Following Weeks distribution constraint.
    • Given classes must be taught on weeks that are back-to-back and in the given order.
    • When prohibited or (strongly) discouraged: given classes must be taught on weeks in the given order with at least one week between any two following classes.

Online Student Scheduling: Suggestions

  • Consider the order of the courses within a course request when comparing two suggestions.

Administration

Chameleon: Session Administrators

  • When the chameleon page is used by session dependent users (e.g., session admins), only allow authorities from the academic session(s) for which the original user has Chameleon permission.
  • This is to prevent a session admin to chameleon into another session admin from a different academic session.

HQL Reports: Export XLS

  • Added ability to export HQL reports to XLS format.

Other

PostgreSQL