Please note that this page and related pages are being developed as part of the CIM Courses Project and are subject to change.
This article describes several processes that are relevant to administering, troubleshooting, and testing in CIM Courses.
Table of Contents:
- CIM Courses Administrative Documentation
- Administrative Tasks
- Becoming a CIM User
- Managing Administrative Users
- Refresh the CIM Export Data (Republish Subdirectory)
- Getting a Subject to an "At Rest" State
- Late Proposal Process
- Integration Points
- CIM Courses to MIT Data Feed
- CIS (Curricular Information System)*
- Subject Management Data Structure
- MIT to CIM Courses Verification Feed
- Other Documentation
- Manually Pushing CIM Data to the mit-subjects API
- Testing Shredding, Rollback, and Pushout Processes
- Expected Behavior When A New Subject is Approved and Deactivated in the Same Proposal Term
- Helpful Links
- Subject Management Documentation Index
Please note that to perform any of the following administrative tasks, you will need to be logged in as an administrative user.
- Log into the CIM Console
- Under the Administration section on the left panel, click the User Provisioning link. The resulting page will be a list of CIM users.
- Highlight a user and press the Become... button.
- You may need to refresh the CIM Courses main page before the new permissions take effect.
- You will now interact with CIM Courses as if you were logged in as that user. Please note that you will lose administrative access for your session.
There are currently only two types of CIM users - Department Administrators and Freshman Seminar Users. In order to impersonate a Freshman Seminar User, identify a user in User Provisioning with the FSEM qualifier and become that user.
#need to update
- Log into the CIM Console
- Under the Administration section of the left panel, click the Account Management link. The resulting page will be a list of Courseleaf administrative users.
- Create New User - Press the New User button and input the appropriate information
- Delete User - Highlight a user and press the Delete User button
- Edit a User - Highlight a user and edit the appropriate information
- Press OK to save changes
Courseleaf only updates their export data once per day (#work - at XYZ time). They refer to this process as "Publishing" the data.
For testing purposes, in order to ensure that the CIM Export Data (see Helpful Links section for the test environment link) is the most up-to-date, you will need to use the Republish Subdirectory functionality in the CIM Console. This process is a manual work-around to publish CIM data rather than waiting until the automated publishing process runs overnight. Steps:
- Log into the CIM Console
- Under the Administration section on the left panel, click the Republish Subdirectory link.
- In the resulting page, type /courseadmin into the Directory to Republish input box. Do not include quotes:
- Press the OK button. You should receive a Republish Site dialog box that publishes multiple (currently 60 pages) and a message that says Republish Complete.
**Warning** - Courseleaf has strongly advised us not to perform the following procedure in Production. These steps should only be performed in development/testing environments.
From the CIM Courses perspective, the term "At Rest" describes a Subject that is not in workflow and is not in draft format - and also has "synched" at the Banner workflow step. Because the "MIT to CIM Courses Verification Feed" is not functional in the development/testing environments, the Subject needs to circumvent the "Banner" comparison workflow step. The work-around is to remove the "Banner" workflow step from the workflow queue and approve under a different step.
- Submit a proposal to workflow. Make note of the first step in the workflow queue.
- Log into the CIM Console.
- Under the Administration section on the left panel, click the "Approve Pages" link.
- In the resulting page, change the "Your Role" dropdown value to match the first step of the workflow queue you made note of in step 1.
- Find and Highlight the Subject proposal in the resulting "Page Pending Approval" list.
- In the top right panel, press the "Workflow Status" tab (the page will default to displaying the "Page Info" tab.
- Press the "Update Pending Workflow" button.
- Remove the "Banner" step by highlighting and pressing the red "X" button. Additionally, remove all other workflow steps other than the step you used in the "Your Role" dropdown in Step 4.
- Press the "OK" button to save.
- With your Subject highlighted and Workflow Status updated, press the "Approve" button in the "PAGE REVIEW" pane. Your Subject will now be "At Rest".
- User creates the approved subject in CIM
- Effective From Term will be Catalog Year (2019FA)
- Subject goes through API
- Until mid-January, IS&T will have to manually push the subject through the API using Postman
- Post mid-January, the CIM to MIT subject feed will automatically push the subject into the API
- Subject will be inserted into the New Subject Structure, CIS - effective 2019FA
- Configuration dates will prevent the MITSIS backfill record from getting processed. The record will remain in the backfill table with effective term 2019FA
- "Reset Term for a CIS Subject" will be used to reset the term code to 2018FA in CIS
- In the short-term...
- IS&T runs a SQL script to update the Effective From Term in the NSS to 2018FA
- IS&T runs a SQL script to update the MITSIS backfill record to change the source to SCASUBJI (so it won't backfill to CIS) and updates the Effective From Term to 2018FA so it will backfill
- In the medium term...
- SCASUBJB type functionality will be provided for use by the Registrar against the New Subject Structure to backdate the Effective From Term
- IS&T will still need to update the MITSIS backfill record with a SQL script
- In the long term, an evaluation will be done to determine whether automating the "Reset term for a CIS Subject" warrants the time/resources for development - vs. the timeline for the eventual retirement of CIS
CIM Courses has two integration points with MIT systems:
- CIM Courses to MIT Data Feed
- MIT to CIM Courses Verification Feed
Subject data stored and processed in CIM Courses is consumed to populate various MIT systems.
Subjects that have been submitted to the CIM workflow process are considered to be in a proposed state. As such, this type of subject data must be consumed and backfilled into the legacy CIS proposal system tables. For more information, please see the [hd:CIS Backfill Documentation].
The (#work - add job name and other details) XYZ job runs once nightly after the CIM Subject Data has been republished.
Subjects that are in a proposed state can be identified using the content of the <nextsignoff> XML element in the CIM Courses Data Export. This element will contain the party responsible for the next workflow approval in CIM, such as Registrar or COC. A subject with a workflow step other than "Banner" is considered to be in a proposed state.
After the nightly publishing of CIM Courses data, the XYZ job will pass these subjects along to the Subject Management API for processing.
Approved Subjects will need to be backfilled to CIS as well.
Subjects that have been approved by all the manual workflow steps in CIM Courses will appear in the CIM Courses Data Export and will have "Banner" in the <nextsignoff> XML element.
*Please note that the process to backfill CIS is a transitional requirement of the CIM Courses Project. Once the CIS system has been retired, this process (and documentation) can be retired.
Subjects that have been approved in CIM Courses will be consumed and imported into the Subject Management Data Structure. As already noted, Subjects that have been approved by all the manual workflow steps in CIM Courses will appear in the CIM Courses Data Export and will have "Banner" in the <nextsignoff> XML element.
Because Courseleaf wants to ensure that they are storing accurate information about MIT Subjects, they perform an automated process to compare MIT data to their own. As such, MIT must send Subject data back to Courseleaf for the comparison.
#work - document information about this feed
Helpful Link - Courseleaf Help > Data Sync (You must be logged in as a Courseleaf user to access this page.)
- Complete the "Refresh CIM Export Data" steps outlined above
- Go to the CIM Courses - Data Export Page (test) web page (link can be found in the "Helpful Links" section of this page)
- Refresh this page if you already had it open prior to refreshing the CIM export data
- Right click the body of the page and choose the "View Page Source" option. This will open a new tab with more structured XML.
- Copy and paste the necessary test data into Postman
- Depending on your test case, it may be helpful to verify that the subject data is staged properly (e.g. both subjects in a reflexive equivalency relationship are present)
- POST the data to https://mit-subjects-v1-schedtest.cloudhub.io/test/courseleafFeed endpoint
- You will also need to have the appropriate client_id and client_secret key/value pairs configured.
- You should get a response detailing the status of your POST.
- POST the proposed subject XML against https://mit-subjects-v1-test.cloudhub.io/test/courseleafFeed
- Ensure the POST is successful and that the CIS backfill records are processed successfully
- Using SQL, update the SUBJECT_CIM_INBOUND_FEED.RUN_TYPE = 'SCHEDULED' for the RUN_ID that corresponds to the subjects data processed (i.e. the run_id listed in the API response)
- Ensure that the update is committed to the database
- POST the XML for the shred, rollback, and/or pushout against https://mit-subjects-v1-test.cloudhub.io/test/courseleafFeed?processShredded=true
- Ensure the POST is successful (or skipped if only empty <courseleaf> tags are processed to shred) and that that the CIS backfill records are processed successfully
When a subject is approved and then deactivated in same proposal term (e.g. 2019FA) the expected behavior in each environment differs. The expected behavior is as follows:
- New Subject Structure - the subject will be deleted from all New Subject Structure tables. A record of the deletion will be recorded in #work table.
- CIS - the subject will be archived, meaning all of the subject records will be inserted into the CIS archive tables (e.g. scrci_proposal records will be inserted into scrci_proposal_arch. The subject records will then be deleted from the non-archive CIS tables.
- MITSIS - the subject will be deactivated, meaning its SCRSU_VAR record will be set to inactive.
#work - bake this section into to rest of document
*"Saved" proposals do make it into the CIM feed.
*If a proposal gets rolled back out of workflow to the "Saved" state, the proposing user will be notified via email.
*A subject with a non-reflexive equivalency will not be processed by the CIM Inbound feed - regardless if it is in proposed or approved state.
*Why doesn't my subject's Term Plan in CIM match the
- CIM Console (test) - https://mit-test.courseleaf.com/courseleaf/
The CIM Console is the general website from which many administrative tasks can be performed. Please refer to the "Administrative Tasks" section in this article for the list of tasks and how-to's. It is worth noting that this a central management console for other Courseleaf products (Course Catalog, etc.); this article will only describe CIM Courses specific issues.
- CIM Courses - Main Page (test) - https://mit-test.courseleaf.com/courseadmin/
The CIM Courses main page is the page that CIM users will perform subject proposal related tasks.
- CIM Courses - Data Export Page (test) - https://mit-test.courseleaf.com/courseleaf/courseleaf.cgi?page=/courseleaf/index.html&step=cimexport
The CIM Courses data export page contains the full set of subject export data for eventual consumption by MIT. Be sure to use the "Republish Subdirectory" (in the test environment) to ensure that the exported data is the most up-to-date.
The Subject Management Documentation Index is the central listing for documentation pertaining to Subject Management.