Skip to content

Releases: UniTime/unitime

UniTime 4.2 build 146 (Beta 3)

26 May 14:01
Compare
Choose a tag to compare
Pre-release

Beta3 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 particu...
Read more

UniTime 4.2 build 141 (Beta 2)

15 May 12:39
Compare
Choose a tag to compare
Pre-release

Beta2 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 particu...
Read more

UniTime 4.1 build 231

08 May 12:27
Compare
Choose a tag to compare

Course Timetabling

Automatic Hierarchical Constraints

  • Improved parsing of the General.AutomaticHierarchicalConstraints parameter.
  • If there is a date pattern that is not used or that does not exist, do not skip parsing of the
    rest of the parameter.
  • Check for English (not localized) versions of the preferences and for preference abbreviations.
  • Flexible and other constraints (that are not implemented by the GroupConstraint class) are now
    allowed as well.
  • Date patterns containing commas must use quotation marks, e.g., Preferred Same Start "Week
    1,3,5".

Automatic Student Constraints

  • Added ability to automatically post certain distribution constraints between classes that are
    attended by the same students (the given constraints are posted between all classes of
    a student).
  • This is only enabled when deterministic student sectioning is used.
  • The list of constraints that are to be posted (together with their preferences) is given by
    solver parameter General.AutomaticStudentConstraints.
    • Contains a comma delimited list of , for example:
    • Preferred Max 1 Break, Strongly Preferred At Most 6 Hrs, Required 8h Work-Day
  • By default, the given constraints are posted on every set of classes that are attended by at
    least 5 students (must be all classes those 5 students are attending).
    • This can be changed by General.AutomaticStudentConstraints.StudentLimit solver parameter
      (defaults to 5).

Timetable Grid

  • Added room tooltip when resource is Room and when hovering over a room name (top left corner of
    each table).

Curricula

  • Last-Like Course Demands: Consider demand offering (Take Course Demands from Offering parameter
    on a course) when showing last-like enrollments and when Curricula Last Like Course Demands are
    used.
  • Multiple Majors: Fixed a null exception thrown when there are last-like or real students
    matching multiple majors of a multi-major curriculum on Oracle.

Class Assignment

  • Fixed a null exception thrown when there is a student conflict with a class event for a class
    that is not assigned.
    • This can happen when the Class Assignment page is configured not to change the past and
      a class is unassigned later in the term.
  • Also, do now show student conflicts with canceled classes / meetings.

Time Pattern Icons

  • Fixed an issue that was causing a "Coordinate out of bounds!" error when a time pattern icon for
    a pattern with more than 7 day combinations was being rendered.
  • The issue was introduced by a recent change allowing Room Sharing and Instructor Time
    Preferences grid to run over Sunday.

Curriculum Course Demands: Precision Fix

  • Make sure that the computation of the curriculum-based student course demands does not get stuck
    due to the floating point precision inaccuracy.

Instructor Preferences

  • Added ability for an instructor to edit his/her preferences, using Courses > Input Data >
    Instructor Detail page.
  • Permissions needed: Instructor Detail and Instructor Preferences, but NEVER HasRole permission
    (which should be reserved for manager roles).
  • Session/department statuses needed: Owner View (to see the detail page) and Owner Edit (for the
    ability to edit preferences).
  • If an instructor exists in two or more departments, there is a Department drop-down on the
    Instructor Detail page allowing the user to switch departments.

Student Scheduling

Banner XE Interface

  • When dropping a section and the DW action is not available, check for other D% action that can
    be used.
  • Log all the exceptions and Banner messages as warnings. Also log all the exceptions when no
    enrollment change is detected.
    • This fixes the issue of not seeing the "Section not available for student scheduling." in the
      log.

Course Requests, Student Scheduling Assistant

  • Added ability to hide up and down arrows in the Course Requests table.
  • This can be done by setting the application property unitime.enrollment.hideCourseRequestArrows
    to true (defaults to false).

Event Management

