MyTimetable 2020 release notes

The following additions and changes were made in the MyTimetable 2020 releases, listed from new to old. For significant new features or important changes, a link to a separate blog post will be available.

VersionTypeDescriptionMore info
2020.30 (2020-11-10)

FEATURE

Add accessibility statement

FEATURE

Publication rule: add action to remove conference URL

ENHANCEMENT

Mobile: repair accessibility shortcomings from quick scan
ENHANCEMENTUpgrade Google Analytics code to gtag.js

BUG

iCal request updates API last login date

BUG

Admin: statistics broken

MAINTENANCE

Upgrade Node.JS to 14

MAINTENANCE

Externalize or deny login page customization
2020.29 (2020-10-15)

ENHANCEMENT

GWT: make constrasting theme colors overridable
2020.28 (2020-10-13)

BUG

Changing default locale causes wrong (filter)type descriptions in en_GB
2020.27 (2020-10-11)

FEATURE

Add PostgreSQL support to SQL data providerMyTimetable 2020.27: accessibility, browser compatibility and many small updates

































FEATURE

TermTime DP: use start and end time in links

FEATURE

TermTimeNG: support configuring links on events

FEATURE

Add conference/draft booleans to Excel/CSV export

ENHANCEMENT

Mobile: accessible icons in timetable view

ENHANCEMENT

Mobile: enable tabbable element outlines

ENHANCEMENT

Configurable window in SimpleEventChangePrioritizer

ENHANCEMENT

S+: allow using activity type from child activity

ENHANCEMENT

Make mobile interface styling customizable at runtime

ENHANCEMENT

Make Bootstrap pages styling customizable at runtime

ENHANCEMENT

Mobile accessibility: all functionality is operable through a keyboard

ENHANCEMENT

Personal timetable default setting improvements

BUG

NPE in Excel export when there are no week labels

BUG

Presto DP: leaves not working

BUG

Mobile: search button in search timetable view does not submit form

BUG

PostgreSQL: InsertChildWithExistingParent fragment for subscriptions does not work

BUG

Postgres: userprefs subscription query does not work

BUG

BrightspaceClient signature creation does not work

BUG

PDF week view missing activities

BUG

Mobile: group selection headers and text

BUG

Mobile: showing white borders for highlighted activities

BUG

iCal DP: LookupIcalTimetableTypeProvider breaks when lookups returns an error

BUG

Admin: error handling broken when adding iCalendar timetable

MAINTENANCE

UserPrefs PostgreSQL: fix naming for queued_tasks table

MAINTENANCE

Upgrade gwt-gradle-plugin to fix deprecation warnings

MAINTENANCE

TermTime: rename repeat field to repeatOf

MAINTENANCE

Mobile: move to ES6 modules instead of AMD

MAINTENANCE

Introduce and use timetable type, timetable filter type and option type names from model

MAINTENANCE

Let PDF exports use schema attribute names instead of custom I18N resources

MAINTENANCE

Create a configuration migration tool

MAINTENANCE

Migrate to OpenPDF

MAINTENANCE

Upgrade Gradle to v6

MAINTENANCE

Upgrade OpenCSV to v5

MAINTENANCE

Replace Gulp and bower with Webpack
2020.26 (2020-08-04)

ENHANCEMENT

Mobile: reconsider aria labels that differ from visible text


BUG

EC: sync setup does not work

MAINTENANCE

EC: create separate application/project

MAINTENANCE

Merge API modules
2020.25 (2020-07-30)

FEATURE

Publication rules: condition on location / location suitability

ENHANCEMENT

Add a lang attribute to all html pages

BUG

Default configurations contain incorrect userPrefs.sql.type property


MAINTENANCE

Upgrade Guava to 29-jre
2020.24 (2020-07-24)

BUG

ES: fix academic period filtering


BUG

Mobile: NotEnrolled_WarningHtml is being HTML escaped

BUG

Mobile: activity list does not refresh after removing timetables
2020.23 (2020-07-17)

FEATURE

Open Education DP: view student timetable

FEATURE

Open Education DP: view lecturer timetable


ENHANCEMENT

Uniform configuration of branding

BUG

Danish characters do not show correctly

BUG

Removing all subscriptions from a group removes the group from both the Timetable and the Location view

BUG

API: parameter excludeResourceTimetables for resource /subscriptions

BUG

HSTS header not set for proxied requests

BUG

Option selection always shown

BUG

S+ DP: activity_department filter times out

BUG

Help: errors in Danish translations

MAINTENANCE

Remove Windows Phone and Blackberry features, because these platforms are no longer supported
2020.22 (2020-07-09)

BUG

WebUntis DP: list of classes should be received per study year
2020.21 (2020-07-08)

