MyTimetable 2.4 release notes
MyTimetable 2.4 is currently in the state: deprecated. No further development is expected except for critical bug fixes. MyTimetable 2.4 is tracked using the git branch: rb-2.4.
MyTimetable 2.4 focussed on redesigning the database backend in order to be able to use multiple databases at the same time and implement a new backend provider to show activities retrieved from a custom database table. Most of these changes were sponsored by the Karel de Grote-Hogeschool and Universiteit Twente, for which we would like to thank them.
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
- Multiple database support and 'continuous calendar' — MyTimetable is now able to read from multiple databases at the same time, and will be able to transparently combine these databases (e.g., when multiple Syllabus Plus timetables are used at the same time, usually due to scalability reasons). The user will only have to choose the appropriate database group (consisting of 1 or more databases from the same year) when adding a new timetable subscription. This choice is still necessary since most users are using a different timetable each year (e.g., students move to a new group or programme each year).
- Custom activity support — A new backend type has been added that gives customers the ability to add custom activities that are retrieved from a custom database table. This can be used to integrate other data sources than Syllabus Plus into the personal timetable of a user.
- Support for all-days and multi-day events — Most of the views, including the export views, now support all-day and multi-day events. Because of differences between iCalendar clients, the support in the iCalendar feeds is limisted.
- Replaced department filter by posdepartment filter by default — Due to this, filtering of module and studentset listings better matches the expected behaviour; modules/student sets in search results now match either the department directly, or the department through their pos (formerly the latter scenario was not included, leading to missing results when filtering on both pos and student set).
- Equipment timetables — Timetables for Syllabus Plus equipment can now be shown in the location view (similar to a location timetable).
- Refactored Syllabus Plus activity type support — Our previous filtering by activity type, available at some customers through the settings dialog, did not provide enough flexibility for all scenarios, and was hard to maintain over the years. The activity type interpretation has been rewritten and both the type and colours displayed, as well as the grouping options, can now be fully customised without impacting performance.
- Added link to the help page on "no subscriptions" tooltip — This should make it easier for some users to find the help page
- Combine locations using avoid concurrency — Timetables of a Syllabus Plus location can now incorporate the avoid concurrency information defined in Syllabus Plus. This way, activities of 'sub' locations will also be shown in the main location and vice versa.
- Help page improvements — Several parts of the help texts were rewritten to make them more comprehensible.
- Many other small improvements and bug fixes, involving the API, exception handling, rendering and other components. In total 182 issues were fixed and 254 (non-merge) commits were done since version 2.3.
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:
- Proper indexes and foreign keys have been added to the user preferences database. The SQL database schema will be automatically upgraded on first start of the application and any existing subscriptions will be automatically deduplicated. Since this upgrade may take some time, it may be necessary to temporarily remove or increase the
socketTimeout
value in the user preferences database connection string. - Option added to set the transactional isolation level, using the server-side property
TransactionIsolation
, see the Spring documentation for possible values. The default isISOLATION_DEFAULT
. - Carriage returns without linefeeds are now filtered when retrieving data from Syllabus Plus. These characters often end up in S+ data, for example when copying from Microsoft Excel, but cause issues when publishing iCalendar feeds.
- Database serialisation improvements have been made, to ensure a consistent user database and prevent exceptions during concurrent access.
- Apache CXF was updated to version 2.7.7.
Removed and deprecated features
The following features from earlier MyTimetable versions have been deprecated, removed, or partially removed and are not supported anymore:
- Internet Explorer 7 support has been deprecated. Although we are aware that some customers are still actively using this browser, we have various reasons for deprecating IE7 support:
- IE7, being released in October 2006, is a very old browser. This makes it an insecure and slow browser, leading to a bad user experience.
- Since Internet Explorer 7 does not support recent web standards, it costs us a lot of effort to maintain compatibility with IE7, leading to higher costs and less innovation.
- Microsoft will end Windows XP security support in April of next year. Most of the desktops still using IE7 are also using Windows XP, and we are expecting (and encouraging) customers to upgrade these before then.
- The market share of IE7 is currently below 1%, and even at our customer sites we rarely see more than 3% of the active users using IE7.
- Other companies are also choosing to deprecate older browsers: Google dropped support for Internet Explorer 8 in November 2012, and has recently dropped support for Internet Explorer 9.