Personal Schedule: Examinations and Course-Related Events

  • Fixed an issue introduced by commit 8d552bf: OfferingCoordinator is not mapped error is shown
    when looking up a coordinator schedule (role:Coordinator in the event filter).

Event Timetable: Arrange Hours Classes

  • Do not show Arrange Hours classes on the week of January 1.
  • That is, when a week containing January 1 is selected in the Filter, not All Weeks or All
    Matching Weeks.

Examinations

PDF Reports: Period Chart

  • Period Chart report: corrected breaking of the report over the week's end.
  • This fixes an issue of not printing Monday periods in some cases.

Administration

Session Roll Forward: Fixed bug with Subject Area Roll Forward

  • The roll forward has been updated to fail when rolling subject areas forward into a session that
    does not have departments that match the departments the subject areas should be attached to.

Data Exchange: Course Offerings and Course Timetable Exports

  • Added ability to include individual class meetings in the course offerings and course timetable
    exports.
  • This feature can be enabled by setting the tmtbl.export.classMeetings application property to
    true (defaults to false).

HQL Reports: Export HQL

  • Improved the ability to download a particular HQL report, using
    UniTime/export?output=hql-report.csv URL.
  • Academic session can be selected using term parameter.
  • HQL appearance and admin-only permissions are checked (the user must have the appropriate
    permissions to be able to get the report).
  • Report parameter can contain name of the report (instead of unique id).
  • Individual report parameters can be looked up (no need to retrieve unique ids first), for
    example: DEPARTMENT=, SUBJECT=, ROOM=, or RoomType=.

User Context: Default Academic Session

  • Added ability to shift current date by a given number of days when computing default academic
    session.
  • Application property unitime.session.defaultSessionShiftDays, defaults to 0.
  • This could be used, e.g., to start showing users the next academic session two weeks before the
    classes / events start.

UniTime 4.2 build 137 (Beta 1)

06 May 08:54
Compare
Choose a tag to compare
Pre-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 particu...
Read more

UniTime 4.1 build 218

12 Jan 13:37
Compare
Choose a tag to compare

Course Timetabling

Class: Change Managing Department

  • Do not delete the related class event if committed assignment is not deleted.
    • This fixes an issue of changing a controlling course to another subject area that has the same
      solver group (the related class event was incorrectly deleted).
  • When a class event is being deleted, do not delete past meetings when
    tmtbl.classAssign.changePastMeetings is false.
  • Update the class event name when the controlling course of the class has changed.

Back-to-Back Distribution Preference

  • Avoid issues (especially ArrayIndexOutOfBoundsException) when classes that are in a back-to-back
    constraint can partially overlap in time.

Max N Hours A Day Distribution Preference

  • Conflict checking for the Max N Hours A Day group constraint corrected: do not return a constant
    variable (i.e., a committed class of some other problem) as a conflict.
  • Also, return the evaluated placement as a conflict when there is not enough time on the day for
    the class without unassigning a constant variable.
  • Fixed an issue in conflict checking of Max N Hours A Day group constraint to prevent the
    constraint from returning null conflicts when there are too many committed classes on a day.

Timetable Grid: Subject Area Resource

  • Added Subject Area as a Resource (showing all classes of a particular subject area in one
    table).
  • When Department is selected as a Resource, show classes by (controlling) department even when
    there is no departmental spread constraint created (solver mode).

Instructional Offering, Classes: Highlight Class Preferences

  • Added ability to set whether preferences that are set directly on a class are to be highlighted
    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

Room Sharing / Instructor Time Preferences Grid

  • Room Sharing / Instructor Time Preferences grid changed to allow for the week to run over
    Sunday.
  • For example unitime.room.sharingMode5=Su-Th 8am-9pm|6|3|96|252|6 would create a mode going from
    Sunday till Thursday, in half-hours between 8am and 9pm.

Google Maps API Keys

  • Google Maps Static API (used on Rooms, Room Detail, and in the mouseover popups):
  • Google Maps Standard API (used on Room Edit and Building Edit to enter/show coordinates):
  • Also, use the Google Maps v3 API (maps.googleapis.com) instead of the Google Maps v2 API
    (maps.google.com).

