Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save as .CAL export feature should begin on first class day and end on last class day #451

Open
9 tasks
IsaDavRod opened this issue Nov 26, 2024 · 1 comment
Assignees

Comments

@IsaDavRod
Copy link
Member

IsaDavRod commented Nov 26, 2024

Fix the UTRP extension's .CAL export functionality to ensure exported class schedules are accurate, include repeating events, and account for semester start and end dates, as well as holidays and breaks. Currently in prod/main, the .CAL will add repeating events for all planned courses in the exported schedule and start the repeating events at Jan 1st with no end date.

Pull the first and last class days from the academic calendar for the respective semester and year. Below are all the key dates for each semester from Spring 2025 - Summer 2028

IMPORTANT! When a schedule is exported, we have to determine which semester to place the repeating events on. If the saved courses inside a schedule are mostly Fall, then export within the Fall dates, same goes for Spring dates or Summer dates.

To check which semester a course belongs in, check this from the course schedule:
Image

Create Repeating Events

Use the iCalendar format (.CAL) to create events for each course based on:

  • Event Title should be the Course Number + Full name of the course
  • Event location should be the building + room number of the course
  • Event description should be the Unique Number + Instructor Name(s)
  • Course Days (e.g., MWF or TuTh).
  • Course Start and End Times.
  • First Class Day matching the semester calendar.
  • Repeat Frequency: Weekly on the specified days.
  • End Date: Last class day of the semester.

Exclude Holidays and Breaks

  • Add exceptions (EXDATE) for all university holidays and breaks. For example: Labor Day, Thanksgiving, MLK Day, Spring Break.

Validate Time Zones

Ensure all events use the correct time zone: America/Chicago.
Include TZID in the event definitions to avoid discrepancies across devices.


Reference Academic Calendar

Use the following academic calendars:

2024-2025 Academic Calendar
2025-2026 Academic Calendar
2026-2027 Academic Calendar
2027-2028 Academic Calendar


2024-2025 Academic Year

Fall 2024 and Winter 2024 are irrelevant now...

Spring 2025

  • First Class Day: January 13, 2025
  • Last Class Day: April 28, 2025
  • Holidays/Breaks:
    • MLK Day: January 20, 2025
    • Spring Break: March 17–22, 2025

May Term 2025

  • Term Dates: May 6, 2025 – June 4, 2025
  • Holidays/Breaks:
    • Memorial Day: May 26, 2025

Summer 2025

  • First Term:
    • First Class Day: June 5, 2025
    • Last Class Day: July 10, 2025
  • Second Term:
    • First Class Day: July 14, 2025
    • Last Class Day: August 15, 2025
  • Nine-Week Term:
    • First Class Day: June 5, 2025
    • Last Class Day: July 29, 2025
  • Whole Summer Session:
    • First Class Day: June 5, 2025
    • Last Class Day: August 15, 2025
  • Holidays/Breaks:
    • Juneteenth: June 19, 2025
    • Independence Day: July 4, 2025

2025-2026 Academic Year

Fall 2025

  • First Class Day: August 25, 2025
  • Last Class Day: December 8, 2025
  • Holidays/Breaks:
    • Labor Day: September 1, 2025
    • Thanksgiving Break: November 24–29, 2025

Winter Term 2025

  • Term Dates: December 16, 2025 – January 10, 2026

Spring 2026

  • First Class Day: January 12, 2026
  • Last Class Day: April 27, 2026
  • Holidays/Breaks:
    • MLK Day: January 19, 2026
    • Spring Break: March 16–21, 2026

May Term 2026

  • Term Dates: May 5, 2026 – June 3, 2026

Summer 2026

  • First Term:
    • First Class Day: June 4, 2026
    • Last Class Day: July 9, 2026
  • Second Term:
    • First Class Day: July 13, 2026
    • Last Class Day: August 14, 2026
  • Nine-Week Term:
    • First Class Day: June 4, 2026
    • Last Class Day: July 28, 2026
  • Whole Summer Session:
    • First Class Day: June 4, 2026
    • Last Class Day: August 14, 2026
  • Holidays/Breaks:
    • Juneteenth: June 19, 2026
    • Independence Day: July 4, 2026

2026-2027 Academic Year

Fall 2026

  • First Class Day: August 24, 2026
  • Last Class Day: December 7, 2026
  • Holidays/Breaks:
    • Labor Day: September 7, 2026
    • Thanksgiving Break: November 23–28, 2026

Winter Term 2026

  • Term Dates: December 15, 2026 – January 9, 2027

Spring 2027

  • First Class Day: January 11, 2027
  • Last Class Day: April 26, 2027
  • Holidays/Breaks:
    • MLK Day: January 18, 2027
    • Spring Break: March 15–20, 2027

May Term 2027

  • Term Dates: May 4, 2027 – June 2, 2027

Summer 2027

  • First Term:
    • First Class Day: June 3, 2027
    • Last Class Day: July 8, 2027
  • Second Term:
    • First Class Day: July 12, 2027
    • Last Class Day: August 13, 2027
  • Nine-Week Term:
    • First Class Day: June 3, 2027
    • Last Class Day: July 27, 2027
  • Whole Summer Session:
    • First Class Day: June 3, 2027
    • Last Class Day: August 13, 2027
  • Holidays/Breaks:
    • Independence Day: July 4, 2027

2027-2028 Academic Year

Fall 2027

  • First Class Day: August 23, 2027
  • Last Class Day: December 6, 2027
  • Holidays/Breaks:
    • Labor Day: September 6, 2027
    • Thanksgiving Break: November 22–27, 2027

Winter Term 2027

  • Term Dates: December 14, 2027 – January 15, 2028

Spring 2028

  • First Class Day: January 18, 2028
  • Last Class Day: May 1, 2028
  • Holidays/Breaks:
    • MLK Day: January 17, 2028
    • Spring Break: March 13–18, 2028

May Term 2028

  • Term Dates: May 9, 2028 – June 7, 2028

Summer 2028

  • First Term:
    • First Class Day: June 8, 2028
    • Last Class Day: July 13, 2028
  • Second Term:
    • First Class Day: July 17, 2028
    • Last Class Day: August 18, 2028
  • Nine-Week Term:
    • First Class Day: June 8, 2028
    • Last Class Day: August 1, 2028
  • Whole Summer Session:
    • First Class Day: June 8, 2028
    • Last Class Day: August 18, 2028
  • Holidays/Breaks:
    • Independence Day: July 4, 2028
@IsaDavRod IsaDavRod converted this from a draft issue Nov 26, 2024
@IsaDavRod IsaDavRod changed the title Save as .CAL adds events starting Jan 1st Save as .CAL export feature should begin on first class day and end on last class day Jan 1, 2025
@IsaDavRod IsaDavRod moved this from To triage to Ready in UTRP Development Tracker Jan 1, 2025
@IsaDavRod IsaDavRod moved this from Ready to In progress in UTRP Development Tracker Jan 6, 2025
@doprz doprz marked this as a duplicate of #484 Jan 13, 2025
@Preston-Cook
Copy link
Contributor

Would it be best to just have Spring, Summer, and Fall for right now? We currently don't have a way to check if a course is part of a smaller term e.g. the first summer session or a maymester. We could have that part as a separate issue. What do you guys think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

No branches or pull requests

2 participants