Table of Contents
Coursedog allows admins to create rules for Department Schedulers to abide by.
Rules can be categorized as either “Section Rules” or “Meeting Pattern Rules”.
Section Rules include default rules such as “Can Sections be submitted with No Instructor” or “Can Sections be submitted with No Meeting Pattern”, while Meeting Pattern Rules involve the distribution of sections across time.
Users can additionally build Custom Section Rules to enforce institution-specific policies.
PATH: Rules > Section Rules
Section rules ensure that individual sections are scheduled according to your guidelines.
You can build rules based on section, course, instructor, room, term, and meeting data.
Conflicts will display in the Section Editor and relationships modal.
Coursedog comes loaded with default rules that have been prebuilt into the Coursedog platform. Each of these rules can be turned on or off at any time by an administrative user. Administrative users may additionally customize an appended rule violation message for default rules. The below table outlines all default rules:
Filters are a critical component of section rules because they are the building blocks for both exempting sections from rules and creating custom rules. Refer to this section for guidance on creating filters for both.
How Filters Work
Filters contain conditional statements that define when a section matches the filter.
- You can create filters based on values (including “sum does not equal”, “sum is greater than", “greater than”, and “less than”).
Sum is greater than will evaluate against a number field that has multiple values (such as Meeting Contact Hours, where we sum the value across all meetings).
We don’t support Greater Than and Less Than comparison filters for Section Numbers due to complexities with the logic (the way schools treat section numbering is varying, unique, and non-standardized).
- The “Is Edited” filter checks if a field was changed.
This filter is only triggered when editing an existing section, and not when creating a new section.
Dynamic actions that modify the value of a field can trigger an “Is Edited” field. Keep this in mind when building out rules and actions.
All fields in the drop-down menu indicate the source of the field (in parentheses).
- Available fields come from: Course Template, Section Template, Instructor Template, Room Template, or Term Object. In the below screenshot, for example, the “Department(s)”, “Subject Code”, “Course Number”, and “Files” fields all come from the Course Template.
- Note that you cannot do direct comparisons between data from different entities (i.e. you could not do a comparison between a section and course field directly)
- Some exam meeting fields from the section are not available as filters.
How To Create Filters
Click on the filters button on the top right to see the filters page.
This shows all filters in the system.
Step 2: Click on the “+ Filter” button on the top left.
Add fields to build the filter.
You can add multiple fields and use the “and/or” dropdown to determine if one or both conditions must be met.
Ensure you are selecting the correct reference input; selecting the wrong reference input would lead to the rule not being triggered appropriately.
Click the alternating blue arrows to toggle between “Use Freeform Input” (to manually input a value) and “Use Field Select” (to build a comparison with another field).
Once you build the filter, select “save”.
The new filter will now be present in the drop-down options beneath “Exemption Filters” as well as “Filters” (when creating a custom rule).
Using Filters to Compare Value
As indicated above, filters can be used to create rules that check if one value in a section is greater than another value.
Use the alternating blue arrows to “Use Field Select”.
As shown in the below example, "Term Start Date", "Term End Date", "Part of Term Start Date", and "Part of Term End Date" can be used as dynamic filter options when building filters for rules.
To edit a filter, simply click on the filter in the table; this will open the “Edit Filter” modal.
If you use duplicative naming conventions for fields from the source, this may potentially result in issues when setting up the filter. For example, if you are using the Meetings Pattern Start Date and Section Start Date fields in your Section Template, you should avoid calling both "Start Date" in order to make the distinction intelligible and enable users to build filters more effectively.
If you are creating a filter that keys off of a “Yes/No” field type, and you want to set up a rule that is triggered when the user selects “Yes” (or “No”), set up the filter as follows: "[Field Name]...Contains...True" (or “False”). There is no need to use dynamic filter fields for this use case.
Rule exceptions can be used to exclude specific departments or sections from a rule that is not applicable. For example, sections that are taught online should not be flagged by the “No Room” rule.
Excluding a Department from a Rule
To exclude a department from a rule, simply select the department from the “Exempt Department(s)” drop-down.
Excluding Specific Sections from a Rule
Build a filter (see “Creating Filters” above).
Select the relevant exemption filter from the “Exemption Filters” drop-down.
Exempting Sections from Rules
You can exempt sections from rules via a status within the rule editor. This field allows users to define status exemptions to rules.
- Note that exempting a section from a rule means that even if the section is in violation of the rule, the rule will not be flagged. It will not however prevent the section from being included in rule validation for other sections that are not exempted.
Excluding Specific Instructors from the Approved Courses Conflict
You can exempt specific instructors from the ‘Approved Courses Conflict’ rule based on Instructor Role (section field). This filter auto-populates with the values specified for Instr. Role within Instructors Advanced Settings in the Section Template.
Allowing Rooms to be Double Booked
You may run into instances where rooms are meant to be Double-Booked. In this case, a rule can be created with a filter to exclude all rooms so as to not generate conflicts.
Step 1: Be sure to select the correct exemption filter.
Step 2: Set up your filter using "Or" instead of "And", as shown below.
Custom Section Rules
Custom rules can be built to meet the specific needs of your institution.
They should not include any of the default rules that come delivered with Coursedog.
Custom rules are made up of filters, and those filters are made up of fields/conditions. Additionally, each rule has various settings that institutions can define to best match their needs.
Every custom rule can contain one or multiple filters; and every filter can contain one or multiple fields, all connected by either "and" or "or".
Filters are used to identify sections that should be flagged as violating a rule.
The filters screen contains a list of all of the attributes that a section may have.
Individual filters may be reused by many tests or rules in many combinations.
You can define settings for each rule.
These settings help determine what term(s) and department(s) to look at, and they control what will happen to sections that violate the rule.
Available settings give you a way to define exempt departments, exempt sections, allowed phases, relevant terms, applicable filters, and more.
Allowed Phases & Relevant Terms
You might wish to make certain rules term and/or phase specific. This has several potential use cases, including:
You only want the no instructor or the no room rules to show up during later phases, as they may not assign instructors or rooms during section creation and do so during a later phase.
You want some rules to apply only to summer
Creating Custom Rules
You can get step-by-step guidance in-app to help you create a custom section rule. To activate a guided walk-through, navigate to Scheduling > Rules > Section Rules > + New Rule. If the flow doesn’t automatically begin when you click “+ New Rule”, look for it in the “In-App Guides” widget on the right-hand side of your screen.
Otherwise, follow the steps outlined below.
Step 1: To create a custom rule, navigate to the Section Rules page. This will show all custom rules currently in the system, and allow you to add new rules or edit existing ones.
Step 2: Select “+ New Rule”.
In the modal that pops up, you may name your rule, select relevant filters, and determine the message that appears when a rule violation is detected.
You may also designate exempt departments and relevant terms.
You may decide the consequence of a rule violation through the “On Failure” field. You may wish that users violating the rule simply receive a warning before submitting their schedule, that they go through an approval process or workflow, or that none of the above happens (“Off”).
Sample Custom Rules
Here are a couple examples of rules your institution can put into practice, along with the filters that will help you build them.
Combined Max Enrollment Must Be Greater than 0
Relationship Combined Max Enrollment (Section Field) → Less Than → 0
Relationship Combined Max Enrollment (Section Field) → Is → 0
Screenshot of Filter
Multiple Professors May Not Have Role Set to Primary
Instr. Roles (Section Field) → Has More Than One Of → Primary
Screenshot of Filter
Instructor Percentages Exceed 100
This rule is useful if you want to ensure that when there are multiple instructors assigned to a section, their instructor percentages do not exceed 100%.
This rule will be in the baseline for new Banner customers.
This does look across instructors, but we cannot enforce that we don’t exceed 100 PER session indicator.
Ensure that the individual values don’t exceed 100 (that’s what Banner will actually reject, the sum is just a business rule).
Instr. Percentage (Section Field) → Sum Is Greater Than → 100
Screenshot of Filter
Required Rule Field
For each rule in scheduling, there is also a "Required Rule" field that can be used to specify if the rule must be resolved before a user can save a section or submit a section change request for that section. For the required rule setting to take effect, the "On Failure" setting must be set to either "warning" or a "workflow." If "On Failure" is set to "Off", then the required rule setting will be ignored.
Required Rule Violation
In the section editor, a required rule violation will show up with a red banner:
Additionally, users will see that the "Save Section" button has been disabled with the following message:
This restriction will also apply to section change requests as well, as a user will not be able to submit a section change request with such errors (shown below).
Credit Range Conflict Rule
The Credit Range Conflict Rule is triggered when a section is assigned a specific amount of fixed credit hours that is outside of the allowed range defined at the parent course level.
This rule is most common with Banner/PeopleSoft schools, as those SIS systems allow for courses to have a range of allowed values for certain credit fields (including credit hours, contact hours, billing hours, lecture hours, lab hours, and workload hours).
If a user sets the section's fixed Credit Hours to a value that is outside the range allowed at the parent course level, the following warning will arise:
PATH: Academic Scheduling > Rules > Section Rules > Select Rule (Opens “Edit Rule” Modal)
Testing your rules will help you see issues across departments.
To test a rule, navigate to the above path and click “test rule” at the bottom of the “edit rule” modal.
In order to only see issues relevant to your current planning period, make sure to select the correct term.
If filtering on instructor data when multiple instructors are assigned, keep in mind the rule does not check against a single instructor but rather aggregates the data for both. So if you create a rule with two conditions, and Instructor A violates one condition, and Instructor B violates the other – but neither instructor violates both conditions – you will still receive a rule violation notice.
The same logic applies to meetings; in other words, the rule will treat filters for meeting fields on sections with multiple meetings the same way (by applying the filter to an aggregate of the data, instead of to each meeting individually).
Meeting Pattern Rules
Meeting Pattern Rules are used to identify the overuse of meeting patterns during certain times of the schedule. An example of a meeting pattern rule (shown below) is that no more than 20% of sections can be scheduled during Mon, Tue, and Wed from 8:00 AM to 10:00 AM. There are two types of Meeting Pattern Rules: attribute-based and time-based.
An attribute-based rule counts the number of meeting patterns based on the attributes a meeting pattern has. The most common example is counting the number of primetime meeting patterns in a schedule.
A time-based rule counts the number of meeting patterns within a certain time frame.
Switching Between Attribute-Based and Time-Based Rules
To switch between attribute-based rules and time-based rules, click on the arrow button to the right of the rule name.
Meeting Pattern Rules apply to whole departments and can display a warning for a department scheduler when they are violated, which will appear under "Meeting Pattern Conflicts" when a Department Scheduler is validating or submitting their schedule.
The percentage for the “Contained” column values is calculated by dividing the number of meeting patterns meeting the rule condition by the total number of meeting patterns. This calculation is also displayed in the “Ratio” column.
Department Schedulers will still be able to submit schedules that have Meeting Pattern Rule warnings, as long as section conflicts are cleared.
Meeting Pattern Rule violations may not trigger a specified workflow given that these rules take into account section activity across all departments (i.e. they are based off of an aggregate number), hence no individual department should be submitting a workflow for them when validating/submitting their schedule.