Instuctional Offerings, Classes, Examinations: Back

  • Encode the entered course number to UTF-8 for the navigation / back.
  • This fixes an issue with URL encoding when course number contains non-ASCII characters.

Add/Edit Curriculum

  • Shared Students Tooltip: Computation of projected students that are shared between two or more
    courses corrected.

Event Management

Event Timetable: Arrange Hours Classes

  • Added ability to show Event Detail page for Arrange Hours classes (classes that are not assigned
    in time and hence have no ClassEvent associated with).
  • This includes the Enrollments table (showing students enrolled in the class).
  • The Event Detail page for an arrange hours class is only available to users with Event Detail
    Arrange Hour Class permission.
  • The related permission check requires for the user to either also have the Class Detail
    permission for the class in question, or that the user is listed among the course coordinators
    or instructors of the class.

Events, Room Availability: Display Room Event Note

  • Display the room note on the top of the room grid on the Events and Room Availability pages
    (when showing a time grid for a single room).
  • Use white-space:pre-wrap for the room note (follow \n, but wrap the long lines if needed).

Events: Display of Class Events

  • It is now possible to restrict departmental managers to only see class events of their
    department(s) until the schedule is published. That is until the session status includes no-role
    class schedule (e.g., Timetable Published).
  • Set unitime.events.hasRole.checkSessionStatusForClasses to true to enable this restriction
    (default is false, i.e., work as before).

Personal Schedule

  • Instructor: Added an option to include indirect examinations (that is cases where an instructor
    is assigned to a class for which the exam is held).
    • To enable this, set unitime.events.exams.considerClassInstructors to true.
    • If set to false, which is also the default, only exams that have the person assigned as
      instructor would show.
  • When showing an exam (or a course-related event) that is set on multiple classes, only show
    classes that relates to the student (or instructor).
    • Show all owners when the person is also the instructor associated directly with the exam or
      the contact of the course-related event.
    • Show all owners that the person is coordinating (if any).
  • Multiple Rooms Warning: The following warning has been added at the bottom of the page when
    a student is looking at a personal schedule and there is at least one class or exam with two
    meetings at the same date and time with different rooms (e.g., an exam is placed in two or more
    rooms):
    • When multiple rooms are listed, please consult your instructor regarding your class or
      examination room location.

Student Scheduling

Request Groups (Batch)

  • Improved ability to keep students of the same request group together by shuffling students of
    a request group that are spread over multiple sections into a single section or into a fewer
    number of sections.

Reservations

  • When enumerating possible enrollments for a course request, do not skip enrollments without
    a reservation if there is a matching reservation that is not marked as must be used.
  • This change fixes an issue related to the server's capability to keep the student's current
    enrollment by creating a dummy reservation for it.
    • A student was not able to move into a different section in certain cases.

Online Student Scheduling Reports

  • Make sure each student is present only once in the student scheduling model that is used to
    generate the online scheduling report.
  • This fixes an issue with showing wrong numbers on the Time & Availability Conflicts report.

Student Course Requests

  • Student Course Requests page now checks for student eligibility to register.
  • This means that student status can be used to determine whether the wait-listing is enabled, if
    a student is allowed to make any changes, etc.

Online Student Scheduling Dashboard

  • Allow student status change during assistant mode and during registration (when Student Course
    Requests page can be used).
  • Classes for student dialog: Include Enrolled column containing student class enrollment date
    when the student is enrolled and course request date when not enrolled.

Student Sectioning Solver Reports, Online Student Scheduling Reports

  • Not-Assigned Course Requests: Added a new report showing individual course requests that are
    left unassigned.
  • Added ability to show all classes of an individual student when a row containing student unique
    id (in the first column named __Student) is clicked.
  • Export CSV: Do not export the first column when the column name starts with __ (contains unique
    id of a class, offering, exam, student, etc.).

