Skip to main content
pdf?stylesheet=default
Blackboard Help

Notification Data Model

The central tables in this schema are eud_item and eud_item_recipient. They represent 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.

Image illustrating associated text

The following table describes each of the notification system tables.

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.

edu_item Table
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_contents_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.

edu_item_recipient Table>
Column Required? Description
eud_item_pk1 Yes The notification with which this recipient is associated.
user_item_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: (1) unprocessed, (2) notified, (3) failed, or (4) deleted.
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.