Technology Center

February 9, 2021

Cycle 125

Paul Hanisko

1/25/2021 – 2/5/2021

Work Complete

Budgets

  • (Complete) In new Faculty Effort feature, update language and help messages based on feedback from fiscal team. This feature is under review by the wider team in preparation for release.

OnCourse

(15% Complete) OnCourse is an in-development project to substantially upgrade our college’s Courses Database. OnCourse will provide a more modern interface, better optimized for the work you do, with an improved data model that will address many long-term limitations of Courses.

  • Change Wildcard Titles to Course Variants. This provides largely the same function, but instead of replacing course titles with the Wildcard version, Variants will be presented as extra fields, e.g. subtitles.
  • Added Joint section groups. This data model will allow us to display groups of joint sections as a single record and still let users to drill into a single specific section when they need to. This will support reviewing enrollment at the joint group level and adding enrollment threshold notifications to the group.
  • “Instructors” instead of “Staff”. Courses uses a single record type to add both Instructor of record (goes into Time Schedule) and support staff (TA, Reader/Grader). This created complicated forms and awkwardly worded labels. In OnCourse Instructors are a set of records and Support Staff is a separate record type. Software labels match real world terminology and both record types lose irrelevant fields, simplifying the user interface.
  • Update initial migration process for data model changes. When we launch OnCourse it will contain all of the plans and history available in the current Courses database. Every change we make to OnCourse model requires a migration strategy to get the existing Courses records in the new place in the new system.
  • Load data in nightly batch process from UW Enterprise Data Warehouse (EDW) > SDB. This bulk strategy massively improves system update times. The bulk update that takes 5-20 minutes to run in Courses completes in under 30 seconds.
  • Load data for a single record from the UW Student Web Service (SWS). This will allow a user in OnCourse who is comparing our plan to UW Time Schedule data to click a button and get fresh UWTS info immediately. Build a debug web view of the SWS course section record.
  • Build mapping system that translates EDW course data and SWS course data to the same representation. SWS has translated many fields into pretty, readable values. But we require a single representation in OnCourse that can be updated from either UW source.

Infrastructure

Prototype an app using InertiaJS. Our college database are largely server-side rendered applications. These are quicker to develop and easier to support, but they can lack the speed and elegance of modern client-side rendered JavaScript applications. To date, we enhance our applications by adding JavaScript widgets to specific pages, while still operating  server-side oriented applications.

InertiaJS is a new library that serves as an adapter between a modern client-side application and a classic server-side application. This allows the server-side application to change very little and maintain control over complex issues like routing and authorization.

We have started a small prototype application to verify that this will work in the UW / COE technical environment, understand how development will change, and see what kind of user experience improvements we can achieve. If these results are promising, we will consider InertiaJS for future projects.