/
FY24.1.x: Icebox (Slate+Advising)

FY24.1.x: Icebox (Slate+Advising)

Functional Requirements

Purpose

Capture the desired functionality to be completed.

Technical Design

Purpose

Define in detail the technical work that will need to be completed to deliver the final solution.

  • Birthday Notifications
    • Create a mailing (Get text from advising team) that runs each morning in the 10:00 AM - 12:00 PM timeblock. Generate the list using the following query:
      • Persons with a Status of New Student or Continuing Student.
      • Exclude persons with a tag name of Test Record.
    • To ensure the mailing gets sent to students with a Birthday of February 29th in years when that date does not exist, create subqueries that performs the following actions:
      • Capture the student’s birthdate without the year (format mask: MM-dd).
      • Capture the current date without the year (format mask: MM-dd).
      • Capture the current date with only the year (format mask: yyyy)
      • Capture the remainder when the current year is divided by 4 (Current Year % 4 = 0).
      • Return an adjusted birthdate value based on the following case… when conditions:
      • If the student’s birthdate is 02-29 and the year is divisible by 4, return 02-29.
      • If the student’s birthdate is 02-29 and the year is not divisible by 4, return 03-01.
      • If the student’s birthdate is not 02-29, return the student’s birthdate (format mask: MM-dd).
      • Filter for students whose adjusted birthdate is equal to the current date (format mask: MM-dd).
    • Birthdays on Landing Page - Create a widget to go on to each advisor’s landing page. Populate the widget with students based on the following criteria:
      • Persons with a Status of New Student or Continuing Student.
      • Exclude persons with a tag name of Test Record.
      • Persons whose “Staff Assigned” value is IN (Current User).
      • To ensure the list includes students with a Birthday of February 29th in years when that date does not exist, create subqueries that perform the following actions:
        • Generate an adjusted student birthdate in the year 2000 (format mask: 2000-MM-dd).
        • Generate an adjusted current date in the year 2000 (format mask: 2000-MM-dd).
        • Capture the current date without the year (format mask: MM-dd).
    • Capture the current date with only the year (format mask: yyyy).
    • Capture the remainder when the current year is divided by 4 (current year%4)
    • To capture birthdays for the current date and 2 days in the future, use the following case… when conditions to generate a maximum_date_diff value:
      • If the current year is not divisible by 4 and If the current date (without the year) is either 02-28 or 02-27, set the maximum_date_diff to 3. (We do this because we are treating the birthdays as if we are in a leap year so that 2/29 birthdays will be included. But in this case, we are not in a leap year. So if, for example, it is 2/28. We want to include students whose Birthday is either 3/1 or 3/2. So we need to go 3 days into the future, grabbing students whose birthdays are 2/28, 2/29, 3/1, or 3/2.
      • In all other cases, set the maximum_date_dif_to 2.
    • Filter students based on a datediff between the current date (adjusted to the year 2000)  and the birthdate (adjusted to the year 2000). Include only students where the difference in dates (in terms of days) is >=  0 and <= the maximum_date_diff value.
    • Display the student’s actual birthday including year on the page sorted by the datediff value (or convert 2/29 birthdays to 3/1 as in the method above).
    • To display an age column: 
      • If the date difference is 0 days, display the student’s “Current Age Based on the Birthdate” field value.
      • If the date difference is greater than 0 days, add 1 to the “Current Age Based on the Birthdate” field value.


Related content

FY23.2.x: Technical Design (Slate+Advising)
FY23.2.x: Technical Design (Slate+Advising)
More like this
FY23.1.x: Technical Design (Slate+Advising)
FY23.1.x: Technical Design (Slate+Advising)
More like this
FY23.3.x: Technical Design (Slate+Advising)
FY23.3.x: Technical Design (Slate+Advising)
More like this
FY23.1.x: Functional Design (Slate+Advising)
FY23.1.x: Functional Design (Slate+Advising)
More like this
FY23.3.x: Functional Design (Slate+Advising)
FY23.3.x: Functional Design (Slate+Advising)
More like this
FY24.3.x: Functional Design (Slate+Advising)
FY24.3.x: Functional Design (Slate+Advising)
More like this