The central tables in this schema are eud_item and eud_item_recipient. They represent, respectively, the notion of notifications and recipients, where notifications describe everything needed to generate a notification and recipients tells us exactly who should be receiving these notifications.
This table describes each of the notification system tables.
Table | Description |
---|---|
eud_item | Contains more of the information required to notify users about an event: the name of the event, its start and end dates, its parent content item, and so forth. It does not, however, concern itself with exactly who should be receiving these notifications. |
eud_item_recipient | Represent a user of a notification. All recipients have a parent notification record as well as a user id. This also tracks the status of the notification for that particular use. For example, whether it has already been distributed and whether reminders have been sent. |
eud_item_role | Stores the course roles to which a notification should be sent. The system uses this role information to generate eud_item_recipient records when a notification is registered and when new users are added to a course. |
eud_item_group | Stores the course groups for which a notification is created. Like role data, the system uses this group information to generate eud_item_recipient records when a notification is registered and when new users are added to a group. |
eud_general_setting | Keeps track of notification settings, such as whether the system is on or off, whether email distribution is enabled, how long the system needs to wait to delete stale recipient. |
eud_method_setting | Keeps track of settings for individual notification event types, such as whether email distribution is turned on for Assignment Available events or dashboard display is enabled for Assessment Submitted events. |
eud_item
This is the notification system's central table. It contains all of the data that the system needs to administer and issue notifications. The goal of the system is to know as little as possible about the details of the items for which it is generating notifications, so this table and its satellite tables contain the minimum amount of information necessary to do so.
The top three columns (source_id, source_type, and event_type) uniquely identify each notification record.
Column | Required? | Description |
---|---|---|
source_id | Yes | An identifier that uniquely specifies the item generating a notification. It is the responsibility of the individual subsystems to ensure that the identifier is unique. |
source_type | Yes | The class of event this represents: an assignment event, an assessment event, a content event, and so on. |
event_type | Yes | The specific type of event within the course_type that this represents: Assignment Available or Assignment Submitted. |
parent_id | No | If this notification is conceptually subordinate to another notification, for example as Assignment Submitted is subordinate to _Assignment Due, this column contains the ID of the parent notification. |
crsmain_pk1 | Yes | The course to which the notified item belongs. |
crs_contents_pk1 | Yes | The ID of the course content item to which this notification belongs. If there is not associated content item, as with announcement notification, this will be null. |
parent_content_pk1 | Yes | The ID of the course content item that is the parent of the content item to which this notification belongs. If the content item is inside a folder, this column identifies that folder. The system needs this information to calculate adaptive release availability. |
title | Yes | The name of the item to which this notification belongs. |
type | Yes | Whether this is a scheduled or an available notification. |
owner_pk1 | Yes | A foreign key reference to the user who created this item or is responsible for it. |
start_date | No | The date on which the notification period should begin, which usually maps to the date on which the item will become available. If this is specified, the system will not display the notification until this date is reached.
This is not related to adaptive release rules. Those will be evaluated separately and independently. |
due_date | No | The date on which this notification is due. Internally, the due date is used to calculate when to send reminders and when to transform Due events into Overdue events. |
end_date | No | The date on which the notification period should end, which usually maps to the date on which the item will become unavailable. If this is specified, the system will not display the notification until after this date is reached.
This is not related to adaptive release rules. Those will be evaluated separately and independently. |
dtcreated | Yes | The date on which the item was first added. |
data_pending_ind | Yes | Whether this notification is in the midst of being created. That is, whether it is waiting for its associated recipients to be created. |
important_ind | Yes | An Important marker indicates that during a mass notification operation this notification should always be sent to its recipients. |
can_replace_ind | Yes | Whether this notification can be replaced by incoming notifications that would normally override it. |
override_setting_ind | Yes | Whether this notification should ignore any system or user customizations that would normally suppress its distribution. This is useful for notifications that absolutely, positively must be sent. |
eud_item_recipient
Recipients are children of a single notification and identify the user to which the notification should be sent. When a notification is created, the system calculates its recipients based on the associated roles and course membership. Therefore, this table will be by far the largest single table in the system and perhaps one of the largest tables in Blackboard Learn.
Column | Required? | Description |
---|---|---|
eud_item_pk1 | Yes | The notification with which this recipient is associated. |
user_pk1 | Yes | The user who should receive this notification. |
type | Yes | Whether this is a sender or receiver of the notification. Conceptually, senders are the ones who created the items or circumstances that prompted the notification. So, all course instructors would be the senders of an Assessment Due event, while all students would be its receivers. |
status | Yes | The status of this notification: (U) unprocessed, (N) notified, (Z) never delivered, (D) deleted, or (F) pending. |
reminded_ind | Yes | Whether a reminder for Due notifications has been sent to this recipient. |
group_pk1 | No | If the parent notification is targeted at a group and this recipient is a member of that group, this column contains the ID of the group. |