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

Term Plan User interface

Accessing the application

The Term Plan application is intended to be access via the Classrooms@MIT web page which can be accessed at the following URls:

Term Plan Notification Emails

Term Plan edits can result in notifications based on the subject being edits. The resulting email will include all Term Plan app fields except URL and will display the new value and previous value for any fields that changed. Please refer to the table below for details about the notifications. 

# Notification Recipient(s) Other Notes
1 Subjects with Scheduling Relationship(s) (SR) (1) Users with SCHED_DEPT_ADMIN role with a qualifier equal to the department code of any subject with an active SR to the edited subject
(2) If the SR subject has an cross-listing(s), users with the SCHED_DEPT_ADMIN role with a qualifier equal to the department code of the cross-listed subject number
-The notification is not sent if the edited subject and the SR subject are in the same department
2 Subjects with Cross-list(s) Users with SCHED_DEPT_ADMIN role with a qualifier equal to the department code of any cross-listed subject numbers associated with the edited subject
3 HASS Subjects Any users on the Moira list -
4 COMM Subjects Any users on the Moira liset -

Changing the Term Plan Default Search Year

On the Term Plan search page, users have the option of searching with two academic years (e.g. 2018-2019 and 2019-2020). At the beginning of the proposal cycle, users will generally need to make term plan changes to the current academic year (2018-2019). However, in the April timeframe, most users will not have a need to edit the current year and will start making changes to the following academic year (2019-2020).

The Registrar can set the Term Plan default search year (termPlanDefaultSearchYear) using the SUBCNFG form.

Developer Info

Thin apache proxy

All requests from the UI are routed through an apache server which acts as a thin proxy to the back-end APIs.

The apache server:

  • Serves the files that make up the angular application (css, html, js, etc)
  • Integrates with Touchstone
  • Relays requests to API, appending client id and secret and referred user info
  • Exposes endpoints for getting property and user info

Location and configuration

The apache server lives on a virtual machine in our VMWare Cloud. It is managed by the App Delivery team and configured via Puppet.

The puppet config for the non-production tiers can be found at File: hiera:nodes: <servername>: common.yaml. Contact the App Delivery team for information about the production configuration.

Test and Production are load balanced between two servers.

/service/apis/user and /service/apis/tier endpoints

Two endpoints are configured directly in the apache configuration.

  • The /service/apis/user endpoint returns information provided by Touchstone about the authenticated user
  • The /service/apis/tier endpoint returns tier-specific properties to be used by the UI

Architecture diagram

Show/hide diagram

[Image source:]

Angular application

The documentation for the Term Plan User Interface can be found inside the repository on our Github instance.

Here is an outline of the content:

  • Intro
    • What is Term Plan app?
    • Main technologies in use
  • Setting up a local development environment
  • Git workflow
  • Deployment
    • Deployment process
    • Deployment tiers
  • AngularJS
  • Google Polymer
    • Making changes to the polymer component
  • Prettier codeformatting
  • Additional documentation
    • Knowledge base
    • APIs
      • Using HTTP Clients (Postman, Paw) with the APIs
  • Improvement opportunities

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:

April 19, 2019

Get Help

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

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