Student Scheduling Assistnat, Student Scheduling Dashboard, Enrollments tables

  • Show room mouse-over tooltips on various pages, including
    • Student Scheduling Assistant: Class Schedule tab
    • Course Finder: List of Classes tab
    • Class, Instructional Offering, Examination, Event, Instructor: Enrollments table
    • Student Scheduling Dashboard: Enrollments tab, Enrollments of student table

API

Instructors API

  • Added an instructors API that returns a list of instructors for the given department or academic
    session.
  • Examples
    • GET UniTime/api/instructors?id=<DEP_ID>
    • GET UniTime/api/instructors?term=&code=<DEPT_CODE>
    • GET UniTime/api/instructors?term=
  • Permission Api Retrieve Instructors is required.

Student Groups API

  • Added a student groups API that returns a list of student groups for the given academic session.
  • Example: GET UniTime/api/student-groups?term=
  • Permission Api Retrieve Student Groups is required.

Curricula API

  • Added a curricula API that returns a list of curricula for the given academic session.
  • Example: GET UniTime/api/curricula?term=
  • Permission Api Retrieve Curricula is needed.
  • Same filter parameters as on the Curricula page can be used to filter the results (with c:
    prefix), examples:
    • GET UniTime/api/curricula?term&c:department=0101&c:area=A
    • GET UniTime/api/curricula?term&c:text=A/M1+or+A/M2
  • To retrieve more details about a particular curriculum, use:
    • GET UniTime/api/curricula?id=<CURR_ID> (details about a particular curriculum)
    • GET UniTime/api/curricula?term&c:text=A/M1+or+A/M2&details=1 (return more information
      for all matching curricula)

Administration

Edit Roles: Fixed Delete

  • Edit Roles (bulk edit page for user roles) did not delete roles that were marked for deletion.

Academic Areas, Classifications, Majors: Delete

  • Do n...
Read more

UniTime 4.1 build 197

28 Jul 11:48
Compare
Choose a tag to compare

Course Timetabling

Reservations: Show Class Suffixes

  • Added ability to show class suffixes (external ids) on the Reservations page and in the
    Reservations table.
  • Enable by setting unitime.reservations.showClassSuffixes to true (defaults to false).

Class Duration Model

  • Avoid NullPointerException when there is no date pattern (i.e., there is no default date pattern
    defined for the term).

Edit Course Offering

  • Fixed an issue that was causing a cross-listed offering to loose all coordinators when a not
    controlling course was edited.

Student Scheduling

Distributions

  • Linked Classes: Fixed computation of the Linked Classes constraint when it contains classes of
    two or more configurations of a course.
  • Add / Edit / Delete Distribution Preference: Notify the online student scheduling about the
    change, if needed.

Reservations (Online)

  • Reservation Limit: Do not cap the reservation limit (by the size of its classes /
    configurations) when the reservation allows for over the limit assignments.
  • Guess Reservation: Do not consider reservation limit when the reservation must be used.
  • Improve server's capability to keep the student's current enrollment (e.g., when there is a new
    reservation which the already enrolled students do not follow).
    • If there are reservations: allow user to keep the current enrollment by providing a dummy
      reservation for it.

Request Groups (Batch)

  • Added ability to filter which student groups will be used as request groups by the solver.
    • Students of a "request group" are to be kept together as much as possible.
    • Solver parameter Load.RequestGroupRegExp, containing a regular expression to be matched with
      student group name (when present).

Examination Timetabling

Examination Reports: Unavailability Conflicts

  • When counting conflicts from the database, do not create conflicts with no students.
  • This fixes the Direct Student Conflicts report (Examination Reports page).
    • Zero conflicts lines shown when the report is computed from the database and the "Show
      classes/courses" toggle is unchecked.

Examination Reports: Room Splits

  • Show all the assigned rooms of an exam that is split between more than four rooms.
  • With this change 3rd, 4th, 5th, ... room columns are added as needed (the report is no longer
    limited to four rooms).

