Proto commits in UniTime/unitime

These 23 commits are when the Protocol Buffers files have changed:

Commit:63175b7
Author:tomas-muller

Dependencies: Update - Hibernate updated to 6.4.10.Final (was 6.4.9.Final) - Infinispan updated to 14.0.30.Final (was 14.0.29.Final) - Struts2 updated to 6.6 (was 6.4) - Protocol Buffers to 4.27.3 (was 3.25.3) - Restlet updated to 2.4.4 (was 2.4.3) - Freemaker updated to 2.3.33 (was 2.3.32) - JGroups updated to 5.3.10.Final (was 5.3.7.Final)

The documentation is generated from this commit.

Commit:0db23f9
Author:tomas-muller

Dependencies: Update - Hibernate updated to 6.5.2.Final (was 6.4.9.Final) - Infinispan updated to 14.0.30.Final (was 14.0.29.Final) - Struts2 updated to 6.6 (was 6.4) - Protocol Buffers to 4.27.3 (was 3.25.3) - Restlet updated to 2.4.4 (was 2.4.3) - Freemaker updated to 2.3.33 (was 2.3.32) - JGroups updated to 5.3.10.Final (was 5.3.7.Final)

The documentation is generated from this commit.

Commit:af7c523
Author:tomas-muller
Committer:tomas-muller

Student Scheduling: Course Request Priority Vital - added Vital course request priority - current scaling is Critical > Vital > Important > Normal / No Priority

Commit:86f1de3
Author:tomas-muller
Committer:tomas-muller

Online Student Scheduling: Change Log Improvements - advisor recommendations moved to a separate sub-section of the action message (this is to allow an action message to contain both advisor recommendations and student course requests, as well as provide additional formatiing options for the recommendations) - include additional notes in the advisor recommendations - added course request important flag (instead having critical for both critical and important) - correctly record no-sub flag and request timestamp - a few formatting improvements on the Change Log tab on the Online Student Scheduling Dashboard page - added Advisor Course Recommendations section - in the Enrollment section, show class external id where available - in the Course Requests section, added critical, wait-list, and requested date columns - in the message, add (w) and (s) for wait-listed/no-sub courses in the course request

Commit:3a347a6
Author:tomas-muller
Committer:tomas-muller

Course Demand: Wait-List Time Stamp - added wait-list time stamp recording the date and time when the wait-list toggle was set - using wait-list time stamp rather than course demand time stamp when comparing two wait-listed not-assigned requests

Commit:eed7987
Author:tomas-muller
Committer:tomas-muller

Course Demand: Wait-List vs No-Subs - the wait-list and no-subs toggles are now decoupled - there is a new nosubs toggle on the course demand and advisor course request - no-subs can be set on any course, wait-lists only on courses that allow for wait-listing - show and edit wait-list and/or no-subs according to the student status (always only one or the other on a student) - batch solver - show no-subs toggle as there is no wait-listing during batch

Commit:6ecca44
Author:tomas-muller

Critical Course Requests - include critical flag in the online scheduling log

Commit:3ae53f4
Author:tomas-muller
Committer:tomas-muller

Scheduling Assistant: Special Registration - when a special registration (override request) is selected, use the build schedule (FindAssignmentAction) to apply the selected changes to the current schedule - current sections that are not dropped by the changes are preferred - adds are preferred - adds that had a registration error (for which the override was requested) are marked as required

Commit:67ae4d6
Author:tomas-muller
Committer:tomas-muller

Online Student Scheduling: Logging - additional columns added to the online scheduling log - message (last message with the highest log level) - wall time (total execution time of the action) - cpu time (total cpu time of the action) - api get and post times (total execution times of the API calls) - api exception (last API exception) - the total execution time has been added on the Change Log tab of the Online Student Scheduling Dashboard - the other new properties are listed in the Change message dialog, General section - it is possible to filter change log message by execution time (over:seconds or under:seconds), api time or exception (api:min_seconds or api:message_substring) or by message (message:substring)

Commit:0a37a1c
Author:tomas-muller

