Access Keys:
Skip to content (Access Key - 0)

Container/Template Subject Structure

Please note that this page and related pages are being developed as part of the CIM Courses Project and are subject to change.

The Container/Template Subject Structure was built as part of the CIM Courses Project. This article describes the structure and functionality of the Container/Template Structure.

Table of Contents:

Foundational Tables

The Container/Template Subject Structure is built upon three foundational tables:

  • Subject Container - the subject over time. This concept can also be thought of as "the subject" or "the subject devoid of any changes, including Subject Number"
  • Subject Template - a snapshot of the way a subject can be offered during a period of time
  • Subject Registerable Instance - a copy of the necessary template fields for a given term of the subject and its children

Subject Container

The Subject Container be thought of as "the subject over time" or more simply, just "The Subject".
Subject Container sample table

When a subject is created, a Subject Container record is inserted into the Subject Container Table.

A Subject Container's status is determined by the STATUS field. There are no timestamps directly associated with the Subject Container to determine its life span. This information can be gathered using the Effective From Term and Effective Thru Terms that are associated with Subject Template (discussed in next section).

Subject Template

The Subject Template is a snapshot of the way a subject can be offered during a given period of time. Each Subject Template maps back to one and only one Subject Container. As such, a Subject Container can have multiple Subject Templates associated with it.  
Subject Template sample table

The life of a Subject Template is determined by the EFFECTIVE FROM TERM and the EFFECTIVE THRU TERM fields.

Subject Registerable Instance

Each active Subject Template has a Registerable Instance that is a copy of the necessary template fields.
Subject Registerable Instance sample

Foundational Concepts

Before understanding the functionality of the Container/Template Subject Structure, it is important to understand a few concepts:

Foundational Table Relationships

The foundational tables are related as seen here:
Foundational Table flow diagram

Cross-Listed Subject Numbers

A Subject is considered to be cross-listed when it is offered under two or more different Subject Numbers. The cross-listed Subject Numbers can simply be thought of as labels since all other attributes of the child Subject (other than Department/School) will be identical to the parent.

Child Subjects are handled in the Registerable Instance table. Container and Template records only pertain to the parent Subject. The main Subject Number is stored in the Subject Template record. If a Subject is cross-listed, it will have x number of records in the Registerable Instance table, where x is equal to the number of cross-listed Subject Numbers + 1 (to represent the main Subject Number).

Basic Functionality Flow

Subject Creation

  • When a Subject is created (currently accomplished through CIM Courses, SCASUBJI, or the Cross-Registration Interface), a record is inserted into the Subject_Container table to represent the Subject. 
    Subject_Container_ID Subject_Type Status Last_Active_Term
    ABC Standard Active (null)
  • Next, a record is inserted into the Subject_Template table to represent the way the Subject will be offered between the Effective From Term and Effective Thru Term. 
    Subject_Template_ID Subject_Container_ID Main_Subject_Code Main_Subject_Number Effective_From_Term Effective_Thru_Term
    10002 ABC 1 100T 2017FA 999999
  • Registerable Instance Insertion
    • If the Subject is not cross-listed, a record will be inserted into the Subject_Tmpl_Reg_Instance table
      Subject_Tmpl_Reg_Instance_ID Subject_Template_ID Subject_Code Subject_Number Is_Primary
      RI001 10002 1 100T Y
    • If the Subject is cross-listed, a record for each Subject Number will be inserted into Subject_Tmpl_Reg_Instance. This includes the main subject number associated with the Subject Template. 
      Subject_Tmpl_Reg_Instance_ID Subject_Template_ID Subject_Code Subject_Number Is_Primary
      RI001 10002 1 100T Y
      RI002 10002 3 300T N

Subject Editing