Required Room Group of Strongly Discouraged Rooms

  • Database Load: If an exam is requiring a room group that contains strongly discouraged rooms,
    allow the exam to use these rooms even if there is no direct preference on such rooms on the
    exam.

Event Management

Email Notifications

  • Event room messages are now included in the confirmation email.

Time Selector

  • Fixed an issue showing 12:00 am instead of midnight in the end time of an interval selection
    (e.g., when adding an event).

Room Management

Permissions

  • Events: Fixed a JavaScript exception thrown when the user can edit event availability (has Room
    Edit Event Availability permission) but cannot edit event department (does not have Room Edit
    Change Event Properties permission).
  • Room Sharing: Do not allow a departmental manager to remove a department from the room sharing
    table that does not belong to him/her (if the room is not being controlled by a department of
    the manager).
  • Show room related properties (controlling department, room sharing, ignore distance conflicts,
    etc.):
    • A user that is allowed to edit course related room properties does not need to have Classes or
      Instructional Offerings permission.
    • That is, a user with RoomEditChangeRoomProperties, RoomEditChangeControll,
      RoomDetailAvailability, or RoomEditAvailability permission can also see course related room
      properties.
  • Show examination related properties (examination capacity, examination problems, period
    preferences):
    • A user that is allowed to edit examination related room properties does not need to have
      Examinations permission.
    • That is, a user with RoomEditChangeExaminationStatus, or RoomDetailPeriodPreferences
      permission can also see examination related room properties.
  • Show event related properties (event department, status, note, break time, event availability):
    • a user that is allowed to edit event related room properties does not need to have Events
      permission.
    • That is, a user with RoomEditChangeEventProperties, or RoomDetailEventAvailability, or
      RoomEditEventAvailability cam also see event related room properties.

Room Pictures

  • Rooms, Room Detail: added a mouse-over which shows a bigger picture (limited to 800 x 600
    pixels).
  • Rooms API: fixed an issue with some pictures not being uploaded / deleted when the API is called
    multiple times in a sequence for a particular room.

Other

Security: Possible SQL Injection Fixed

  • Following features were corrected:
    • Instructional Offerings: Search, Worksheet PDF (course number)
    • Instructors: Manage Instructors List (department code)
    • Buildings: Update Rooms (room classifications)

API: Buildings

  • Added buildings API that can
    • return list of buildings for an academic session (GET api/buildings?term= or GET
      api/buildings?sessionId=)
    • creature or update a building (using POST request with the building as a payload)
    • delete a building (DELETE api/buildings?id= or DELETE
      api/buildings?term=&externalId= or DELETE
      api/buildings?term=&building=)
  • Permissions:
    • ApiRetrieveRooms to retrieve list of buildings (GET request)
    • ApiRoomEdit to create, update, and delete a room, together with the appropriate BuildingAdd,
      BuildingEdit and BuildingDelete permission (POST and DELETE requests)

UniTime 4.1 build 186

06 Jun 12:34
Compare
Choose a tag to compare

Event Management

Resource Lookup (Personal Timetable)

  • Lookup people only be external id (People Lookup is configured to only return people with an
    external id anyway).
  • This fixes an issue on the Personal Timetable: no schedule is displayed due to an instructor
    record with matching email or career account but no external id.

Display of Arrange Hours Classes

  • Improved event display of arranged hours classes:
    • Only display required rooms as assigned room (Location column).
    • Include effective date pattern in the display (Date column).
    • Arrange Hours message moved to Published Time column when Date column shows the date pattern.

Student Scheduling

Course Finder: Details

  • Default Course Detail Provider: added ability to include course catalog link in the course
    details.

Scheduling Assistant: Display of Arrange Hours Classes

  • Improved display of arranged hours classes:
    • Include required room(s) as assigned room(s) (Room column).
    • Include effective date pattern as assigned date (Date column).

Scheduling Assistant: Alternatives

  • To avoid confusion, show No Dates (in the Date column) and/or No Room (in the Room column) for
    a class with no date pattern and/or no room respectively.
  • If there are no alternatives, make sure that each course is mentioned in the conflict message
    only once.

