Skip to content

UniTime 4.2 build 137 (Beta 1)

Pre-release
Pre-release
Compare
Choose a tag to compare
@tomas-muller tomas-muller released this 06 May 08:54
· 2636 commits to master since this release

Beta1 Release of UniTime 4.2

Release Notes

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).

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.

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).
  • 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).
  • 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)