Online Student Scheduling: Course Request Preferences - store course request preferences with the course request (among course request options)

Commit:7e1b360
Author:Tomas-Muller

License and version changes - license changed to Apache Software License (ASL), Version 2.0 - UniTime version changed to 4.0

Commit:b09bce4
Author:Tomáš Müller

Online Student Scheduling: Custom Student Enrollment Interface - a few more improvements

Commit:bd69b76
Author:Tomáš Müller

Online Student Scheduling: Custom Student Enrollment Interface - added an ability to provide a custom class that synchronizes the enrollments with an external system - the interface can be used to check student's eligibility (an additional step in the CheckEligibility action) - the external system can request students to enter a PIN number - discrepancies between the two systems can be detected (e.g., a student may be denied the ability to enroll through UniTime if the two systems are not in sync) - the interface can be used to enroll students into classes (an additional step in the EnrollStudent action) - the external system may reject enrollment of some classes - if this happens, student is not enrolled into the rejected classes in UniTime as well (appropriate error messages are displayed instead) - wait-listing is disabled when such a custom interface is used - this change also includes an example implementation using the new Banner XE (RESTful) interface - this is an initial version of the interface, more testing is required

Commit:98a8004
Author:Tomáš Müller

Online Student Sectioning - added a simple "report" that exports the online sectioning log

Commit:4142ea6
Author:Tomáš Müller

Online Student Scheduling - introduced ability to enable/disable wait-listing for a course request - created according to the original design (wait-list toggle is a part of course request data entry; there will likely be some changes and refinements) - does not apply to scheduling assistant mode (no wait-list toggles there, only for collecting course requests and for full online scheduling) - there is a new toggle on a Student Scheduling Status Type enabling / disabling wait-listing that can be used to disable wait-listing for a particular student or on an academic session as default - while this approach is compatible with the original design and with the inner workings of the solver, it changes how the wait-listing is done - before this change, computation of a student schedule behaved as with no wait-listing enabled (any unassigned request could get an alternative request assigned instead); but every unassigned request was automatically wait-listed - now, if a course request is wait-listed, a student cannot get an alternative course request instead (this is how the solver treats wait-listed course requests)

Commit:5e4cd22
Author:Tomáš Müller

Online Student Scheduling - better track down who initiated what sectioning action; include the user in the sectioning log

Commit:0f6bd1d
Author:Tomáš Müller

Online Student Scheduling - By Reservation Only toggle - can be set on an instructional offering (Course Edit page for the controlling course), visible on Instructional Offering Detail page (if enabled) - if enabled, only students with a matching reservation can be enrolled into the offering - Course coordinators - can be set on an instructional offering (Course Edit page for the controlling course), visible on Instructional Offering Detail page - to be used for controlling consent of instructor - Consent of instructor / department - for offerings with a consent, a student enrollment can be approved or rejected on the Instructional Offering Detail page, Enrollments table - this will only work for schedule deputies, a new page for advisors still needs to be created, but the approval work flow is there

Commit:e70e505
Author:Tomáš Müller

First version of academic session backup & restore.

Commit:0cc9653
Author:Tomáš Müller

Online Student Sectioning: Logging - added Section.subpart

Commit:e49dbd4
Author:Tomáš Müller

Online Student Sectioning: Course Request Options - CourseRequestOption.value changed to be byte[] (instead of XML document) - to be populated with OnlineSectioningLog.CourseRequestOption proto - enrollment action: record user selection in course request options (so that we know what time / instructor is preferred when there is a course change)

Commit:a56956e
Author:Tomáš Müller

Online Student Sectioning: Logging - added link enrollment section -> reservation - added enrollment section time stamp

Commit:32084e0
Author:Tomáš Müller

Online Student Sectioning: Logging - added link enrollment section -> course - this will help us to compare previous / computed / stored solution with student course requests

Commit:a285b4c
Author:Tomáš Müller

Online Student Sectioning: Logging - added logging of student related actions - should have enough information for data mining and to track down potential problems - using Google Protocol Buffers for its effectiveness and extensibility