When Subjects are edited, new Subject Template and Registerable Instance records will be inserted and/or existing Subject Template and Registerable Instance records will be updated.

  • Here is a common use case for editing a Subject is a user making a change that bookends the most recent template and creates a new template that then becomes the most recent. Assume a Subject exists with the following Container and Template records:
    Subject_Container_ID Subject_Type Status Last_Active_Term
    ABC Standard Active (null)

    _

    Subject_Template_ID Subject_Container_ID Main_Subject_Code Main_Subject_Number Effective_From_Term Effective_Thru_Term
    10000 ABC 1 101T 2013FA 2014SU
    10001 ABC 1 101T 2015FA 999999
  • Then changes are made to the Subject that are effective starting 2017FA. Template 10001 will be bookended by updating the Effective_Thru_Term to 2016SU (2017FA - 1). The resulting templates for the Subject will be as follows:
    Subject_Template_ID Subject_Container_ID Main_Subject_Code Main_Subject_Number Effective_From_Term Effective_Thru_Term
    10000 ABC 1 100T 2013FA 2014SU
    10001 ABC 1 100T 2015FA 2016SU
    10002 ABC 1 100T 2017FA 999999

Full Table Structure

Subject Structure (as of 6/9/2017)

System Rules

  • A Subject Container must always have at least one template
  • A Subject Container cannot be created with any status other than "Active"
  • The Subject Template associated with a new Subject Container must have an Effective Thru Term of "999999"
  • For any Subject Container, the Effective From Term and Effective Thru Term of its associated Subject Templates cannot overlap
  • A Subject Container's Templates will be contiguous (no gaps) unless the Container has been Deactivated or Reactivated.
  • Changes to a Subject Template's Effective Thru Term will be handled by the system logic (with the possible exception to Subject Deactivation).
  • If a Subject is Inactive, it will not have any templates past its deactivation term.

Table Counterparts - Old Structure to New Structure

This table is an overview of the conceptual mapping between tables of the "old" structure (CIS, MITSIS) and the "new" (Container/Template) structure. Mapping of the actual fields will be found on the CIS Backfill and MITSIS Backfill KB articles (#work - link and post mapping). 

CIS Table MITSIS Table Container/Template Table Notes
- - SUBJECT_CONTAINER The container table is a new concept that did not exist in the old structure
SCRCI_PROPOSAL
SCRCI_SEMINAR
SCRSU_VAR SUBJECT_TEMPLATE -
Seminars are considered to be standard subjects in the new structure. They are flagged with the "FSEM" attribute.
SCRCI_CLUSTER SCRSU_VAR SUBJECT_TMPL_REG_INSTANCE Parent/child relationships are denoted by the "Master" fields in SCRSU_VAR
SCRCI_PROPOSAL SCRGMOD SUBJECT_TMPL_GMOD -
SCRCI_CLUSTER SCREQIV SUBJECT_TMPL_EQUIVALENT -
SCRCI_PROPOSAL SCRATTR SUBJECT_TMPL_ATTRIBUTE Attributes in SCRATTR were derived from fields in SCRCI_PROPOSAL during the "Upload to MITSIS" process described here
SCRCI_PROPOSAL - SUBJECT_TMPL_ENROLL_LIMIT Enrollment limits were only stored as text in SCRCI_PROPOSAL.LIMIT_TEXT
SCRCI_PROPOSAL - SUBJECT_TMPL_REQUISITE Requisites were stored as text in SCRCI_PROPOSAL.PREREQ_TEXT
- - SUBJECT_TMPL_DISPLAY_CTRL New concept for Department Administrator to decide which information they want displaying the Online Subject Listing (OSL)
SCRCI_URLS - SUBJECT_TMPL_URL -
SCRCI_SEMINAR SCRSU_VAR SUBJECT_TEMPLATE
-
SCRCI_SEMINAR - SUBJECT_TMPL_SEMINAR_FACULTY -
SCRCI_BULLETIN - - SCRCI_BULLETIN will still be backfilled and used
SCRCI_TERM_PLAN SCRRTRM SUBJECT_TEMPLATE -

Subject Management Documentation Index

The Subject Management Documentation Index is the central listing for documentation pertaining to Subject Management.

IS&T Contributions

Documentation and information provided by IS&T staff members


Last Modified:

June 09, 2017

Get Help

Request help
from the Help Desk
Report a security incident
to the Security Team
Labels:
r-style r-style Delete
c-scasubji c-scasubji Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
Feedback
This product/service is:
Easy to use
Average
Difficult to use

This article is:
Helpful
Inaccurate
Obsolete
Adaptavist Theme Builder (4.2.3) Powered by Atlassian Confluence 3.5.13, the Enterprise Wiki