Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

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 — Planned: incremental sync.
  • Pexip / conference integration — 


  • Dialogs redesign — border/chrome, event dialog full redesign
  • Introduced separate button for downloads and synchronisations
  • Selective-sync support for iCalendar feeds and push-based sync — 
  • 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.
  • iCalendar timetable keys are now encoded — 
  • 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.
  • Activity details dialog includes activity type color and draft styling
  • 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.
  • Planned: New Syllabus Plus backend.
  • The compatibility level of all non-GWT source has been updated to Java 8.
  • 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.
  • No labels