MyTimetable 2.0 release notes
At the time of release of MyTimetable 2.0, our current versioning policy was not yet in place. For this reason, the exact meaning of 'version 2.0' differs from customer to customer, and some customers may already have several changes of version 2.1 in their 'MyTimetable 2.0'. This changelog includes changes up to git revision 55b2a1f
.
This document provides an overview of the changes in MyTimetable version 2.0. MyTimetable 2.0 is the result of almost 2000 changes and additions that we could not have done without the support from our customers. We want to thank all our users for their input, comments, feedback and feature requests. Some of the new features of MyTimetable were sponsored by the University of Amsterdam (mobile interface, month view, availability view, condensed list view, linking to multiple modules) and the University of Applied Sciences Leiden (activity search, subscription colouring, overview page) and we want to thank them for that.
All work involved in upgrading to the latest MyTimetable version (configuration, building, testing) is free of charge for our customers with a Software Assurance support agreement.
Functional changes
- Mobile interface — MyTimetable 2.0 features an all-new interface optimised for mobile devices. By default this interface is available under the url
https://mytimetable.host/m
. The mobile interface is optimised for use on touch-enabled devices and can be used by guest users as well as authenticated users. To keep the interface clean, fast and simple, not all operations from the main interface are available in the mobile version. The following operating systems are supported: Apple iOS 5+, Android 2.2+, Windows Phone 7+, Blackberry 6+. Due to differences in features between the different phone operating systems, some features may not available on all phones. Some screenshots of the mobile interface:
- Condensed list view — A new list view was added that shows recurrent activities in one row, together with the week numbers the activity occurs in.
- Month view — A month view was added that shows the activities for the whole month in a compact format. Clicking an activity reveals its full details.
- Availability view — In the location viewer, a new view was added that shows room bookings in a grid format. This format conveniently shows what rooms are available.
- List view range drop-down — The list views now feature an option to select the display range. By default it is possible to display a week or a month of activities, and named availabilities from Syllabus Plus can be added to this list.
- Linking timetables — It is now possible to create a direct link to one or more timetables of the same type. Timetables can be referenced by host key or identifier; the field to be used as host key is taken from the MyTimetable configuration. Contact our support department for URL details.
- API — A REST API was added. This is a first draft and the exact specifications will be refined further in cooperation with our customers. The API can return list of available timetables (optionally filtered by department or study programme) and the activities for a certain timetable. Using OAuth2 it is possible to retrieve a user's personal timetable and modify the user's subscriptions. Optionally, it is possible to make an API token required to access the API. Results are returned in XML or JSON format and a WADL file specifying the possible operations and data types returned is available.
- Activity search — A search box can be shown in the interface to give users the ability to search their personal timetable for a certain activity. This feature was already implemented in v1.7 of MyTimetable, but further refined in v2.0. Since search operations can have a performance impact on MyTimetable, the search box will be disabled by default. Contact our support department to enable this feature.
- Location viewer tabs rearranged — The tabs in the location viewer were rearranged to match the tab order in the main interface.
- Menu and sidebar redesign — The settings and location view menu options and various other buttons were moved to the top of the screen and are now displayed in a text format for a better user experience. The sidebar was redesigned and now features a drop-down menu to limit the number of buttons that appear in the interface. This redesign is an ongoing process and the interface shall be further redesigned in the future.
- Activity grouping — In the settings menu a new option was added that gives users the ability to group concurrent activities of the same module. Locations, student sets and staff members of these activities will then be grouped and shown as one activity.
- Activity notes — An option was added to show up to 3 extra descriptions/note fields for an activity. In the settings dialog the user can choose to show or hide these fields.
- Student sets and sections — The sections linked to an activity can now be shown. In the settings dialog the user can choose to show or hide student sets and sections.
- Add timetable improvements --- Added select/deselect all, search box and multi-select to (almost) all 'add timetable' dialogs.
- Piwik tracking — Added an option for Piwik tracking (instead of or beside Google Analytics). Hosting of the Piwik installation is provided by Eveoh. Privacy-friendly options are enabled and usage of tracking cookies is disabled by default.
- Department parents — Support for parent/child relations in department listings when using Syllabus Plus was added.
- Feedback form — An option was added to include a link to a Google Docs form used for gathering user feedback.
- Subscription colouring — All activities shown in the interface are now tagged with a CSS class matching the subscription they belong to. This provides the opportunity to colour the activities based on the subscription. Default subscriptions (from a link with the SIS) have a separate CSS class.
- Child subscriptions — An option was added to select/deselect all child subscriptions of a subscription (with drop down menu).
- Header message — An option was added to show a header message (from a user text field in the Syllabus Plus institution configuration).
- Expired session warning — A new warning dialogbox for expired sessions was implemented, to overcome issues with auto-reloading clients that keep reloading if cookies are disabled.
- Login warning message — A message was added in the 'add timetable' dialog to notify the user that the user profile will only be saved if they are authenticated.
- Warning message — An optional warning message was added in the 'add timetable' dialog that displays a custom text from the MyTimetable configuration. An example use of this message is pointing out to users that they should enrol in courses through a separate system before adding them to MyTimetable.
- Nagios status URL — A new url,
/status
, was added that can be used for automated availability monitoring of MyTimetable. Eveoh monitors the availability of all MyTimetable instances and can notify the customer of any downtime on request. - Activity size — An option was added to show the activity size in the activity details dialog.
- 404 page — A custom HTTP 404 Not Found error page was added.
- Activity type filtering — The activity type filtering was reworked: the grouping of activity types and the descriptions can now either come from the database or the configuration files, or a combination of both.
- Shorter URLs — Several URLs were shortened (/schedule, /module, /ical, /overview). Old iCalendar feed URLs will continue to work as expected.
- Module_pos timetable provider — A module_pos provider for Syllabus Plus was added. This provider shows only the activities of a module that are associated with a certain study programme's student sets.
- Performance improvements — The speed and server load of SQL queries associated with location and zone subscriptions was improved.
- External links — External links (e.g., to study guide) are now hidden by default until hovering over an item.
- Better subscription management — Default (SIS-linked) subscriptions are properly removed when no longer available. Subscription sorting was improved and made case-insensitive. Multiple timetables that carry the same description can now be queried.
- New activity indicator — The indicator that shows AJAX loading activity (spinner) has been replaced by a static indicator in the top centre edge of the screen.
- Many small bugfixes and browser compatibility improvements.
Non-functional, technical and back-end changes
Several radical changes were made in the back-end application architecture. The following list summarises the most important changes:
- The separate 'userprefs' application was dropped, MyTimetable is now one single deployment.
- Spring was introduced as application framework, for dependency injection and database management.
- Spring MVC is now used for the web controllers (instead of custom servlets and JSP pages).
- Spring Security is used as authentication and authorization framework (instead of custom authentication code).
- Syllabus Plus support was separated from the application core. In the future it will be possible to add other timetable providers or integrate other data sources.
- The SOAP based CalendarItemsService is now deprecated in favour of the new REST API.
- SAML authentication is now available, tested against SURFconext.
- New OAuth2 endpoints, using Spring Security OAuth, were introduced.
- Upgraded build system to Gradle 1.1 (1.2 should work too, but still needs to be tested formally).
- MyTimetable now uses a Java 1.6 build. This drops support for Blackboard 8. Java 1.7 is still unsupported and untested.
- Scientia Enterprise Reporting Database 3.2 support was introduced. This support is still preliminary and production performance of the 3.2 reporting database is not yet up to par with the old reporting database format. Please contact our support department to discuss the details.
- Default session timeout is now 120 minutes.
- Virtual host filter added to force clients to a specific hostname.
Outstanding issues
A couple of features that existed in MyTimetable v1.7 have yet to be implemented in MyTimetable v2.0. The following list summarises the most important ones:
- OAuth client side
- Configuration reloading
- LDAP server failover support
- Internationalisation of Syllabus Plus data
- OpenSSO support
- Blackboard integration
- Multiple year support in the mobile interface
Future roadmap
Eveoh does not provide a formal roadmap for MyTimetable. New features and bug fixes are primarily driven by customer demand, and the needs of our customers change continuously. However, there are several features that are high on our 'wish list'. The list below summarises and discusses these features. We are always open to feature suggestions, so please let us know your ideas! Due to the open source nature of MyTimetable, larger features usually require sponsoring from one or more of our customers.
- Better Microsoft Exchange, Office 365 and Google Calendar integration — The current iCalendar feeds can be unreliable at times. By implementing a 'push-based' link to calendaring application we will be able to provide a better and more consistent user experience.
- Notification of changes in the timetable — A user should have the option to receive a text message or email if his or her timetable changes. The new Scientia Reporting Database offers 'last changed' timestamps and using this information we hope to make some progress in this area.
- Multiple datasources and new datasources — Other datasources (ranging from other timetabling software vendors to university web site events) will be supported by MyTimetable. It will be possible to use these datasources at the same time, which will also drop the need for a manual 'database year' selection by the user.
- Better authorisation options — Using the new Spring Security framework we can provide much more granular authorisation checks.