Discussion Events¶
Discussion events are posted when a user performs any action pertaining to discussions, except for simply viewing discussion items. For example, a discussion event occurs when a user starts a new thread, responds to a previous post, creates a new forum, and so on.
We use “discussion item” as a generic term that includes discussion forums, threads, topics, and individual posts.
The actor is the user who performs the action, and the object is the discussion item involved. The event object has the following form:
{
"id": "<EventUUID>",
"timestamp": "<UTCDateTimeString>",
"actor": {
"account": {
"homePage": "https://<TenantUUID>.lms.d2l.com/",
"name": "urn:uuid:<UserUUID>"
}
},
"verb": {
"id": "https://api.brightspace.com/xapi/verbs/<DiscussionVerbString>"
},
"object": {
"objectType": "Activity",
"id": "urn:uuid:<DiscussionItemUUID>",
"definition": {
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/<DiscussionItemString>"
}
},
"context": {
"contextActivities": {
"category": [
{
"id": "https://api.brightspace.com/xapi/profiles/brightspace-activity-v1p0.jsonld"
}
]
},
"registration": "<OrgUnitUUID>",
"extensions": {
"https://api.brightspace.com/xapi/extension_keys/context/actor": {
"userId": "<BrightspaceUserIdNumber>",
"imsRoleIds": [ <IMSRoles> ],
"impersonatingUserId": "<BrightspaceImpersonatingUserIdNumber>",
"roleId": "BrightspaceRoleIdNumber>"
},
"https://api.brightspace.com/xapi/extension_keys/context/object": {
"id": "<BrightspaceIdNumber>",
"parentObjectId": "ParentObjectIdNumber",
"stableParentObjectId": "urn:uuid:<ParentUUID>"
},
"https://api.brightspace.com/xapi/extension_keys/context/target": {
"id": "urn:uuid:<DiscussionItemUUID>",
"originalId": "<BrightspaceIdNumber>",
"definition": {
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/<DiscussionItemString>"
}
},
"https://api.brightspace.com/xapi/extension_keys/context/context": {
"tenantId": "<TenantUUID>",
"originalEventId": "<InternalEventUUID>",
"orgUnitType": "<BrightspaceOrgUnitTypeString>",
"orgUnitId": "<BrightspaceOrgUnitIdNumber>"
}
}
}
}
Notes:
- <DiscussionVerbString>
may be one of
started replied updated deleted restored
- <DiscussionItemUUID>
a unique identifier for the discussion item. This UUID is created by an algorithm whose input is the TenantID, OrgUnitID, and discussion item information. This UUID will be used whenever this item is referenced by any BDS event.
- <DiscussionItemString>
indicates what type of discussion item was involved in this event. Possibilities are:
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/forum"
for a discussion forum.
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/topic"
for a discussion topic.
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/thread"
for a discussion thread.
"type": "https://api.brightspace.com/xapi/activities/tools/discussion/post"
for an individual discussion post.
"type": "https://api.brightspace.com/xapi/activities/tools/discussion"
for discussions in general.
- <OrgUnitUUID>
a unique identifier for the OrgUnit.
- impersonatingUserID
only present if the user is being impersonated by a different user. If this field is present, then the Actor information refers to the person being impersonated, not the impersonator.
- parentObjectId and stableParentObjectId
are present if the discussion item has a parent object. For example, an individual post may be part of a thread, in which case, the thread is the post’s parent. Similarly, the parent of a thread may be a topic, and the parent of a topic may be a forum. In all cases, parentObjectId gives the Brightspace ID number of the parent, and stableParentObjectId gives a UUID that uniquely identifies the parent. If the discussion item does not have a parent, these two fields are omitted.
- originalEventId
only provided for use by D2L personnel if needed for troubleshooting.
See Fundamental xAPI Concepts for information on other fields.