RIT Linux Wiki

A collection of information on how to access university resources at RIT using Linux Operating Systems.

View on GitHub

Fixing the TigerCenter calendar download

For the last two semesters, at least, the button that is supposed to download your schedule from RIT's TigerCenter has not been working.

What is TigerCenter

TigerCenter is a web-based tool developed by the now-dissolved Student IT Office (SITO). As far as I can tell, the goal of TigerCenter appears to be to provide students with a better, more modern, and faster interface for interacting with data from SIS. For context, this is what the SIS UI looked like until Spring 2020:

A screenshot of the old RIT PeopleSoft SIS interface

I personally use TigerCenter for its superior class search because it helps me find out what general classes I want to take (i.e. CSCI-XXX) so I can then plug those course ID's into schedulemaker to find the sections (i.e. CSCI-XXX-YY) that form a schedule that I like. When I was a first year (2019-ish), people were still able to remember a time when they were able to register for classes directly through SIS.

The Problem

As the SITO no longer seems to exist, TigerCenter's functionality has been slowly dwindling down. As of around 2019-2020 ish, TigerCenter was no longer allowed to be used for enrollment and has been slowly losing features ever since as the app goes unmaintained.

I can't really do much about that. Especially since the TigerCenter code does not appear to have been made open source like student government does with their projects (props to them).

The Solvable Problem

At the start of the Fall 2022 Semester, it seemed like students were mad that the TigerCenter calendar feature wasnt showing any events, even on weeks where classes were definitely happening. The suspicion is that this was due to a combination of SIS upgrades by either Oracle or RIT and the lack of a team to maintain TigerCenter.

The only other ways to export a calendar to a standard format (like .ics) for students to import into other calendaring tools (iCloud, Google, Thunderbird .etc) were:

Mycourses didn't seem to have a working class schedule feed anymore (or it isnt reliably entered by course instructors), so that was never an option.

As a tech school having non-functioning tech, for something as important as knowing when you have to be in class is kind of ridiculous, especially when its been a problem for a few semesters running.

The Workaround

Good news: Since last semester, TigerCenter's calendar now correctly shows your class schedule.

Bad news: The download button does nothing. Opening inspect element reveals a "TypeError: this.importantDates is undefined" error when you click the button:

TigerCenter shows "TypeError: this.importantDates is undefined" error when trying to download schedules

Here's the workaround I found to temporarily fix the issue (performed in Firefox, things may look slightly different in other browsers):

  1. Click the download button to download your calender. Notice that nothing happens.

The download calendar button in TigerCenter

  1. Open inspect element (usually in the right click menu or Ctrl-Shift-I). In the console tab there will probably be an errorJump to the code where the error is present by clicking on the blue text that says "homepage.component.ts:1218" next to the top line of the error

Clicking on "homepage.component.ts:1218" in inspect element

  1. This will take you to the line of code that had the error. Click on the line number in this code window to mark this line as a "breakpoint"

Marking the line as a breakpoint by clicking the line number

  1. Try clicking on the download calendar button again you should now see a popup saying "paused on breakpoint". You have stopped the page from running just before the error.

The popup that says "paused on breakpoint"

  1. Go to the "console" tab. Type this.importantDates into the console. It will probably say undefined. This shouldn't be happening. To temporarily fix it until the page is reloaded, type this.importantDates = [] it should look like this:

using the console to temporarily fix the error

  1. Click the "play" button in the breakpoint popup from step 3. The page will now continue running and should trigger you your browsers configured downloader for your calendar file.

These steps will need to be repeated if you refresh the page.