FEATURE

TermTime: support meeting API fields
2020.20 (2020-06-27)

BUG

S+: department zone filtering not working correctly


2020.19 (2020-06-26)

BUG

S+: parameters should only be escaped when used in LIKE query

BUG

GWT: header background image does not work


BUG

S+ NG: prevent WRB timetables with empty ID

MAINTENANCE

Disable HTTP/2 in default config


2020.18 (2020-06-23)

BUG

MTT DP: cannot insert Event


BUG

S+: department zone filter does not work for group timetables

BUG

Other event type color handled incorrectly

BUG

Mobile: subscription list not loading

MAINTENANCE

Extract Eveoh-specific configuration into a separate file and profile
2020.17 (2020-06-10)

FEATURE

Set conference bit through publication rules


FEATURE

Expose conference bit in API

BUG

Mobile: Restore to default / remove timetable shows multiple
2020.16 (2020-06-07)

FEATURE

Mobile: allow 'resetting' all subscriptions of a uniting group

MyTimetable 2020.16: online conferences and announcements

















FEATURE

Mobile: allow 'resetting' individual subscription

FEATURE

TermTime DP: support mapping of custom attributes

FEATURE

Help: add/rewrite section about removing and resetting subscriptions

FEATURE

Announcement message: display in desktop front-end

FEATURE

Announcement message: display in mobile front-end

FEATURE

Announcement message: admin interface

FEATURE

Allow events to include module Uid

FEATURE

S+: allow module tags to be retrieved

FEATURE

Publication rules: condition based on module tags

FEATURE

Mark activities as being online activities

ENHANCEMENT

Markdown support for announcement long text

ENHANCEMENT

Improve styling of announcement in mobile interface

ENHANCEMENT

Mobile: display the announcement in the main menu too

ENHANCEMENT

GWT: hide announcement for the rest of the browser session

ENHANCEMENT

Mobile: tapping the glass panel should dismiss the modal

BUG

API requests with forward slash do not work

MAINTENANCE

Support Postgres as datasource
2020.15 (2020-05-23)

BUG

Let the ConfigurationDAO return an empty optional if an object is not stored
2020.14 (2020-05-22)

FEATURE

Mobile: show menu links

FEATURE

Bulk resync for external calendaring


BUG

ES: event links do not work

BUG

Mobile timetable cannot be retrieved by hostKey

BUG

Upcoming page is broken

BUG

S+: SyllabusWeekPatternSummaryGenerator throws NPE

BUG

auth-static profile does not work

BUG

TermTime: ModuleEntityProvider returns all moduleoffers if staff member not scheduled
2020.13 (2020-05-06)

BUG

S+: Cannot set header message with all locales defined

BUG

MyTimetable logo missing if application runs with custom contextPath

BUG

Browser caching not working as expected


MAINTENANCE

O365 EC: handle MailboxNotHostedInExchangeOnline
2020.12 (2020-04-29)

FEATURE

Lookup-based iCal timetable provider


BUG

GWT: clicking on the dots of the subscription group menu button toggles collapsed state

BUG

OSIRIS DP: all-day events cause NPE


BUG

EchoResponseErrorHandler triggers stack overflow on 401/403


MAINTENANCE

Convert Data Provider XML config to Java config


MAINTENANCE

Remove CanvasIcalUrlService and write upgrade notes
2020.11 (2020-04-09)

FEATURE

Add PDF export for Availability viewMyTimetable 2020.11: Availability view PDF

FEATURE

Desktop: allow 'resetting' individual subscription


FEATURE

Desktop: allow 'resetting' all subscriptions of a uniting group

FEATURE

Implement caching wrapper for lookups

ENHANCEMENT

Support multiple lookups in ConfigurableTimetableSuggestionStrategy/GrantedAuthoritiesProvider

ENHANCEMENT

RestWebServiceLookup: make it possible to ignore certain failures

ENHANCEMENT

Adjust OSIRIS provider for new format


ENHANCEMENT

EC: mention MyTimetable in calendar appointments

ENHANCEMENT

API: return custom attributes for staff

BUG

PDF export list by location shows '>' as end time instead of '00:00' when event ends exactly at midnight

BUG

Condensed list view crashes because of defective comparator

BUG

Clicking on locale in collapsible menu of help page doesn't actually switch locale

BUG

Pdf week view: rendering when event(s) end at 0:00 renders incorrectly

BUG

Location view PDF exports: events timezone adjusted which start/end on the other day are not exported and rendered

BUG

Test run generates logs in wrong dir/non-excluded dir

BUG

TermTime: cannot use all staff/room data fields

BUG

i18n 'Week' string in PdfWeekView class