Student Scheduling: Distributions

  • Do not skip same time sections when there is a Linked Classes constraint involved or when the
    section is involved in an Ignore Student Conflicts constraint.
  • Linked Classes: Added ability to force students to use the linked classes when they are
    requesting both courses.
    • There is a new solver parameter for this, named LinkedClasses.mustBeUsed, defaults to false.
  • Batch Scheduling: In the database load, assign students only after the distribution constraints
    has been loaded in.

Course Timetabling

Curricula Last-Like Course Demands, Curricula Requests Course Demands

  • Fixed a null exception when there are made up students (and include other students is enabled).

Instructional Offering Detail: Permissions

  • Class Delete No Enrollment Check split into the following permissions:
    • Class Delete No Enrollment Check (only applies to classes -- allows to delete a class which
      has students enrolled in it).
    • Offering Make Not Offered No Enrollment Check (allows to make an offering not offered when
      there are students enrolled in it).
    • Course Offering Delete From Cross List No Enrollment Check (allows to remove a course from
      a cross-list when it has students enrolled in it).

Course Offering: Show/Edit External Id

  • Instructional Offering Detail: Added ability to show external ids of a course.
    • Course external ids are shown when unitime.course.showExternalIds is set to true (defaults to
      false).
  • Add/Edit Course Offering: Added ability to edit external id of a course.
    • Course external id is editable when unitime.course.editExternalIds is set to true (defaults to
      false).

Course Timetabling: N Hour Work Day

  • Corrected the constraint check in the N Hour Work Day constraint.

Examination Timetabling

Examination Reports

  • Room Splits: fixed PDF/CSV version of the Room Splits report.
    • If an exam is split into 4 rooms, 3rd room is printed two times (as 3rd and 4th room) instead
      of printing the 4th room.

Examination Rooms

  • Fixed a JavaScript exception thrown when trying to edit an examination room for a problem with
    no periods.
  • Do not show period preferences table for an examination problem with no periods.
  • Make sure user cannot change examination types that are not visible to him/her.

Room Filter

  • When showing examination rooms, make sure that rooms which have no room sharing (no room
    departments) are also present in the list.

Other

Data Exchange: Academic Session Restore

  • Fixed an IndexOutOfBoundsException when Class_.managingDept is not set in the imported file.
  • Fixed an NullPointerException when Class_.managingDept is not set in the imported file.

UniTime Dialog Box: Enter To Submit

  • When ENTER is clicked, stop propagation of the event before executing the submit handler.
  • This is to prevent the confirmation to be clicked two times when ENTER is pressed and focus is
    on the Yes button.

Application Configuration: Date Pattern Format

  • Corrected extended variant of the unitime.pattern.format.useDates property (using extended
    instead of external).

UniTime 4.1 build 175

20 Apr 11:21
Compare
Choose a tag to compare

Event Management

Events: List of Meetings

  • Make sure all the lines of event name, section, and title are always displayed (e.g., when
    sorting by date and looking at a cross-listed class).
  • Split instructors over multiple meeting lines (just like event name, section, title and note).

iCalendar Export

  • Added ability to avoid setting the ORGANIZER of an event (using the ATTENDEE with the ORGANIZER
    role instead).
    • This was done in an attempt to avoid receiving unsolicited accept/decline messages while
      keeping the instructor (or the main contact) of the event visible.
    • This feature is driven by the application property unitime.events.ics_set_organizer, which
      defaults to true (the existing behavior).

Event Detail: Examination Conflicts

  • Enrollments table of an examination event: include more than two exams on a day and back-to-back
    student conflicts.

Student Scheduling

Online Student Scheduling Dashboard during registration

  • Fixed the ability to use the Online Student Scheduling Dashboard during student registration
    phase (null exception when executing an action).
    • The issue was created in commit e486db4, with the ability to provide a custom action factory.

Class Detail: Enrollments

  • Fixed a Null exception preventing the Enrollment table from showing on a class.
    • The issue was introduced by commit 811bade, with the ability to exclude certain departments
      from student scheduling.

