Skip to content

UniTime 4.8 build 159

Latest
Compare
Choose a tag to compare
@tomas-muller tomas-muller released this 27 Sep 11:51
· 308 commits to master since this release

Course Timetabling

Instructional Offering Configuration

  • Delete: Fixed a possible "deleted object would be re-saved by cascade" exception when deleting a configuration that participates in a distribution preference.
  • Delete: Fixed a possible "deleted instance passed to merge" exception when deleting a configuration that has teaching requests.
  • Delete: Skip validation for a configuration that is being deleted.

Solution (Database) Save

  • A few changes to make the save faster:
    • Faster computation of the number of no-conflict placements in variable info.
    • When General.SaveConstraintInfos is false; do not compute no-conflict placements in variable infos at all.

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.

Extended Student Conflicts Constraint

  • Fixed a concurrency issue.

Student Scheduling

Wait-Listing

  • Position: Consider current enrollment when computing the wait-list position.
  • Processing Order: Do not prioritize students wait-listing for a course swap.

Student Scheduling Assistant

  • Suggestions: When the Suggestions dialog is opened, include ARIA status labels for drop and wait-list buttons when they are present.
  • Suggestions: Drop and Wait-List buttons are now easier to get to.

Unavailabilities

  • Added unavailability distance conflicts (distance conflicts between sections and unavailabilities).
  • This is particularly useful when unavailabilities from other overlapping academic sessions are enabled.
  • Using the new solver parameter Distances.MaxTravelDistanceInMinutes, a different max travel time in minutes can be defined for unavailabilities.
  • Added Student Unavailability Conflicts solver report (listing time and distance conflicts).

Batch Scheduling: Visiting F2F Priority

  • Added a new course request priority Visiting F2F that can be used to lower priority of visiting students for getting in face-to-face courses.
  • Can be enabled by identifying visiting students with Load.VisitingStudentFilter (e.g., not campus:XX)
  • A course request is considered face-to-face, if there is at least one possible enrollment with a face-to-face class.
    • When Load.VisitingFaceToFaceCheckFirstChoiceOnly is set to true (defaults to false), only the first-choice course is checked for face-to-face classes.
    • Only course requests without a priority can have their priority lowered (set to Visiting F2F).

Advisor Course Recommendations

  • Show recommendations from the other academic session(s) if a student is advised in two or more parallel sessions.

Student Scheduling Assistant / Student Course Requests

  • Available Sessions: Prefer sessions with matching student campus (in the order they are displayed).
    • If two or more academic sessions start on the same date, prefer the academic session whose initiative matches the student's campus.
      • Property unitime.studentScheduling.preferredStudentCampus can be used to provide regular expression for preferred student campuses.
    • Enable by setting unitime.studentScheduling.preferSessionsWithMatchingCampus to true, defaults to false.

Student Scheduling Solver: Credit Limits

  • Added an ability to adjust the student's min/max credit limit by their enrollment in other parallel sessions.
    • I.e., sessions with matching academic terms and years but different initiatives.
  • Enable by setting the solver parameter Load.DecreaseCreditLimitsByOtherSessionEnrollments to true (defaults to false).

Examination Timetabling

Distribution Constraints

  • The examination distribution constraints were rewritten to make them easier to extend and customize.
  • For soft constraints, penalizations are now counted on individual examination pairs.
    • This better ascertains how well the constraint is satisfied, especially for constraints posted between many exams.

Events

Personal Schedule: Additional Emails

  • Added an option to disable lookup for events where the person's email is listed in the Additional Emails field.
    • Disable by setting unitime.events.personal.considerAdditionalEmails to false, defaults to true.

Event Filter

  • Added an ability to skip computation of most event counts on the filter to make it load and operate faster.
    • To enable set unitime.events.eventFilter.skipCounts to true (defaults to false).

Other

GWT-Based Pages: Cookies

  • Avoid using cookies when possible (e.g., to store filter settings). Use HTML5 local/session storage instead.
  • This is to avoid error 400 - Bad Request: Request header is too large when using long texts in the filters.

Administration

Add/Edit Timetable Manager

  • External Manager Lookup: Only reset the email address (to the one from the LDAP directory) when it is left blank.

Data Exchange API

  • Corrected XML import response.