BCIT Teaching and Learning Unit
Open Learning Data
An open data portal for learning analytics research.
About
This portal will publish an open, privacy-safe version of key Brightspace datasets for learning analytics research, experimentation, and reporting.
The data listed below reflects the deidentified open-data schema. Where source fields were removed for privacy, they are listed separately with a rationale.
Entity Relation
The following entity relationship diagram provides a high-level view of how the open-data entities connect to one another.
Data sets and data descriptions
Each dataset below includes a short description and a practical data description summary. The source link points to the official Brightspace documentation page used for reference.
AudioVideoProcessed
In the Audio Video Processed Brightspace Data Set, each row represents one completed media processing job. The data set captures events from January 2022 onwards.
- One row per completed media processing job.
- Captures events from January 2022 onwards.
- Activity/object identifiers for related media assets.
- Audit-style timestamps for processing and updates.
- content_id: Unique content identifier.
- revision_id: Unique revision identifier.
- revision_number: Indicates the version of the media object that this processing job applies to.
- type: Type of content for this revision: Audio or Video.
- source: Location in Brightspace from which the content was added. Field can be null.
- revision_size: Size of all resources for this revision in bytes.
- duration: Duration of the revision in seconds.
- required_transcoding: True if the revision required transcoding.
- required_transcribing: True if the revision required transcribing.
- last_modified: Date this revision was last modified (UTC).
ContentObjects
The Content Objects Brightspace Data Set returns information about content topics and modules created for your org units.
- Content object identifiers and parent-child relationships.
- Org unit references and object typing.
- Visibility, availability, and content metadata fields.
- Deidentified for open data release with direct user identifiers removed.
- content_object_id: Unique identifier of the content.
- org_unit_id: Unique org unit identifier.
- content_object_type: Content object type.
- completion_type: Content completion type.
- parent_content_object_id: Parent content object identifier.
- start_date: Content availability start date (UTC). Field can be null.
- end_date: Content availability end date (UTC). Field can be null.
- due_date: Content availability due date (UTC). Field can be null.
- object_id_1: Quick link Object ID for the associated tool. Maps to dropbox_id, quiz_id, checklist_id, survey_id, chat_id, self_assessment_id. For Discussions, this field is used if a forum is quicklinked. Field can be null.
- object_id_2: Quick link Object ID, only used for the Discussion tool if a Topic is quicklinked. Field can be null.
- object_id_3: Quick link Object ID, only used for the Discussion tool if a Thread is quicklinked. Field can be null.
- last_modified: Date the content was last modified (UTC).
- is_deleted: Content is deleted.
- sort_order: Display sort order used for the content objects.
- depth: Indicates the number of nested hierarchical levels in the discussion post.
- tool_id: Unique identifier for the tool. Field can be null.
- is_hidden: Content object has not been published yet.
- result_id: Release Condition unique result identifier. Field can be null.
- deleted_date: Date when the content object was deleted (UTC). Field can be null.
- ai_utilization: Indicates whether D2L Lumi (Brightspace AI) capabilities were used and the level of AI involvement: 0 No AI; 1 Generated by AI and reviewed by a human; 2 Generated by AI and edited by a human; 3 Assisted or uplifted by AI; 4 Generated by AI but not yet reviewed by a human.
- created_by: Removed during deidentification because it stores the user identifier of the content creator.
- last_modified_by: Removed during deidentification because it stores the user identifier of the last person who modified content.
- deleted_by: Removed during deidentification because it stores the user identifier of the person who deleted content.
- title: Removed during deidentification because free-text content titles can contain personal identifiers.
- location: Removed during deidentification because free-text content locations can contain personal identifiers.
DiscussionsForum
The Discussion Forums Brightspace Data Set returns discussion forums. Results are ordered from newest to oldest.
- Forum/topic/post identifiers and hierarchy links.
- Author and org unit references.
- Creation/update metadata and status indicators.
- Deidentified for open data release with direct user identifiers removed.
- org_unit_id: Unique org unit identifier.
- forum_id: Unique forum identifier.
- has_description: Indicates whether the discussion forum has a non-empty description.
- must_post_to_participate: Indicates that a user must post in the discussion forum in order to participate in any discussion threads.
- allow_anon: Indicates whether there is anonymous posting permitted for the discussion forum.
- is_hidden: Indicates whether the discussion forum is hidden.
- requires_approval: Indicates that the discussion forum requires approval from a moderator before contributions to the forum are posted.
- sort_order: Display sort order used for the content objects.
- is_deleted: Indicates if the discussion forum is deleted. Field can be null.
- deleted_date: Date when the discussion forum was deleted (UTC). Field can be null.
- result_id: Unique release condition result identifier. Field can be null.
- start_date: First date when learners can post to topics in the forum (UTC). Field can be null.
- start_date_availability_type: Before the start_date, this type determines whether learners can view or access discussion topics within the forum. Field can be null.
- end_date: Last date when learners can post to topics in the forum (UTC).
- end_date_availability_type: After the end_date, this type determines whether learners can view or access discussion topics within the forum. Field can be null.
- deleted_by_user_id: Removed during deidentification because it stores the user identifier of the person who deleted the forum.
- name: Removed during deidentification because free-text forum names can contain personal identifiers.
- description: Removed during deidentification because free-text forum descriptions can contain personal identifiers.
GradeObjects
The Grade Objects Brightspace Data Set returns a list of the grade objects created for your org units. The data set returns a NULL grade scheme value when the grade item is using the default scheme.
- Grade object identifiers and org unit linkage.
- Grade item names, categories, and weighting rules.
- Points/score settings and grading lifecycle metadata.
- Deidentified for open data release with direct user identifiers removed.
- grade_object_id: Unique grade object identifier.
- org_unit_id: Unique org unit identifier.
- parent_grade_object_id: Parent grade object identifier. Note: Categories are considered parent grade objects and can be resolved by joining on this field. Field can be null.
- type_name: Grade object type name.
- start_date: Start date for the grade object (UTC). Field can be null.
- end_date: End date for the grade object (UTC). Field can be null.
- is_auto_pointed: Is the grade object automatically pointed.
- is_formula: Is a formula associated with the grade object.
- is_bonus: Is bonus grade.
- max_points: Maximum points achievable in this grade.
- can_exceed_max_grade: Can user get more than maximum points.
- exclude_from_final_grade_calc: Is grade excluded from final grade calculation.
- grade_scheme_id: Unique grade scheme identifier. Null when grade item uses the default scheme. Field can be null.
- weight: Weight associated with the grade. Field can be null.
- num_lowest_grades_to_drop: Drop number of lowest grades from the calculated grade.
- num_highest_grades_to_drop: Drop number of highest grades from the calculated grade.
- weight_distribution_type: Grade weight distribution within category. Field can be null.
- created_date: Date the grade was created (UTC). Field can be null.
- tool_name: Tool associated with the object. Field can be null.
- associated_tool_item_id: Unique activity ID associated with the grade object (Dropbox ID, Quiz ID, Discussion ID). Field can be null.
- last_modified: Last time the grade was modified (UTC).
- grade_object_type_id: ID of the grade object type. Values: Numeric=1, Pass/Fail=2, Select box=3, Text=4, Calculated=5, Formula=6, Final Calculated=7, Final Adjusted=8, Category=9.
- sort_order: Specified sort order of grade objects.
- is_deleted: Indicates if the grade object is deleted.
- deleted_date: Date the grade object was soft deleted. Field can be null.
- result_id: Unique release condition result identifier. Field can be null.
- tool_id: Unique identifier of the tool associated with the object. Field can be null.
- version: Version number of this grade object.
- deleted_by_user_id: Removed during deidentification because it stores the user identifier of the person who deleted the grade object.
- name: Removed during deidentification because free-text grade object names can contain personal identifiers.
- short_name: Removed during deidentification because free-text short names can contain personal identifiers.
OrganizationalUnits
The Organizational Units Brightspace Data Set returns details about all org units within your organization. Note: Backfill of historical is_deleted, deleted_date, and recycled_date values is determined by the date/time values in the org_unit audit log.
- Core org unit fields such as org_unit_id, type, name, code, and is_active.
- Availability and lifecycle dates (start_date, end_date, deleted_date, recycled_date).
- Hierarchy mappings including ancestor/descendant/parent relationships.
- org_unit_id: Unique org unit identifier.
- organization: Organization name.
- type: Org unit type. For example: Group, Section, Semester, Department, etc.
- start_date: Availability start date (UTC). Field can be null.
- end_date: Availability end date (UTC). Field can be null.
- is_active: Is the org unit active.
- created_date: Org unit create date.
- is_deleted: Indicates whether the org unit is deleted (soft deleted or recycled). Soft deleted means the org unit was deleted from the application but remains in the database. Recycled means it remains in recycle bin until permanent removal. Field can be null.
- deleted_date: Date the org unit was soft deleted. Field can be null.
- recycled_date: Date the org unit was recycled. Field can be null.
- version: Indicates the version of the content in the row.
- org_unit_type_id: Identifier for the org unit type.
- name: Removed during deidentification because org unit names may contain personal identifiers depending on naming conventions.
- code: Removed during deidentification because org unit codes may contain personal identifiers depending on naming conventions.
QuizObjects
The Quiz Objects Brightspace Data Set returns information about the settings and properties of a quiz.
- Quiz object configuration (name, dates, availability, time limits).
- Attempt-level records including score, completion time, and due context.
- Question and response-level data for evaluation and analysis.
- Deidentified for open data release with direct user identifiers removed.
- quiz_id: Unique quiz identifier.
- has_quiz_description: Indicates whether the quiz originally had a non-empty description before deidentification.
- is_active: Indicates if the quiz is active.
- org_unit_id: Org unit identifier associated with the quiz object.
- start_date: First time the quiz is visible. Field can be null.
- end_date: Last date the quiz is visible. Field can be null.
- due_date: Date the quiz is due (UTC). Field can be null.
- creation_date: Date the quiz was created (UTC).
- last_modified: Date when the quiz was last modified (UTC).
- grade_object_id: Grade object identifier associated with the quiz. Field can be null.
- overall_score_calculation: Quiz score calculation method (Highest Attempt, Lowest Attempt, Average of all attempts, First Attempt, Last Attempt). Field can be null.
- quiz_score_denominator: Denominator for the quiz score.
- has_password: Indicates if a password is required to access this quiz. Field can be null.
- ip_restricted: Indicates if this quiz is available only to certain IP Addresses. Field can be null.
- time_limit: Time limit for the quiz in minutes.
- time_limit_enforced: Indicates if the time limit assigned to the quiz is enforced.
- attempts_allowed: Number of times learners are permitted to attempt the quiz. Null indicates unlimited attempts.
- prevent_moving_backwards: Indicates if learners are permitted to move to previous pages in the quiz.
- allow_hints: Indicates that there are hints allowed for the quiz.
- disable_pager_access: Indicates that learners cannot access the pager functionality.
- display_in_calendar: Indicates if the quiz is displayed in the Calendar. Field can be null.
- is_attempt_rldb: Indicates if Respondus LockDown Browser is required to attempt this quiz.
- is_subview_rldb: Indicates if Respondus LockDown Browser is required to see quiz results (submission view).
- sort_order: Display sort order for quizzes (when not alphabetical).
- category_id: Unique category identifier for the quiz. Field can be null.
- result_id: Unique release condition result identifier. Field can be null.
- is_retake_incorrect_only: Indicates if the quiz allows Retake Incorrect Only.
- paging_type_id: Exposes page break information. Values: NULL=Classic Quiz Creation paging, 0=All questions on one page, 1=One question per page, 2=Page breaks after each section, 3=5 questions per page, 4=10 questions per page. Field can be null.
- is_synchronous: Indicates that a quiz is synchronous. A synchronous quiz's timer starts on the start date.
- deduction_percentage: The percentage of a question's point value deducted from the quiz attempt score if answered incorrectly. Field can be null.
- ai_study_support: Indicates if D2L Lumi Study Support is enabled for the quiz.
- hide_question_points: Indicates that the quiz has Hide Question Points enabled.
- notification_email: Removed during deidentification because it may contain direct contact information.
- created_by: Removed during deidentification because it stores the user identifier of the quiz creator.
- last_modified_by: Removed during deidentification because it stores the user identifier of the last person who modified the quiz.
- quiz_description: Removed during deidentification because free-text quiz descriptions can contain personal identifiers.
- quiz_name: Removed during deidentification because free-text quiz names can contain personal identifiers.
- quiz_category: Removed during deidentification because free-text quiz categories can contain personal identifiers.
ReleaseConditionsObjects
The Release Condition Objects Brightspace Data Set returns all the release conditions (prerequisites and results) that have been created in the organization.
- Condition object identifiers and related tool/object mappings.
- Rule expression structure using All/Any operators and operands.
- Join keys (for example id_1/id_2) used to connect with activity datasets.
- pre_requisite_id: Unique pre-requisite identifier.
- result_id: Unique result identifier.
- org_unit_id: Unique organization identifier.
- name: Pre-requisite condition name.
- is_negative_condition: Indicates if the condition relies on something not happening.
- pre_requisite_tool_id: Unique pre-requisite tool identifier.
- id_1: Unique identifier for the pre-requisite tool. Field can be null.
- id_2: Secondary unique identifier for the pre-requisite tool when needed. Field can be null.
- result_tool_id: Unique identifier for the result tool.
- uses_percentage: Indicates if the pre-requisite is looking at a grade percentage.
- operator_type_desc: Defines whether all or any of the pre-requisites need to be met. Field can be null.
- version: Indicates the version of the row. Used to determine which table row occurred first, similar to timestamps in other datasets.
- guid_1: Unique identifier for the pre-requisite tool. For Outcome-based release condition objects, this matches the ObjectId of the outcome. Field can be null.
- guid_2: Unique identifier for the pre-requisite tool. For Outcome-based release condition objects, this matches the ScaleLevelId of the outcome. Field can be null.
RoleDetails
The Role Details Brightspace Data Set returns a full set of attributes for each role in your organization.
- Role identifiers and role naming metadata.
- Role behavior flags used across product areas.
- Content-visibility indicators such as show_in_content.
- Deidentified for open data release with direct user identifiers removed.
- org_unit_id: Unique org unit identifier.
- role_id: Unique role identifier.
- description: Description of the role. Field can be null.
- is_cascading: Attribute indicating that the role cascades from other roles.
- in_class_list: Attribute indicating that users with this role appear in class lists.
- class_list_role_name: Attribute indicating the role name for users that appear in class lists. Field can be null.
- class_list_show_groups: Attribute indicating that members of this role can see groups consisting of learners in the class list.
- class_list_show_sections: Attribute indicating that members of this role can see sections consisting of learners in the class list.
- class_list_display_role: Attribute indicating that members of this role appear in the class list with the role displayed.
- access_inactive_co: Attribute indicating that the role can access inactive course offerings.
- has_special_access: Attribute indicating that the role has special access to courses.
- add_to_course_offering_groups: Attribute indicating that the role appears in the course offering group.
- can_be_auto_enrolled_into_groups: Attribute indicating that the role can be automatically enrolled into groups in a class.
- add_to_course_offering_sections: Attribute indicating that users with this role can be added to course offering sections.
- can_be_auto_enrolled_into_sections: Attribute indicating that users with this role can be automatically enrolled into course sections.
- access_past_courses: Attribute indicating that this role can access past courses.
- access_future_courses: Attribute indicating that this role can access courses that have not yet started.
- sort_order: Indicates the sort order for users with this role.
- show_in_content: Indicates that this role should appear in Content.
- show_in_discussion_assess: Indicates that this role should appear in Discussions assessments.
- show_in_discussion_stats: Indicates that this role should appear in Discussions statistics.
- show_in_grades: Indicates that this role should appear in Grades.
- show_in_attendance: Indicates that this role should appear in Attendance.
- allow_self_enroll_in_groups: Indicates that this role should have permission to self-enroll in groups.
- show_in_registration: Indicates that this role should appear in registration information for a course.
- show_in_user_progress: Indicates that this role should appear in User Progress.
- role_alias: Indicates the alias for this role. Field can be null.
- role_code: Code assigned to each role for mapping to other systems or organizations. Field can be null.
- last_modified_date: Date and time when the role was last modified (UTC). Field can be null.
- deleted_by: Removed during deidentification because it stores the user identifier of the person who deleted the role.
- role_name: Removed during deidentification because role names can contain personal identifiers.