Releases: UniTime/unitime
Releases · UniTime/unitime
UniTime 4.1 build 149 (RC 2)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Minutes: average number of minutes a class takes during a week (weekly minutes
= number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Parameter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrollments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conflicting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
Examination T...
UniTime 4.1 build 144 (RC 1)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Minutes: average number of minutes a class takes during a week (weekly minutes
= number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Parameter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrollments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conflicting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
Examination T...
UniTime 4.1 build 136 (Beta 2)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Minutes: average number of minutes a class takes during a week (weekly minutes
= number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Parameter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrollments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conflicting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
Examination T...
UniTime 4.1 build 125 (Beta 1)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Minutes: average number of minutes a class takes during a week (weekly minutes
= number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Parameter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Parameter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Parameters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behavior (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrollments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conflicting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
Examination T...
UniTime 4.0 build 47
Bug Fixes
Instructional Offering Detail
- Curricula Table: Fixed a null pointer exception that sometimes occurs.
Data Exchange
- Course Catalog XML Import: Fixed setting of the fractionalCreditAllowed attribute.
Edit Course Offering
- By Reservation Only, Enrollment Deadlines: Corrected the condition when the by reservation only
toggle and the enrollment deadlines are updated.- This fixes the problem of the by reservation only toggle not being updated when the course has
no credit information.
- This fixes the problem of the by reservation only toggle not being updated when the course has
Date Patterns
- Week Number: Corrected computation of the week number to folow the formal definition in ISO
8601.- Week 1 is the week with the year's first Thursday in it.
- Comparison: Compare date patterns using numbers of weeks and offsets instead of sizes and start
dates.- This also fixes the transitivity of the comparison (IllegalArgumentException: Comparison
method violates its general contract).
- This also fixes the transitivity of the comparison (IllegalArgumentException: Comparison
Event Management
- Fixed a NullPointerException error when there is Display Conflicts in the event filter with
nothing in the room filter and the query returns a meeting that has no room.
Online Student Scheduling
- Course Types: Fixed an issue of ignoring course types when the online scheduling server runs in
the replicated mode.
Other Improvements
Session Roll Forward
- Instructional Offerings: When adding new instructional offerings based on course catalog data
for a session, set up the course credit unit configuration if it exists in the course catalog.- This was already done when the course catalog was being used in conjunction with rolling
existing courses forward for a session, but not for a new offering.
- This was already done when the course catalog was being used in conjunction with rolling
UniTime RESTful API
- API Permission Checks: Check any authority instead of the current (default) one.
Class Assignment
- Rooms: display the GWT-based room tool tip on mouse over. It also contains the room preference,
and the conflicting class (if there is a conflict) as a note. - Times: display the GWT-based time tool tip on mouse over. It shows time pattern grid with the
time preferences and the selected time highlighted. - Rooms: added ability to select between departmental, timetabling, and all rooms.
- Timetabling rooms are all the rooms that have at least one department in the room sharing,
i.e., rooms that can be used for course timetabling by at least one department.
- Timetabling rooms are all the rooms that have at least one department in the room sharing,
Room Availability Interface
- Room availability interface changed to pass only unique ids instead of the whole Location /
DepartmentalInstructor objects. - This is to avoid unnecessary serialization between the remote solver server and the web server.
Solver (RPC) Cluster
- When calling refresh solution, pass the refresh to all local servers (not just the first one).
Config Edit
- Added the ability to configure a maximum number of classes allowed to be created for
a scheduling subpart.- The property unitime.subpart.max_num_classes determines the maximum number of classes that can
be created for a scheduling subpart using the Config Edit page. The property defaults to 998
classes.
- The property unitime.subpart.max_num_classes determines the maximum number of classes that can
UniTime 3.5 build 254
Bug Fixes
Instructional Offering Detail
- Curricula Table: Fixed a null pointer exception that sometimes occurs.
Data Exchange
- Course Catalog XML Import: Fixed setting of the fractionalCreditAllowed attribute.
Edit Course Offering
- By Reservation Only, Enrollment Deadlines: Corrected the condition when the by reservation only
toggle and the enrollment deadlines are updated.- This fixes the problem of the by reservation only toggle not being updated when the course has
no credit information.
- This fixes the problem of the by reservation only toggle not being updated when the course has
Date Patterns
- Week Number: Corrected computation of the week number to folow the formal definition in ISO
8601.- Week 1 is the week with the year's first Thursday in it.
- Comparison: Compare date patterns using numbers of weeks and offsets instead of sizes and start
dates.- This also fixes the transitivity of the comparison (IllegalArgumentException: Comparison
method violates its general contract).
- This also fixes the transitivity of the comparison (IllegalArgumentException: Comparison
Event Management
- Fixed a NullPointerException error when there is Display Conflicts in the event filter with
nothing in the room filter and the query returns a meeting that has no room.
Online Student Scheduling
- Course Types: Fixed an issue of ignoring course types when the online scheduling server runs in
the replicated mode.
Other Improvements
Session Roll Forward
- Instructional Offerings: When adding new instructional offerings based on course catalog data
for a session, set up the course credit unit configuration if it exists in the course catalog.- This was already done when the course catalog was being used in conjunction with rolling
existing courses forward for a session, but not for a new offering.
- This was already done when the course catalog was being used in conjunction with rolling
UniTime RESTful API
- API Permission Checks: Check any authority instead of the current (default) one.
Class Assignment
- Rooms: display the GWT-based room tool tip on mouse over. It also contains the room preference,
and the conflicting class (if there is a conflict) as a note. - Times: display the GWT-based time tool tip on mouse over. It shows time pattern grid with the
time preferences and the selected time highlighted. - Rooms: added ability to select between departmental, timetabling, and all rooms.
- Timetabling rooms are all the rooms that have at least one department in the room sharing,
i.e., rooms that can be used for course timetabling by at least one department.
- Timetabling rooms are all the rooms that have at least one department in the room sharing,
Room Availability Interface
- Room availability interface changed to pass only unique ids instead of the whole Location /
DepartmentalInstructor objects. - This is to avoid unnecessary serialization between the remote solver server and the web server.
Solver (RPC) Cluster
- When calling refresh solution, pass the refresh to all local servers (not just the first one).
Config Edit
- Added the ability to configure a maximum number of classes allowed to be created for
a scheduling subpart.- The property unitime.subpart.max_num_classes determines the maximum number of classes that can
be created for a scheduling subpart using the Config Edit page. The property defaults to 998
classes.
- The property unitime.subpart.max_num_classes determines the maximum number of classes that can
UniTime 4.1 build 110 (Alpha 4)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Mintes: average number of minutes a class takes during a week (weekly minutes =
number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Paramter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrolments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conflicting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
Examination Timeta...
UniTime 4.1 build 99 (Alpha 3)
Changes from UniTime 4.1.94, Alpha 2
Scripts: Scripts in progress
- Scripts in progress table: allow word wrapping in the table (rather than making the page way too wide, e.g., when status lists an exception)
Batch Student Scheduling: Student Filter
- added ability to filter what student will get loaded into the batch student scheduling solver using a boolean query (solver parameter Load.StudentQuery)
API: Error Handling
- added ability to return the exception in a JSON format (instead of the default tomcat's error page)
iCalendar Exports
- ensure that the exported dates are in the local timezone
- this fixes the issue with daylight savings that was introduced in commit 592152d
API: Room Pictures
- added ability to retrieve, upload, and delete room pictures
- retrieve: GET UniTime/api/rooms?pictureId=
- upload: PUT UniTime/api/rooms?term=&room= (with the file as payload)
- delete: DELETE UniTime/api/rooms?pictureId=
Application Properties: Temp Files
- always use US locale for the temp file time stamps (this is to avoid potential issues with accented characters in file names)
API: Rooms
- added ability to create, update and delete rooms
- create or update: POST UniTime/api/rooms (with a file in the RoomDetailInterface format as payload)
- delete: DELETE UniTime/api/rooms?roomId= or DELETE UniTime/api/rooms?term=&room=
Online Student Scheduling: check for new servers
- do not fail the thread that is periodically checking for new online student scheduling servers to start when the first execution is done at a time when Hibernate is not yet configured (a very rare possibility)
Full Release Notes
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Mintes: average number of minutes a class takes during a week (weekly minutes =
number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Paramter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrolments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conficting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given colum...
UniTime 4.1 build 94 (Alpha 2)
Changes from UniTime 4.1.92, Alpha 1
Data Exchange: Course Offering Import / Export
- added ability to export and import cancelled classes
- if a class does not have an external id, fall back to the class label (e.g., ALG 101 Lec 1)
- added ability to import examinations together with the courses (including period and room assignments)
Course Timetabling: Student Course Demands
- fixed a bug that is causing all student course demands that are using made up students to squish all the course demands under a single student
- this was caused by the generated student id not being properly set on the WeightedStudentId class
- the bug was introduced recently, by commit bf612af
API: Online Student Scheduling
- added online student scheduling JSON API
- pretty much all the calls in the org.unitime.timetable.gwt.services.SectioningService are covered,
except of those related to HTTP session attributes (e.g., last request / schedule) - the SectioningService is used by the Online Student Scheduling Assistant and the Online Student Scheduling Dashboard pages
- pretty much all the calls in the org.unitime.timetable.gwt.services.SectioningService are covered,
Full Release Notes
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Mintes: average number of minutes a class takes during a week (weekly minutes =
number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Paramter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrolments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conficting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a departm...
UniTime 4.1 build 92 (Alpha 1)
Course Timetabling
Class Duration Types
- Added ability to define different ways how class duration is entered and used in the system (to
extend the formal Minutes per Week selection). - There is a new page (Administration > Other > Class Duration Types), where the class duration
types can be managed.- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
make changes.
- Permission ClassDurationTypes is needed to access the page, ClassDurationTypeEdit is needed to
- Default duration type can be defined on an academic session, it can be overridden on the
instructional offering configuration level (Instructional Offering Configuration page).- Name of the default duration type is used in the column headers (Classes, Instructional
Offerings), abbreviation is used to suffix durations that are using a non-default duration
type.
- Name of the default duration type is used in the column headers (Classes, Instructional
- Following class duration types have been implemented:
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
meetings x minutes per meeting) - Average Weekly Mintes: average number of minutes a class takes during a week (weekly minutes =
number of meetings x minutes per meeting x number of weeks of the data pattern / number of
weeks in the term)- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
pattern)
- Paramter: number of weeks in the term (defaults to the number of weeks of the default date
- Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
minutes per meeting x number of weeks of the data pattern) - Semester Hours: number of hours in the semester (semester hours == number of meetings x
minutes per meeting x number of weeks of the data pattern / minutes in an hour)- Paramter: number of minutes in an hour (defaults to 50)
- Meetings Minutes: number of minutes of all the meetings, excluding vacations (meeting minutes
== number of meetings based on the date pattern x minutes per meeting)- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
(defaults to 0.95,1.10 -- meaning a class can have 5% less time, combinations with 10% more
time will be also considered). - If the number of meetings based on the date pattern exceeds the desired number of meeting
minutes, only meetings covering the given number of meeting minutes are created.
- Parameters: allowed variation of the meeting minutes, expressed as lower and upper bound
- Meeting Hours: just like meeting minutes, but with hours (semester hours == number of meetings
based on the date pattern x minutes per meeting / minutes in an hour)- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
(defaults to 50,0.95,1.10 -- 50 minutes in an hour, 5% less time allowed, combinations with
up to 10% excess time are considered).
- Paramters: number of minutes in an hour and the allowed variation of the meeting minutes
- Minutes per Week (default): this is the existing behaviour (minutes per week == number of
- It is possible to hide class duration types that are not to be used by the users.
- If only one type is visible, there is no selection of the class duration type on the
Instructional Offering Configuration page.
- If only one type is visible, there is no selection of the class duration type on the
Cancelled Classes
- Added ability to cancel a class.
- Multiple Class Setup page: class with enrolments cannot be deleted, but it could be cancelled
instead. - Cancelled classes retain their committed assignment, but the appropriate class event is
cancelled. - Cancelled classes are not loaded into the course timetabling solver.
- Cancelled classes cannot be edited or re-assigned and they do not block the room or instructor.
- When a cancelled classes is reopened, the appropriate event is also re-approved.
- This could cause conflicts, that have to be manually resolved.
- In student scheduling, cancelled classes are avoided (no valid enrollment can contain
a cancelled class). - In online student scheduling, it is possible to keep existing students in cancelled classes when
solver configuration parameter named Enrollment.CanKeepCancelledClass is set to true (defaults
to false). - New permissions:
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
solution and at least one student enrolled in the class) - Class Delete No Enrollment Check: this permission overrides the enrollment check from the
Class Delete permission (not given to any role by default) - Class Cancel: ability to cancel a class (there must be a committed solution)
- The Class Delete and Class Cancel permissions are by default given to all roles that have
Multiple Class Setup Class and / or Class Edit permissions.
- Class Delete: ability to delete a class (class cannot be deleted when there is a committed
- Added a new permission (named Class Delete No Enrollment Check) that overrides the enrollment
check from the Class Delete permission.- No role is given this permission by default.
- Make Not-Offered: It is allowed to make an offering not-offered only when there are no students
enrolled, there is no committed solution, or the user has the Class Delete No Enrollment Check
permission. - Cross Lists: it is allowed to remove a cross-listed course from an offering only when there are
no students enrolled, there is no committed solution, or the user has the Class Delete No
Enrollment Check permission.
Conficting Classes
- Class Detail: Display conflicting classes.
- There is a new table called Conflicting Classes, just below the Timetable section.
- The table is only visible when the class is conflicting with some other class (or classes).
- The same checking as on the Class Assignment page is used.
- Instructional Offering Detail: Highlight conflicting classes with light red background.
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
page, see above).
- Conflicting classes are listed in the tooltip (more details are provided on the Class Detail
- Conflict checking: avoid showing conflicts between classes that can overlap because of the Can
Share Room or the Meet Together distribution.
Instructional Methods
- Added instructional methods lookup table. Each method has a reference and a label.
- Example instructional methods: Online, Hybrid, or Face-to-Face.
- Instructional offering configuration can have an instructional method set.
- If set, instructional method appear on various pages, including the Scheduling Assistant and
Events. - It is usually included in the Type column, next to the instructional type, e.g., Lecture
(Online).
Multiple-Major Curricula
- A curriculum has a new property named multiple majors (boolean, default to false).
- If a curriculum is marked as multiple-major: a student meets the curriculum only when he/she has
all the selected majors (not one of the selected). - A multiple-major curriculum will inherit course projections from curricula that have no or one
of the matching majors. - There can be multiple curricula that get combined together to form a multiple-major curriculum.
- If a course is on several curricula, the highest percent share (of the particular
classification) will be used. - These shares can be overridden on the multiple-major curriculum, but no courses can be deleted
(course projection must be set to zero instead). - The parent (single or no major curricula) can have zero requested students, only acting as
templates for the multiple-major curricula. - If there is no multiple-major curriculum, everything works like before.
Reservations
- Remember last sort in the reservation cookie.
- Added Previous / Next buttons (Edit Reservation).
- Added confirmation message when deleting a reservation (Edit Reservation).
Rooms
Overview
- The room pages have been completely rewritten using the Google Web Toolkit.
- The new pages are localizable, they are using the same Room Filter as is used in the event
management, and they are allowing a change to propagate over to the future academic sessions as
well. - It is also possible for users that are not managers in UniTime (e.g., instructors) and/or that
have no relation to a particular department (e.g., students) to be allowed to use the new rooms
pages. - When accessed from the Events menu, the Rooms, Room Groups and Room Features pages contain the
selection of an academic session, just like the Events page. - It is possible to use the old pages by setting the application property unitime.legacy.rooms to
true (defaults to false).
Rooms
- The Rooms page now contains a Room Filter and a table with many features.
- The table of rooms can be sorted by a given column, can show pretty much any room property, and
it can be exported to PDF or CSV.
Add/Edit Room
- Add Room and Edit Room page now contains all the functionality of the various edit pages that
were accessible from the Room Detail page. - Moreover, it is now possible to make the update the room in the (selected) future academic
sessions as well. - Only selected groups of properties can be updated in a particular future session.
Edit Room Departments
- The page can be used to assign multiple rooms to a particular department or examination
problem). - The page is only accessible when a department or an examination problem is selected in the Room
Filter. - The page is now using the same table of rooms as the Rooms page and it is populated by all the
rooms matching the Room Filter (except of the selected department / examination problem). - Rooms not matching the Room Filter are left unchanged.
Room Groups / Features
- The Room Groups and Room Features pages also use the Room Filter to list rooms (and matching
room features and groups). - The Add and Edit pages are also using the same table as on the Rooms page with the list of rooms
populated by all the rooms matching the Room Filter. - Rooms not matching the Room Filter are left unchanged.
- When creating / updated a room group or feature, it is possible to select one or more future
academic sessions that would be updated as well.- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,
only rooms with a change are updated. - This means that the future group (or feature) is NOT reset to the rooms that are currently
selected on the group (or feature).
- Besides of the properties of the group (or feature) like name, abbreviation department, etc.,