UniTime 4.4 build 140
·
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
- Added support for PostgreSQL.
- See http://help.unitime.org/PostgreSQL for more details.