Instructor fields in css_upload

This document describes how to use the instructor assignment fields in the table css_upload. When the rules described here are followed, the CSS website will in most cases accept the changes. One exception is attempting to change the instructors of linked sections, this may result in rejection or an internal error on the CSS website.

The approved way to use putcss.py is to first download a fresh copy of css_sections with getcss.py, then copy this table to css_upload. Then css_upload is changed by applying one of the Common Methods described below to each section. Finally, putcss.py is used to upload the changes to the CSS website. If more changes are needed after this, the whole process must be repeated, starting with running getcss.py.

The below methods can probably be combined by applying several of them to the same section, but this has not been tested. More details about the methods can be found by looking at the function random_change() in css_stress.py. In the following, N denotes an instructor number between 1 and 5 (see e.g. css.py).

Common Methods

Delete an instructor:

Set netIdN to NULL, where N is the number of the instructor.

Add an instructor:

Set netIdN to the instructor’s netid, where N is the smallest unused instructor number. Also set displayFlagN to ‘true’ to include the instructor in section listings. For recitation instructors set instructionModeCdN and instructorRoleCdN to appropriate values. All other instructor assignment fields can be set to NULL, in which case putcss.py will find reasonable values.

Change instructor options:

Change the relevant fields, but do not change netIdN.

Replace an instructor:

Set netIdN to the new instructor’s netid, where N is the smallest unused instructor number. Set netIdK to NULL, where K is the number of the replaced instructor. Copy the other instructor fields of instructor K to instructor N, that is, copy fieldK to fieldN for each instructor field.

Reorder instructors:

Set the values assignmentNumberN for all instructors. The instructor with smallest number will be first.

Note: The rules described here may be stricter than those required by the CSS website. Putcss.py will do very little to enforce rules, and will usually attempt to give the CSS website any non-NULL values it finds in the css_upload table. Passing illegal values may result in rejection or an internal error on the CSS website.

Note: Putcss.py will ignore the values of the fields instructors1 and instructors2 in css_upload. Whenever putcss.py attempts to change a section, it will submit empty strings for these fields, which causes the CSS website to find the correct values.

Note: Many of the fields used by the CSS website appear to originate from the Scheduling database administrated by Rutgers Data Services. Additional documentation of the fiends in css_upload and css_sections can be obtained at the Data Services documentation website: https://dictionaries.rutgers.edu/dictionary/

List of fields

netIdN:

Legal values: NULL or a valid netid.

The used instructor numbers N must form an interval starting at 1. One exception to this is that any instructor can be deleted by setting netIdN to NULL.

If netIdN is NULL, then putcss.py will automatically set all other fields for the N-th instructor to NULL (ignoring the values in css_upload).

rcpIdN:

Legal values: NULL or the rcpid of the instructor.

Set rcpIdN to NULL for new instructors, then putcss.py will find the correct value.

assignmentNumberN:

Legal values: NULL or a number between 1 and 9.

These numbers are used to reorder instructors and must be distinct for all instructors. If assignmentNumberN is NULL for any instructor, then putcss.py will set it to N, which works in most cases.

displayNameN:

Legal values: NULL or ‘Last, First’ name of the instructor.

Set displayNameN to NULL for new instructors, then putcss.py will find the correct value.

displayFlagN:

Legal values: NULL or ‘true’

Controls if displayNameN is shown on section listings.

Set displayNameN to the desired value for new instructors.

displayEabFlagN:

Legal values: NULL or ‘true’

Alyssa: Controls if the instructor’s name is displayed on certain websites that are not used for New Brunswick campuses.

instructionModeCdN:

Legal values: NULL, ‘AL’, ‘02’, ‘03’

AL = All, 02 = Lecturer, 03 = Recitation

Putcss.py will use ‘AL’ if instructionModeCdN is NULL.

instructorRoleCdN:

Legal values: NULL, ‘IN’, ‘RL’, ‘CA’, ‘CC’, ‘UI’

Putcss.py will use ‘IN’ if instructorRoleCdN is NULL.

percentageN:

Legal values: NULL or A number between 0 and 100, with one decimal.

putcss.py will use ‘100.0’ if percentageN is NULL. This is slightly different from the default values chosen by the CSS website, but I believe it is the correct value if all instructors have different instructionModeCdN values.