Skip to content

Adding a New Semester

Keith Radford edited this page Apr 1, 2023 · 1 revision

⚠️ THIS PAGE IS A WIP ⚠️

Steps for Adding a New Semester 📅

So, UVic released the academic calendar for the upcoming semester(s): what does that mean for CourseUp? Due to the structure of things on both UVic's and our end this requires a manual process.

Part 1: Kuali Mapping

For uvic-course-scraper (our package used to fetch course and schedule information from UVic) to locate this data, it needs to know the new Kuali catalog ID. UVic uses a service called Kuali for their academic calendars, and unfortunately each term is indexed by a randomly generated ID which we cannot know until it is released. The steps for this part are as follows:

Find the new catalog ID

Head over to this link to access the academic calendar page. There will be a blue button near the top of the page that says The <month> edition of the <year> Calendar is now available. Click that button and you'll be taken to the calendar page for the semester you are adding. If that button is not already there, check the page title (above where the button would be) and see if the correct date is listed.

image


Next, to find the catalog ID, you need to open the network tab in your browser and refresh the page. What you are looking for here is a GET request to uvic.kuali.co, initiated by catalog.js. As shown in the picture below, they are relatively easy to identify. Copy the ID so you can bring it over to uvic-course-scraper.

image

Add the catalog ID to Course Scraper

We like to represent semesters in our code base in the form YYYYMM. The year the semester takes place is YYYY and the first month of the semester is MM. The following list is a mapping for each semester and it's first month:

  • Fall -> 09
  • Spring -> 01
  • Summer -> 05

So, for example, the spring 2023 semester would be 202301. This step is where you introduce the mapping between the Kuali catalog ID and our semester representation. Add your Kuali-semester mapping to this method in the uvic-course-scraper.

image

Part 2: Publish Course Scraper

Part 3: Seed the DB

Part 4: Update the UI

Update the term selector

Update the banner