MAINTENANCE

Use Spring's built-in asset cache busting

MAINTENANCE

Upgrade mssql-jdbc to 8.2.2.jre11


MAINTENANCE

Use nexus proxy for NodeJS download


MAINTENANCE

Upgrade Spring Boot to v2.2.6

MAINTENANCE

Upgrade Spring Boot to v2.2.5
2020.10 (2020-02-28)

BUG

Old moduleviewer URL adds empty startDate parameter

BUG

Removing trailing space of child subscription name breaks user profile

BUG

ES: AcademicPeriod retrieved on incorrect column and not cached correctly

BUG

TermTime: not using correct fields when mapping events


BUG

Admin: Unset time zone in user preferences not handled

BUG

iCal DP: use feed timezone


MAINTENANCE

Move common datasource config to Javaconfig

MAINTENANCE

Remove jgroups version dependency

MAINTENANCE

Scope caches to DataSource by default
2020.9 (2020-02-13)

BUG

Placeholder replacement Admin.Metrics.Customer.Hostname fails
2020.8 (2020-02-13)

ENHANCEMENT

S+: select/calculate an isJta bit when retrieving activities

ENHANCEMENT

S+ NG: Improve StudentSet timetable retrieval performance

BUG

Same Time Activities broken with occurrences in week

MAINTENANCE

Convert custom ActivationConditions to Spring Boot default conditions
2020.7 (2020-02-11)

FEATURE

CSV export: add header


FEATURE

CSV export: option to remove week headers


FEATURE

S+: implement modulepos timetables


ENHANCEMENT

S+: student set option association enhancements

ENHANCEMENT

S+: staff children do not support avoid concurrency

ENHANCEMENT

Allow disabling all downloads

ENHANCEMENT

Help: remove download explanations if not in use
2020.6 (2020-02-05)

FEATURE

TimetableSuggestionStrategy based on scheduled modules for TermTime staff

ENHANCEMENT

S+ activity id generation optimisation

MyTimetable 2020.6: Improving change notifications
2020.5 (2020-01-30)

ENHANCEMENT

GWT temporalsMyTimetable 2020.5: Better time zone support and SameSite cookie handling




BUG

Return to mobile welcome page after a successful logout from mobile

BUG

Timezone issue in GWT list view

BUG

Error when opening settings dialog if OAuth is enabled

BUG

GWT: day/week calendar viewport indicators only appear after scrolling

MAINTENANCE

Send SameSite header on session cookie
2020.4 (2020-01-21)

FEATURE

Support non-personal/synced auto-added subscriptions
2020.3 (2020-01-19)

BUG

Admin show user page broken
2020.2 (2020-01-17)

ENHANCEMENT

S+: event student set retrieval performance

ENHANCEMENT

Use up-to-date moment-tz database

BUG

auth-static profile does not work


BUG

Redirect after login incorrect in dev mode

BUG

Redirect loop if SAML auth fails

MAINTENANCE

Decrease max batch size
2020.1 (2020-01-03)

FEATURE

S+: add support for Same Time Activities

ENHANCEMENT

Rename 'event' to 'activity' in publication rules resource bundle

ENHANCEMENT

Update wiki documentation for Spring Boot packaging

ENHANCEMENT

Use java.time (JSR-310) in backend

ENHANCEMENT

Publication rules: move start/end time forward/backward naming

ENHANCEMENT

Configure default access log rotation in MyTimetable Web Server

ENHANCEMENT

ES: optimise activity retrieval

SECURITY

GWT: URL parameter 'addTimetables' is vulnerable to CSRF


BUG

Untis: merge note fields

BUG

DataSourceBasedSqlLookupFactoryBean depends on datasources being initialized

BUG

GCal: refreshing the page after successful sync pops up error dialog box

BUG

DataSource.sqlDataSource not set correctly


BUG

Incorrect text in notification settings

BUG

Deprecated configuration properties not always detected


BUG

TermTimeNG: identifiers don't fit in relevant user preferences columns


BUG

Mobile: Event sequence filtering broken

BUG

TermTime endTime handling incorrect

BUG

Adding all-day/multiday timetable and navigating to its events throws http status 500

BUG

DateRangePicker renders exclusive end dates, instead of inclusive

BUG

Condensed list views render incorrect week numbers for multi-week events

BUG

Same Time Activities not working for modules and student sets


BUG

Opening timetable from overview page shows wrong week

MAINTENANCE

Upgrade Spring Boot to v2.2.1

MAINTENANCE

EventPostProcessingServiceImpl queries subscriptions for each event

MAINTENANCE

S+ data provider should only query if daterange matches database


MAINTENANCE

Upgrade JUnit to v5