Configuring Term ID Structure

Each course taken must have a corresponding "term id", describing when it was taken. For most schools, this can be a simple code.

For example:  "2008SP" might mean "Spring of 2008", and "2009FL" might mean "Fall of 2009."

Each school, generally, has their own system for term id's, and should follow this general formula of YEAR + TERM CODE.

In order for FlightPath to correctly understand what each code means (for displaying correctly), you must supply the codes in the "Structure of term ids" box, on either the system settings page or the configure school data page, on the admin console.

In this box, each line represents a structure for a term ID, separated by commas, like so:

TERM STRUCTURE (from db), SHORT DESC, LONG DESC, ABBR DESC, YEAR ADJUST (required for any term not following a normal year structure.  Ex: Fall in the above image)

Within the line, the following codes may be used:

  • [Y4] - Full 4 digit year. Ex: 2009, 2012, etc.
  • [Y4-1] - The 4-digit year, minus 1.  For example, 2010 would equal 2009.
    • This is used when a term id structure is "ahead" of the actual calendar year.
  • [Y4+1] - Similar to the -1 option, but it will display as 1 year ahead.  2010 becomes 2011.
  • [Y2] , [Y2-1], [Y2+1] - Same as 4-digit year, but this is just the last 2 digits. Ex: 1998 would become just 98.
  • [Y-1] - Only used for the "YEAR ADJUST".  Used to say that if we want "just the year" for this term, then we should subtract 1 from it.  For example, the Fall terms in the image above.  You may set this to [Y] for the default, or simply leave it off.  It is only needed if the year itself needs adjustment when displayed.
  • [Y+1] - Like [Y-1], this is only used for the "YEAR ADJUST", and it is used for the same reason, just incrementing the year instead of decrementing.

So, using the system described in the image above, if FlightPath is given a term id for a course of "200460", it would be able to display that as "Spring", "Spring of 2004" or "Spr '04", depending on how long of a description is requested.

Notice that in the example, the Fall terms are actually "ahead" by a year.  This is actually a real-world example from The University of Louisiana at Monroe, who represents terms in this way.

For example, if a student took a course in Fall of 2010, it would be saved in Banner as 201140.  Therefor, if FlightPath sees "201140" or "200940", it needs to know to subtract a year from the year portion, in order to correctly display when the course was taken to the student.

In this way, you may configure your own school's term code system to fit with FlightPath.

You can see, in code, how this is interpreted from the API page: misc.inc/function/get_term_description/6.x

Note: if your term code system is so different as to not be usable with this structure, you will need to create some kind of pseudo-term system of codes, native only for FlightPath, when importing student's courses.

Very important: It is vital that your term codes saved in the database, or loaded from an outside source, can sort in the correct chronological order.  For example, a course taken on 201040 is considered to have been taken before a course taken on 201060.  FlightPath uses this simple sorting to determine which courses fill into the degree plan first.

If your term codes do not sort correctly, you will either need to adjust them, create a FP-only system as described above, or override the sorting functions in the CourseList object (see documentation for how to override a class).

If you are curious about the colons in the example image (ex: [Y4]40:F), this is how the Banner Integration module tacks on Banner's "part of term" code.  It needs to be treated as one distinct term code in FlightPath.  If you do not use Banner, this does not apply.