MyTimetable 3.0 is currently in the state 'in development', however we do have a branch available that can be considered 'stable'. Some customers are already using this stable branch, but we recommend most customers to stay at version 2.7 till the last features of 3.0 have been implemented. These release notes are work in progress, and planned features may change at any time. MyTimetable 3.0 is tracked using the git branches: master
(for the unstable features) and rb-3.0
(for the stable branch).
MyTimetable 3.0 is a major feature release and introduces direct, push-based, synchronisation support for Microsoft Exchange, Office 365 and Google Calendar. These features are not 'plug and play' but require additional set up and maintenance and are thus not part of a regular upgrade. Please contact us for details.
Next to the push-based synchronisation, MyTimetable 3.0 offers a polished user interface, changes in the iCalendar feed handling ('selective sync'), and many back-end changes to make the system perform better than ever.
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
- Added push-based support for external calendars — After a long implementation phase, we are pleased to announce availability of our 'external calendar' support. MyTimetable is now able to offer push-based synchronisation to Microsoft Exchange, Office 365 and Google Calendar. Push-based synchronisation offers a more stable calendar integration than the iCalendar feeds, integrates well with the Exchange availability information when planning appointments and is really easy to set up for the user. Since this is a major new feature that also requires some infrastructure changes and set up on the Exchange/Google side, implementation of this feature is done on a per-customer basis and involves some additional consulting and support hours. Please contact us for details.
Planned: incremental sync — at the moment we only offer a daily 'full sync' of a timetable, but the final MyTimetable 3.0 build will also offer incremental synchronisation, where changes in the timetable will be synchronised almost instantly. - Pexip / conference integration — Together with Pexip, MyTimetable now offers the perfect distance learning solution. Virtual classrooms are automatically created from your timetable, and users are able to join the classroom with one click, from any device, everywhere. More details are available in this blogpost.
- Dialogs redesign — The dialogs in the desktop interface have been redesigned and offer clearer feedback on success or failure. The event details dialog was also redesigned, and now includes the event type color and draft styling.
- Introduced separate button for downloads and synchronisations — To further emphasise the difference between a one-time download and a constant synchronisation of your timetable, we have introduced separate buttons for downloads and synchronisations. Of course the buttons have a handy tooltip to assist the user in choosing the right option.
- Selective-sync support —
- Planned: New help page —
- MyTimetable data provider added —
- Mobile interface timezone and locale improvements —
- S+ activity size improvements — Activity size can now use planned size, real size or actual size.
- Encoded iCalendar timetable keys —
- Draft activity styling update — The readability of draft activities has been improved by using a darker font and wider stripes.
- Mobile interface supports 'show-all' property — For smaller customer installs this will mean the 'add timetable' list will show all timetables by default, no search necessary.
- API: timetable type details call added — /api/v0/timetabletypedetails
- API: subscription type information added —
- API: verify timetable existence when adding a subscription —
- Timetable existence is now verified each time a subscription is retrieved — this prevents errors in the interface if a timetable is removed from the source database.
- Export dialog shows more details about activities in the past or distant future not included in iCalendar feed —
- Unsupported browser page improvements — The warning page that is shown if a user uses an unsupported browser now includes a logo and a link to download a better and newer browser. Microsoft IE7 users will now also receive a unsupported browser warning.
- Status page improvements — The MyTimetable monitoring URL (
/status
) now provides a consistent data and time format. - Provisioning API added —
- Admin interface added — logging levels, external calendaring details
- Error page improvements — A friendly error message is now shown if a SAML authentication request fails due to a timeout.
- Planned: API OAuth improvements — Support for scopes
- As usual, many small bug fixes and changes are included in this release. 416 issues were fixed in 701 commits.
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:
The project has been divided into separate modules for core, dataproviders, web, mobile and external calendaring.
- The configuration system has been reworked, and now includes all property files from the 'config' directory under a directory defined using the Java system property application.home. This makes it no longer necessary to define environment overrides in the Tomcat context configuration XML files. During an upgrade Eveoh staff will convert the old configuration to the new format, or provide you with instructions how to do this yourself.
- Planned: New Syllabus Plus backend — The new backend will offer better performance and will be ready to support change detection and notifications. ERDB 3.1.x support will be dropped, since almost all of our customers have already moved to ERDB 3.2+ which has a new schema.
- The compatibility level of all non-GWT source has been updated to Java 8. MyTimetable now requires Java/JRE 8 and a recent Tomcat version (7.0.54+, most recent recommended).
- Switch to Thymeleaf based templates, to better separate view and controller logic.
- GWT upgrade to version 2.7.0. This also means we switched to 'super-dev' mode and are now using Java 7 source level for the GWT sources.
- Removed AspectJ from the build pipeline and switched to Spring-based aspects. We were not really using the extra AspectJ features, and using AspectJ did interfere with the IDE/IntelliJ build chain, so we chose to remove it.
- Introduced a Gulp / SASS / Bower based build chain for many of our assets (CSS, Bootstrap, JS). During this process many of these dependencies were also upgraded to the latest version.
- jTDS, the Microsoft SQL connector, has been patched to include support for SSL and SQL Server 2014.
- Many improvements were made to the logging configuration. MyTimetable now logs to a separate log file, which is rotated daily. The log file can be found in the Tomcat logs directory. Also the logging can include the username of the user, and through the admin panel is is possible to configure per-user log levels.
- Remote logging has been added. When enabled this logs to an Eveoh provided logstash host by default, see /wiki/spaces/MYTT/pages/3099656255 for details.
- Disabled in-URL session tracking, because it does not work well and is a security risk.
- Added a static authenticator, which supports a fixed username and password, for non-public facing MyTimetable (API or external calendaring only instances).
- AD authentication now supports recursive group retrieval.
- The following dependencies were upgraded:
Spring (4.1.5)
- Spring Security (3.2.5)
Gradle (2.3)
- Joda-Time (2.7)
- Servlet API (3.1.0)
- Apache CXF (3.0.4)
- Flyway (3.1)
- MySQL connector (5.1.34)
- HikariCP (2.3.2)
- slf4j (1.7.10)
- Logback (1.1.2)
- Guava (18)
- Jackson (2.5.1)
- Commons-codec (1.10)
- Commons-beanutils (1.9.2)
Removed and deprecated features
The following features from earlier MyTimetable versions have been deprecated, removed, or partially removed and are not supported anymore:
- Legacy UserCalendarItemsService removed. A new version of the Blackboard building block is available that uses the MyTimetable API instead of the legacy SOAP service. Custom integrations should also switch to the MyTimetable API, contact us for help with this.
- Internet Explorer 7 support was already deprecated in MyTimetable 2.4 and has now been removed from the build process. IE7 users are advised to use an other, more recent browser.