MyTimetable 3.3 release notes

MyTimetable 3.3 is currently in the state: deprecatedNo further development is expected except for critical bug fixes. MyTimetable 3.3 is tracked using the git branch rb-3.3.

MyTimetable 3.3 contains a brand new publication rule engine in the administration panel. Furthermore, it supports iCalendar-based timetable sources and has some small bug fixes and additions for other data providers.

All work involved in upgrading to the latest MyTimetable version (configuration, building, testing) is free of charge for our customers with a Software Assurance or All-In support agreement.

Functional changes

  • Admin: timetable publication policy and draft activity management — The timetable publication dates and activity state (e.g., draft or final) can be managed through the administrative panel.
  • Link to room booking software — The event details page and location timetables can now include a hyperlink to room booking software, making it possible for the user to easily reserve a room.
  • iCalendar data provider added — You can now use iCalendar-feeds from any other application and display the events as timetable in MyTimetable. This makes it possible to use Google Calendar or other calendaring applications as a source for timetables.
  • Canvas iCalendar timetable support — The new iCalendar data provider can be used to show the user's personal timetable from the Canvas LMS.
  • Reworked automatically-added timetable strategies — This rework makes it possible to add a specific timetable based on the role of the user (e.g., a staff-specific calendar with meetings), or lookup the timetable to add in other systems (e.g., enrolments from OSIRIS).
  • LTI-based upcoming page — This page can be used to show the upcoming activities for a user in an LMS (e.g., Blackboard, Canvas, BrightSpace). Please contact us for configuration details.
  • Added generic SQL data provider — Using this data provider, it is possible to use any SQL-based database as a data source for timetables.
  • Syllabus Plus data provider: pooled resources — An option was added to use pooled resources as activity locations.
  • Syllabus Plus data provider: improved JTA support — Deselecting a module of a study programme will now remove the activity from the timetable. Previously this would not be the case if the activity was a JTA.
  • Exam Scheduler data provider: use different view for exam locations — A new view, V_Examination_Location, is now used to retrieve exam locations. This makes it possible to show locations even if the exam has not been planned into an ExamSession yet.
  • Free/busy support for external calendar integrations — The integrations with Office 365, Google Calendar and Microsoft Exchange support setting the free/busy state of events. Rules can be defined using the publication rules in the administration panel.

Non-functional, technical and back-end changes

The following changes have been made to the MyTimetable backend and underlying software, and have no direct impact on MyTimetable functionality:

  • Last known authentication attributes are now stored in the user preferences database. This makes it possible to update automatically added timetables during non-interactive logins (API or iCal access).
  • java.io.tmpdir needs to be set for the consumer and producer services. This can be done by creating a temp directory in the mytimetable-ec-producer and mytimetable-ec-consumer folders and adding a Java option: -Djava.io.tmpdir=/path/to/mytimetable-ec-consumer/temp
  • Application startup is delayed until all databases are available, preventing application initialisation failure on restart if the database server is temporarily unavailable (e.g., after Windows updates).
  • A 'date created' attribute was added to user profiles.
  • An error page for HTTP 400 errors was added. This prevents any parameter fuzzing as the exact error details are not shown any longer.
  • Various timeouts in the connection with the External Calendaring Consumer were changed. This should improve web site availability if the Consumer service is temporarily unavailable.
  • A file descriptor leak in jTDS was fixed. This leak would cause out of file descriptor errors for very low load MyTimetable installs (e.g., test environments).
  • Dependency upgrades:
    • Spring (4.3.8)
    • Spring Integration (4.3.9)
    • MySQL Connector/J (5.1.42)
    • ActiveMQ (5.14.4)
    • Logback (1.2.3)
    • Gretty (1.4.2)
    • SLF4J (1.7.25)
    • Jackson (2.8.10)
    • Infinispan (9.0.3)
    • JGroups (4.0.4)
    • HikariCP (2.6.1)
    • JNA (4.4.0)
    • Mockito (2.7.22)
    • Apache POI (3.16)
    • Guava (21)
    • Apache CXF (3.1.11)
    • Apache HttpClient (4.5.3)
    • Joda-time (2.9.9)
    • Flyway (4.1.2)
    • OpenCSV (3.9)

Removed and deprecated features

The following features from earlier MyTimetable versions have been deprecated, removed, or partially removed and are not supported anymore:

  • None as of yet.