Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Phase 2 will introduced some enhance calculation features.  The scope of which is defined as subtasks of 

Jira Legacy
serverJASIG Issue Tracker
serverId76221f40-4501-3df1-8578-6c87908cbdf7
keySSP-2002
.

 

MAP Plan Status Calculation Implementation Details

Map Plan Status Calculation Flow Chart

...

Map Plan Status Schema

Gliffy
namemap_plan_status_phase1

...

EXTERNAL_SUBSTITUTABLE_COURSE (Process will produce one row per substitution per active plan.  An substitution-less plan will produce zero rows.Used to define course substitutions for plan calculation)

ColumnTypeNotes
term_codevarcharterm code for the substitution. if null applies to all term.
program_codeuuidprogram code for the substitution. if null applies to all programs
source_formatted_coursevarcharformatted course, matched to the plan course
source_course_codevarcharcourse course, matched to the plan course
source_course_titlevarcharcourse title, matched to the plan course
target_formatted_coursevarcharformatted course, matched to the transcript course
target_course_codevarcharcourse code, matched to the transcript course
target_course_titlevarcharcourse title, matched to the transcript course
Excerpt

New Configurations

namepossible valuespurpose

map_plan_status_email

email address

Email address that status email should be sent to.  map_plan_status_send_report_email should be set to true for email to be sent

map_plan_status_send_report_email

true, false

If set the true, an email will be sent to the address listed in config map_plan_status_email

map_plan_status_send_off_plan_coach_emailtrue, false

Send off plan emails to coaches after status calc run

map_plan_status_term_bound_strict

true, falseDrives the frequency of the cron job that will calculate statusIf set to true, course matches must be term bound to be considered on plan

map_plan_status_use_substitutable_courses

true, false

Drives the use of substitutable courses when calculating plan status

...

Different schools may have their course/transcript data organized differently.  This means they may want different criteria to drive the matching logic between plan and transcript.  We will assume that three criteria are non-negotiable and static; term_code and  formatted_course.  In addition to the static matching criteria, implementors have the option to add additional criteria. COURSE_TITLE will match PLAN_COURSE.COURSE_TITLE to EXTERNAL_STUDENT_TRANSCRIPT_COURSE.TITLE and CREDIT_HOURS will match PLAN_COURSE.CREDIT_HOURS with EXTERNAL_STUDENT_TRANSCRIPT_COURSE.CREDIT_EARNED.  

Implementation Concerns

  • System load and memory footprint will be big concerns for the calculation process.  We don't want to load all active plans into memory at once.  Implementors may not want to have cron job run during business hours as it could put load on the web server and database.
  • Configuration map_plan_status_cutoff_term_code is a maintenance concern.  Will most likely have to be updated every term.  This must be clear to implementors.
  • map_plan_status_passing_grades may not be very flexible enough for a lot of schools.  We may want to explore a hierarchical configuration approach.

Open Questions

...

In addition for phase to, course code is being added to external_student_transcript_course so COURSE_CODE will be added as an additional criteria.  Which will match EXTERNAL_STUDENT_TRANSCRIPT_COURSE.COURSE_CODE with PLAN_COURSE.COURSE_CODE.