Integration filters allow for excluding integration data that your institution does not want displayed in the Coursedog environment. Coursedog can filter out integration data that should not be displayed in the Coursedog environment by setting up Integration Data Filters in the Admin Console (Admin > Integration Filters).
Initial filtering rules/logic are identified in your Coursedog implementation, typically in the Data Workbook portion of the project, and set up by your Coursedog team. We discuss filtering with our clients in high-level statements to prevent spending too much time on it in implementation because clients are able to modify these filters independently as needed over time.
Examples and Typical Filters
General examples
General examples of integration data an institution may want to filter out include, but are not limited to:
- Rooms: Rooms of type 'office'
- Buildings: Buildings of type 'Residence Hall'
- Instructors: Instructors who do not have a school-based email address
- Departments: Departments that are defunct
Typical filters
Coursedog has observed the following typical filters from experience:
- Terms: Exclude terms older than 2017
- Instructors: Exclude inactive instructors
- Rooms: Exclude inactive rooms, and rooms of type ‘Dormitory’ or else only include a set of rooms using a list of explicit room IDs
- Buildings: Exclude or include buildings by their building code/ID
- Departments: Exclude or include departments by department ID
General standards
- Courses: We do not often need to filter courses; however, there are instances when we exclude inactive courses or courses that belong to departments we don’t want in Coursedog
- Sections: We never include filters for sections
How to Add Integration Filters
- Navigate to the Admin Panel > Integration Filters screen
- Select the appropriate entity. You can create filters for each object type (buildings, courses, courses (curriculum), departments, professors, programs, relationships, rooms, sections, terms)
- Select the type of filter and complete the necessary fields.
- There are five different types of filters:
- Value Filter: This filter is used to filter out documents with fields equal to specific values. Below there are three inputs: Key, Values, Anti-Values. The key input specifies which field is being filtered on. If the Values input is populated, then if the data field equals at least one of the items in the values list, the document will be removed. If the Anti-Values input is populated, then if the data field does not equal one of the items in the Anti-Values list, the document will be removed. In other words, if the value is included in the Anti-Values list, the document will be kept
- Sub Value Filter: This works the same as the Value filter, except it will search for sub-values within fields that are of type string or array. For example, if you want to filter on the Course Code field, and you provide a value of "ECON", then all courses with a code that includes "ECON" will be filtered out.
- Empty Value Filter: This filter is used to filter out documents with keys that contain a value of null, undefined, NaN, or an empty string.
- Empty Array Filter: This filter is used to filter out documents with keys that contain an empty array.
- Starts With Filter: This filter is used to filter out documents with keys that contain values that start with the filter value.
- There are five different types of filters:
- Select the "SAVE" button, then you will be able to use the "TEST FILTER" function that will pull the integration data, apply the filter, and display the results (a dialogue box listing the result count before the filter was applied and after the filter was applied to show how many results were filtered out).
- Note: the "TEST FILTER" function does not work on all entities due to timeout in the web UI before the API completes
- Execute a manual merge, or wait for the nightly merge to run, for the entity to which integration filters have been added to see the resultant remaining integration data in Coursedog. The integration filters will not be applied until a merge on the entity has been executed.
Filter Values vs. Anti Values
- Filter Values are used to remove records from integration. In other words: options selected here will be filtered out.
- Filter Anti Values means the integration will keep these records. In other words: these values will not be filtered out.