Rooms

Add/Edit Room: Data Validation

  • Room must have at least one department check disabled.

Edit Room: Room X does not exist

  • Corrected returned session information when the academic session is changed on the Rooms page
    (event management).
    • When user did not have a matching role in the selected academic session, wrong session
      information was returned.
    • This caused some issues when the user attempted to edit the room in such a case.

Rooms: Sort

  • Corrected sort by a number when there are Nulls in the table.

Rooms: All Departments

  • When a room is being shared among all departments (and there are more than three departments),
    display All instead of listing all the departments in the Departments column.

Room Features: Create/Update Room Feature

  • Fixed an issue causing the page not to work when there are no room fetaure types defined in the
    system.

Rooms: Permission Fixes

  • Rooms, Room Detail: do not check for Events permission.
    • This fixes the "Failed to load rooms: Access denied for Events" exception when the user is not
      allowed to see the events for the selected term.
  • Room Detail: show event properties after a room update if the uses has the
    RoomEditChangeEventProperties permission (when Events permission is not given).

Localization

Class Detail: Instructors

  • The small table with instructors now has localized headers.

Events

  • Provided a separate label for person's name (as opposed to a room name or an event name).
  • A few tweaks in the Czech translations.

Course Timetabling

Solution Commit / Uncommit

  • When a solution is committed or uncommitted, force solution refresh along the cluster.

Other

Roll Forward: Room Preferences on Departments

  • Neutral preference check corrected: do not roll or create Neutral room preferences on
    departments.

Roll Forward: Examination Configuration

  • Non-university location lookup: only lookup the location by its permanent id and session id
    (just like for the ordinary rooms).
    • This fixes the issue of rolling forward examination room information when the non-university
      location does not have a controlling department.

Anonymous User Context

  • UserContext.setProperty: do not set user data for an anonymous user.
    • This fixes the "ORA-01400: cannot insert NULL into (USER_DATA.EXTERNAL_UID)" exception when
      using an ICS feed that was created for an unauthenticated user.

Data Exchange: HQL Reports

  • Changed the exported report XML to comply with the Reports.dtd (flag elements are directly under
    report element).
  • Changed the importer to import both versions of the XML (flag elements are under report or under
    flags element).

Edit Date Pattern: Navigation

  • Added Previous and Next buttons on the Edit Date Pattern page.

Edit Time Pattern: Navigation

  • Added Previous and Next buttons on the Edit Time Pattern page.

UniTime 4.1 build 164

18 Mar 07:23
Compare
Choose a tag to compare

UniTime 4.1 Release Notes

UniTime 4.1 Release Notes: https://goo.gl/uERUxR
UniTime 4.1 RESTful APIs: https://goo.gl/ikdOix

Course Timetabling

Class Duration Types

  • Added ability to define different ways how class duration is entered and used in the system (to
    extend the former 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.
  • 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), abbreviations are used to suffix durations that are using a non-default duration
      type.
  • Following class duration types have been implemented:
    • Minutes per Week (default): this is the existing behavior (minutes per week == number of
      meetings in a week 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 date 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)
    • Semester Minutes: number of minutes in the semester (semester minutes == number of meetings x
      minutes per meeting x number of weeks of the date pattern)
    • Semester Hours: number of hours in the semester (semester hours == number of meetings x
      minutes per meeting x number of weeks of the date pattern / minutes in an hour)
      • Parameter: number of minutes in an hour (defaults to 50); an hour is meant as a lesson or
        "hour of instruction"
    • 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.
    • Meeting Hours: just like meeting minutes, but with hours (meeting 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).
  • 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.

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 class 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.
  • 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 a light red background.
    • Conflicting classes are listed in the tool-tip (more details are provided on the Class Detail
      page, see above).
  • 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 appears 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 the 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 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 / updating 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...
Read more

UniTime 4.1 build 157 (RC 3)

03 Mar 14:38
Compare
Choose a tag to compare
Pre-release

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

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

Examination T...

Read more