UniTime 4.1 build 231
tomas-muller
released this
08 May 12:27
·
2992 commits
to master
since this release
Course Timetabling
Automatic Hierarchical Constraints
- Improved parsing of the General.AutomaticHierarchicalConstraints parameter.
- If there is a date pattern that is not used or that does not exist, do not skip parsing of the
rest of the parameter. - Check for English (not localized) versions of the preferences and for preference abbreviations.
- Flexible and other constraints (that are not implemented by the GroupConstraint class) are now
allowed as well. - Date patterns containing commas must use quotation marks, e.g., Preferred Same Start "Week
1,3,5".
Automatic Student Constraints
- Added ability to automatically post certain distribution constraints between classes that are
attended by the same students (the given constraints are posted between all classes of
a student). - This is only enabled when deterministic student sectioning is used.
- The list of constraints that are to be posted (together with their preferences) is given by
solver parameter General.AutomaticStudentConstraints.- Contains a comma delimited list of , for example:
- Preferred Max 1 Break, Strongly Preferred At Most 6 Hrs, Required 8h Work-Day
- By default, the given constraints are posted on every set of classes that are attended by at
least 5 students (must be all classes those 5 students are attending).- This can be changed by General.AutomaticStudentConstraints.StudentLimit solver parameter
(defaults to 5).
- This can be changed by General.AutomaticStudentConstraints.StudentLimit solver parameter
Timetable Grid
- Added room tooltip when resource is Room and when hovering over a room name (top left corner of
each table).
Curricula
- Last-Like Course Demands: Consider demand offering (Take Course Demands from Offering parameter
on a course) when showing last-like enrollments and when Curricula Last Like Course Demands are
used. - Multiple Majors: Fixed a null exception thrown when there are last-like or real students
matching multiple majors of a multi-major curriculum on Oracle.
Class Assignment
- Fixed a null exception thrown when there is a student conflict with a class event for a class
that is not assigned.- This can happen when the Class Assignment page is configured not to change the past and
a class is unassigned later in the term.
- This can happen when the Class Assignment page is configured not to change the past and
- Also, do now show student conflicts with canceled classes / meetings.
Time Pattern Icons
- Fixed an issue that was causing a "Coordinate out of bounds!" error when a time pattern icon for
a pattern with more than 7 day combinations was being rendered. - The issue was introduced by a recent change allowing Room Sharing and Instructor Time
Preferences grid to run over Sunday.
Curriculum Course Demands: Precision Fix
- Make sure that the computation of the curriculum-based student course demands does not get stuck
due to the floating point precision inaccuracy.
Instructor Preferences
- Added ability for an instructor to edit his/her preferences, using Courses > Input Data >
Instructor Detail page. - Permissions needed: Instructor Detail and Instructor Preferences, but NEVER HasRole permission
(which should be reserved for manager roles). - Session/department statuses needed: Owner View (to see the detail page) and Owner Edit (for the
ability to edit preferences). - If an instructor exists in two or more departments, there is a Department drop-down on the
Instructor Detail page allowing the user to switch departments.
Student Scheduling
Banner XE Interface
- When dropping a section and the DW action is not available, check for other D% action that can
be used. - Log all the exceptions and Banner messages as warnings. Also log all the exceptions when no
enrollment change is detected.- This fixes the issue of not seeing the "Section not available for student scheduling." in the
log.
- This fixes the issue of not seeing the "Section not available for student scheduling." in the
Course Requests, Student Scheduling Assistant
- Added ability to hide up and down arrows in the Course Requests table.
- This can be done by setting the application property unitime.enrollment.hideCourseRequestArrows
to true (defaults to false).
Event Management
Personal Schedule: Examinations and Course-Related Events
- Fixed an issue introduced by commit 8d552bf: OfferingCoordinator is not mapped error is shown
when looking up a coordinator schedule (role:Coordinator in the event filter).
Event Timetable: Arrange Hours Classes
- Do not show Arrange Hours classes on the week of January 1.
- That is, when a week containing January 1 is selected in the Filter, not All Weeks or All
Matching Weeks.
Examinations
PDF Reports: Period Chart
- Period Chart report: corrected breaking of the report over the week's end.
- This fixes an issue of not printing Monday periods in some cases.
Administration
Session Roll Forward: Fixed bug with Subject Area Roll Forward
- The roll forward has been updated to fail when rolling subject areas forward into a session that
does not have departments that match the departments the subject areas should be attached to.
Data Exchange: Course Offerings and Course Timetable Exports
- Added ability to include individual class meetings in the course offerings and course timetable
exports. - This feature can be enabled by setting the tmtbl.export.classMeetings application property to
true (defaults to false).
HQL Reports: Export HQL
- Improved the ability to download a particular HQL report, using
UniTime/export?output=hql-report.csv URL. - Academic session can be selected using term parameter.
- HQL appearance and admin-only permissions are checked (the user must have the appropriate
permissions to be able to get the report). - Report parameter can contain name of the report (instead of unique id).
- Individual report parameters can be looked up (no need to retrieve unique ids first), for
example: DEPARTMENT=, SUBJECT=, ROOM=, or RoomType=.
User Context: Default Academic Session
- Added ability to shift current date by a given number of days when computing default academic
session. - Application property unitime.session.defaultSessionShiftDays, defaults to 0.
- This could be used, e.g., to start showing users the next academic session two weeks before the
classes / events start.