UniTime 4.2 build 146 (Beta 3)
Pre-release
Pre-release
tomas-muller
released this
26 May 14:01
·
2613 commits
to master
since this release
Beta3 Release of UniTime 4.2
Release Notes
- See https://goo.gl/4g1XQV for more details.
Instructor Scheduling
Description
- In UniTime 4.2, a new component for automatic assignment of instructors to classes or courses
has been created. - The instructors (e.g., teaching assistants) are expected to be assigned after the course
timetabling and student scheduling are done, using information from both course timetabling
(course timetable) and student scheduling (student availability). - See https://goo.gl/Zb2aES for more details.
Responsive Design
Description
- All the existing new (GWT-based) pages have been made more mobile friendly.
- This means that page closely follows the width of the window, making all the tables to fit or to
have individual horizontal scroll bars. - A few changes have been also made to the common components that are used on the (old)
Struts-based pages to increase their mobile friendliness. - When the page with is 800 pixels or less, there is also a new menu, which shows on top of the
page. - The page takes the full page width (no surrounding blue box), and the page header and footers
are reformatted to fit the screen. - Also, the GWT-based page notifications take the whole bottom part of the page (and disappear
after a few seconds or when clicked on).
Course Timetabling
Solver, Solver Log
- All UniTime solvers are now based on the same common interface and there have been a number of
redundancies removed. - With that, there is also a new GWT-based version of the Solver and the Solver Log page.
- Old solver pages can be enabled by setting unitime.legacy.solver to true.
- The solver can now be stopped during load, save, or student sectioning.
Teaching Responsibilities
- Both instructors and coordinators can have a teaching responsibility defined (optional).
- The teaching responsibilities are academic session independent and can be defined on
Administration > Other > Teaching Responsibilities page. - Beside of reference, name, and abbreviation, there is a flag defining whether the responsibility
can be used on an instructor (Instructor column), on a coordinator (Coordinator column), whether
the assignment should be visible in the reports (Auxiliary), not visible in the event management
(Hide in Events) or not exported / sent to an external system (No Export). - With this change, an instructor can be assigned to a class or to an offering (as course
coordinator) multiple times, but with different responsibilities. - It is also possible to setup a default teaching responsibility (one for instructors and one for
coordinators, see the Default column above), in which case there has to be a teaching
responsibility selected for all the new instructor or coordinator assignments.
Highlight Class-level Preferences
- Since UniTime 4.1, it is possible to highlight preferences that are set directly on classes with
the unitime.preferences.highlightClassPrefs application property. - It is now possible to set whether class preferences are to be highlighted on a user level (using
user settings). There is a new settings (named highlightClassPrefs) with the following values:- yes (class preferences are to be highlighted)
- no (class preferences are not to be highlighted)
- not set (use the system default, as it is set using unitime.preferences.highlightClassPrefs
application property)
- For the users to be able to use this feature, the highlightClassPrefs user property needs to be
created on the Administration > Defaults > User Settings page.
Departmental Status
- Added ability to provide a different status for each controlling and external department pair.
- This is to be able to change access to LLR classes for departments that are already done.
Show Class Suffixes
- Added ability to show class external ids (class suffixes) in the course timetabling solver (next
to the class section number). - To enable this, set the application configuration property unitime.solver.showClassSuffixes to
true (defaults to false).
Student Group Scheduling
- Added ability to keep students of a certain student group or curriculum classification together
as much as possible. - For this, there is a new resource on the Timetable grid page (Student Groups), a new criterion
(Student Groups), and two new sectioning algorithms. - Also, student group reservations are now considered during the course timetabling.
- It is also possible to use last-like enrollments for student group reservations, assuming that
there is a student group with the same abbreviation (code) in the last-like data. - Student group can also have an expected size now, which can be used by the solver to make up
student group course demands. - There is a new solver parameter General.StudentSectioning that allows the users to choose one of
our student sectioning algorithm.
Instructional Offering Note
- Added a note to the instructional offering, much like the requests / notes to schedule manager
on the classes. - To be edited on the Edit Course Offering page of the controlling course.
- Displayed on the Instructional Offering Detail page and in the Instructional Offerings table.
- When application property unitime.offering.showClassNotes is set to true (which is also the
default), class notes are also displayed on the Instructional Offering Detail page, showing all
the notes and requests for an offering on one place.
Timetable Grid
- Timetable grid page has been rewritten in GWT, with the following improvements:
- the page is now fully localizable, it is responsive and prints nicely
- the Days and Times selections can be changed using application properties (see
unitime.timeGrid.times and unitime.timeGrid.days properties) - it is now possible to include cross-listed names (by setting unitime.timeGrid.crossList to
true) - when showing solver data, instructors of committed classes can be shown (by setting
unitime.timeGrid.fixInstructors to true) - the view can start on any day of week (by setting unitime.timeGrid.startDay to a number
between 0 for Monday and 6 for Sunday) - when there is no solution loaded or selected, the committed solution(s) of the user are shown
instead
Assigned / Not-Assigned Classes
- Assigned Classes, Not-Assigned Classes pages have been rewritten in GWT, with the following
improvements:- the page is now fully localizable, it is responsive and prints nicely
- it is now possible to include cross-listed names (by setting unitime.timeGrid.crossList to
true) - when there is no solution loaded or selected, the committed solution(s) of the user are shown
instead - multiple subject areas can be selected
- when solver is not loaded in memory, show Class Detail page on click
Student Scheduling
Default Alternative Course Offering
- An ability to provide a (default) alternative course offering (Add/Edit Course Offering page)
has been added. - When a course is requested without any alternatives provided, the default alternative course
offering can be used as an alternative. - Set the application property unitime.sectioning.alternativeCourse to true to enable this feature
(default is false).
Student Groups
- In the batch student scheduling, the ability to keep students of the same student group together
has been greatly improved. - The feature can be enabled by setting the solver parameter solver parameter Load.RequestGroups
to true (defaults to false). - There is also a new solver parameter Load.RequestGroupRegExp, containing a regular expression to
be matched with student group name (when present).
Choice of Instructional Method or Individual Section(s)
- Note: Instructional methods can be defined on Administration > Other > Instructional Metods page
and can be used on the Instructional Offering Configuration page (each configuration can have an
instructional method indicated). - On the Student Scheduling Assistant, it is now possible to select instructional method (Online,
Hybrid, etc.) and/or the individual section. - The selection can be done through the Course Finder dialog or by typing in additional
information in the course selection text field. - The selection of an instructional method and/or individual sections work as a preference.
- If a student cannot be enrolled in the configuration or sections indicated, he/she may get some
other available enrollment (not meeting the selected preference) instead. - These preferences can be also collected during the Course Requests phase (when student course
requests are being collected, but the scheduling is not available yet, e.g., because the
timetable is not finalized). - Both online and batch solvers do consider these preferences.
Responsive Design
- The Student Scheduling Assistant is now more responsive.
- This means that page closely follows the width of the window, making all the tables to fit or to
have individual horizontal scroll bars. - Also, the component has been changed to better fit a smaller screen.
- Course Requests table no longer show alternative course requests (the two extra text-boxes on
each line), but they can be added if needed by pressing the + button (or Ctrl+A). - There is now more space for course request preferences (the course request component is much
wider). - It is now possible to reorder the course with its alternatives.
- With this change, there is no longer any limit on how many alternatives a course request can
have.
Student Note
- A note can be set on a student.
- This note is only available and can be edited on the Student Scheduling Dashboard page.
Student Availability
- A student may not be available during a particular time because he/she is teaching some other
class. - Both batch and online solvers now consider this student/instructor availability.
- A student can now see his/her teaching assignments in the Scheduling Assistant too.
No Arrows
- Course Requests, Student Scheduling Assistant: added an option to hide the up and down arrows
and the trash bin in the Course Requests table. - The buttons can be removed by setting the application property
unitime.enrollment.hideCourseRequestArrows to true (defaults to false). - The remaining components are made larger when the buttons are not shown to fill in the gap.
- When the X is clicked in the Course Request Box and there is nothing filled in, the line is
removed and the courses below are shifted up (just like when the trash bin was clicked).
Logging
- Additional columns have been 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).
Event Management
Academic Sessions
- Added ability to list the academic sessions in the drop-down in the reverse order (latest
session first). - This does not changes the order of the navigation arrows.
- Change the order by setting unitime.events.listSessionsLatestFirst to true (defaults to false).
Meeting Contacts
- Added ability to associate contacts with individual meetings (Meeting Contacts, many-to-many
relation). - The following two permissions are needed to enable this feature:
- Event Can View Meeting Contacts (Meeting Contact column is made visible in the Events)
- Event Can Edit Meeting Contacts (Add/Remove Meeting Contact operations are available on the
Add/Edit Event page)
Rooms
Room Display Name
- Events: Show display name (if exists) next to the room name.
- Room Filter can search by display name, and the display name shows in suggestions.
- Also include display name in the event confirmation email and in the PDF/CSV/iCalendar exports.
- Room display name is now also shown in the Examination PDF Reports and in the Scheduling
Assistant.
Room Feature Description
- Room feature has a new description field of up to 1000 characters.
- Room feature and group descriptions now show in the room mouse-over and in the room filter.
Delete Room / Non-University Location
- It is now possible to delete a room when all the meetings in it are either cancelled or
rejected. - Cancelled / rejected meetings are also deleted with the room.
- This change makes it possible to delete such a room as it is not possible to delete meetings
that are cancelled or rejected otherwise.
Point in Time Reports
Point In Time Data Snapshots
- UniTime now allows taking a snapshot of current state of students and their registration, class
limits, and some other data. - Such a snapshot, e.g., taken at the census date, can be used for reporting, data analysis, and
roll forward. - Multiple snapshots can be created for a term.
- The Point in Time Data snapshots can be created (exported) and saved (imported) using the Data
Exchange page. - There is a new administration page Point In Time Data Snapshots, which can be used to maintain
imported snapshots.
Point In Time Data Reports
- Point In Time Data Reports page contains a set of standard reports that are calculated from the
static Point In Time Data snapshots for a session. - The following reports can be run from the Point In Time Data Reports Page:
- Weekly Student Class Hour Report For Department By Class
- This report lists organized, not organized and total class hours for each class that occur
between the session start date and the session class end date for the selected department.
- This report lists organized, not organized and total class hours for each class that occur
- Weekly Student Class Hour Report For Department By Instructor Position
- This report lists organized, not organized and total class hours and student class hours for
instructor position that occur between the session start date and the session class end date
for the selected departments.
- This report lists organized, not organized and total class hours and student class hours for
- Weekly Student Class Hour Report For Department By Instructor
- This report lists organized, not organized and total class hours and student class hours for
instructor that occur between the session start date and the session class end date for the
selected departments.
- This report lists organized, not organized and total class hours and student class hours for
- Departmental Weekly Student Class Hour Report
- This report lists organized, not organized and total class and student class hours for each
department that occur between the session start date and the session class end date.
- This report lists organized, not organized and total class and student class hours for each
- Room Utilization
- This report lists organized, not organized and total room and student class hours for each
location that is used between the session start date and the session class end date.
- This report lists organized, not organized and total room and student class hours for each
- Weekly Student Enrollment by Day Of Week and Period
- This report lists organized, not organized and total student enrollments for each period
collectively for all classes that meet the report criteria that fall between the session
start date and the session class end date.
- This report lists organized, not organized and total student enrollments for each period
- Organized Weekly Student Class Hours by Day Of Week and Hour of Day
- This report lists organized student class hours for each hour in the day collectively for
all classes that fall between the session start date and the session class end date.
- This report lists organized student class hours for each hour in the day collectively for
- Organized Weekly Student Class Hours by Building by Day Of Week and Hour of Day
- This report lists organized student class hours by building for each hour in the day
collectively for all classes that fall between the session start date and the session class
end date.
- This report lists organized student class hours by building for each hour in the day
- Weekly Student Class Hours by Instructional Type by Day Of Week and Hour of Day
- This report lists student class hours by instructional type for each hour in the day
collectively for all classes that fall between the session start date and the session class
end date.
- This report lists student class hours by instructional type for each hour in the day
- Organized Weekly Student Class Hours by Department by Day Of Week and Hour of Day
- This report lists organized student class hours by department for each hour in the day
collectively for all classes that fall between the session start date and the session class
end date.
- This report lists organized student class hours by department for each hour in the day
- Organized Weekly Student Class Hours by Subject Area by Day Of Week and Hour of Day
- This report lists organized student class hours by subject area for each hour in the day
collectively for all classes that fall between the session start date and the session class
end date.
- This report lists organized student class hours by subject area for each hour in the day
- Weekly Student Class Hour Report For Department By Class
Other Changes
Page Flow
- For JSP-based pages, when showing the (old) loading icon in the page header, also use the
GWT-like "Loading page..." notification (page grayed out with the blue message in the middle). - For all pages, when leaving the page (e.g., a button requesting a different page or submitting
a button was pressed), show the "Please wait..." notification (page grayed out with the blue
message in the middle). - This is to prevent the users from clicking on the same button (or on different buttons) multiple
times and causing UniTime to respond even slower.
Export CSV
- Export CSV capabilities have been added to Instructors page and to Student Scheduling Dashboard
page.
Data Exchange
- Added ability to import and export course timetabling preferences.
- Added ability to include individual class meeting in the course timetabling and course timetable
exports.- This feature can be enabled by setting the tmtbl.export.classMeetings application property to
true (defaults to false).
- This feature can be enabled by setting the tmtbl.export.classMeetings application property to
- Unify the use of suffix attribute of a class element across all the imports and exports.
- Suffix attribute is set to class suffix, if it is not null and not empty class section number
string (e.g., 1a) is used otherwise.
Data Model: Student Curriculum Information
- Improving the student curriculum information data model to have a single table listing
quaternions- (student, academic area, classification, major) and
- (student, academic araa, classification, minor)
- instead of having three separate tables for
- (student, academic area, classification),
- (student, major), and
- (student, minor).
- This is to overcome a problem when student has two majors from the same academic area.
- The new tables are named student_area_clasf_major and student_area_clasf_minor, and they are
replacing tables student_acad_area, student_major, and student_minor. - It is no longer possible for a student to have an academic area and classification without also
having a major or a minor (a dummy No Major major is created during data update and imports when
needed).
Roll Forward
- Added ability to define which of the distribution preferences (that are set between classes and
subparts) are going to be rolled forward. - This is to avoid cases where a distribution preference is only partially rolled, e.g., because
preferences are rolled on subparts, but not on classes. - There are the following options:
- roll forward all distribution preferences
- roll forward all distribution preferences, except those that are put solely on classes (this
is the default) - roll forward only distribution preferences that are put solely on subparts
- do not roll forward distribution preferences
- Added ability to preserve class suffixes and external ids.
- Class suffix and external id is reset to null (not copied over to the next academic session)
only when unitime.rollforward.resetClassSufix is set to true (defaults to false).
- Class suffix and external id is reset to null (not copied over to the next academic session)
- Roll configuration, subparts, and classes forward in their natural order (as they are displayed
in UniTime).- This is done in an attempt to preserve class labels (section numbers) as much as possible.
- Added the ability to roll student class enrollments from point in time snapshots to the last
like demand data roll forward. - Instructor attributes and instructor teaching preferences are rolled forward together with the
instructors. There is a new option to roll forward teaching requests for selected subject
area(s)