Student Events#
This section lists events that are typically initiated by learners. These events are generated by interactions with the learning management system (LMS) other than the instructor dashboard.
For a list of events generated by course team interactions on the instructor dashboard, see Course Team Events. For a complete, alphabetical list of events, see the Alphabetical Tracking Log Event List.
The descriptions that follow include what each event represents, the system
component it originates from, the history of any changes made to the event over
time, and member fields in addition to the common context
or event
fields.
The value in the event_source
field distinguishes between events that
originate in the browser (in JavaScript) and events that originate on the
server (during the processing of a request).
For more information about the common context
or event
fields, and
about the event_source
field, see Common Fields.
Bookmark Events#
Bookmark events are described in Course Resource Events.
Certificate Events#
This section includes descriptions of the events related to certificates, which are awarded to qualified learners when they complete a course.
edx.certificate.created
#
When a certificate is generated, a record is created in the
certificates_generatedcertificate
table, triggering an
edx.certificate.created
event.
It may be important to note that it is possible for this event to be fired when
an existing certificate record in the certificates_generatedcertificate
table is updated. For example, if a certificate was revoked from a learner due
to them no longer passing the course, and then they earned a passing grade at a
later time, an edx.certificate.created
event will be fired again (even
though the record for this learner already exists in the database).
History Added 2 September 2015.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The |
|
string |
The URL for the certificate web page. |
|
string |
The course for which this certificate is issued. |
|
string |
The course enrollment mode associated with this certificate. |
|
string |
Indicates whether this certificate was generated automatically for a learner in a course or whether a learner generated their own certificate. Possible values are “batch” and “self”. |
|
number |
The numeric ID of the learner who earned this certificate. |
edx.certificate.revoked
#
There may be times where it is appropriate to remove a learner’s access to their course certificate. Some (non-exhaustive) examples include: * The learner is no longer passing the course. * The course team has requested the learner be added to the certificate invalidation list. * The learner has been flagged as suspicious during a proctored exam.
History: Added 27 May 2021.
Event Source: Server
event
Member Fields:
The edx.certificate.revoked
event includes many of the same event
member fields that are described for the edx.certificate.created
event.
The following member fields serve the same purpose for
edx.certificate.revoked
as they do for edx.certificate.created.
certificate_id
certificate_url
course_id
enrollment_mode
user_id
The following additional event
member field applies specifically to
edx.certificate.revoked
events.
Field |
Type |
Details |
---|---|---|
|
string |
The source requesting revocation of the course certificate (e.g., the Instructor Dashboard’s certificate invalidation tool). |
edx.certificate.evidence_visited
#
When a learner shares their certificates on social network sites such as
LinkedIn, and the link back to the certificate is followed by some visitor to
that social network site, the server emits an
edx.certificate.evidence_visited
event.
History: Added 2 September 2015.
Event Source: Browser
event
Member Fields:
The edx.certificate.evidence_visited
event includes all of the same
event
member fields that are described for the edx.certificate.created
event. The following member fields serve the same purpose for
edx.certificate.evidence_visited
as they do for
edx.certificate.created
.
certificate_id
certificate_url
course_id
enrollment_mode
user_id
The following additional event
member fields apply specifically to
edx.certificate.evidence_visited
events.
Field |
Type |
Details |
---|---|---|
|
string |
The social network to which the certificate is shared, such as “LinkedIn”, “Facebook”, or “Twitter”. |
|
string |
The URL of the web site where the certificate evidence link was
selected. This URL is the same as the URI in the |
edx.certificate.generation.enabled
#
This event is fired by the server when the self-generated (or student-generated) certificates feature is enabled for a course run.
History: Added 14 July 2015
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The course for which the self-generated certificates feature is being enabled for. |
edx.certificate.generation.disabled
#
This event is fired by the server when the self-generated (or student-generated) certificates feature is disabled for a course run.
History: Added 14 July 2015
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The course for which the self-generated certificates feature is being disabled for. |
Cohort Events (Student)#
This section includes descriptions of the following events.
edx.cohort.created
#
When a course team or the system creates a cohort, the server emits an
edx.cohort.created
event. Cohorts can be created manually by members of the
course team. The system automatically creates the default cohort and any
cohorts that are defined by the auto_cohort_groups
advanced setting when
they are needed (for example, when a student is assigned to one of those
cohorts).
Additional events are emitted when members of the course team select Instructor in the LMS to create a cohort on the instructor dashboard. See Cohort Events (Course Team).
History: Added 7 Oct 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The numeric ID of the cohort. |
|
string |
The display name of the cohort. |
edx.cohort.user_added
#
When a user is added to a cohort, the server emits an edx.cohort.user_added
event. Members of the course team can add users to cohorts individually or by
uploading a .csv file of student cohort assignments. The system automatically
adds a user to the default cohort or a cohort included in the course’s
auto_cohort_groups
setting if a user who has not yet been assigned to a
cohort accesses course content.
Additional events are emitted when members of the course team select Instructor in the LMS to add a user to a cohort on the instructor dashboard. See Cohort Events (Course Team).
History: Added 7 Oct 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The numeric ID of the cohort. |
|
string |
The display name of the cohort. |
|
number |
The numeric ID (from |
edx.cohort.user_removed
#
When a course team member selects Instructor in the LMS to change the
cohort assignment of a learner on the instructor dashboard, the server emits an
edx.cohort.user_removed
event.
History: Added 7 Oct 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The numeric ID of the cohort. |
|
string |
The display name of the cohort. |
|
number |
The numeric ID (from |
Course Content Completion Event#
This section describes the event emitted by the completion XBlock, which adds a toggle control in course content. This toggle allows learners to mark the associated section of course content as complete.
EdX recommends using the completion XBlock primarily for progress tracking of ungraded activities, such as reading assigned texts, watching videos, or participating in course discussions.
Learners are not limited in the number of times that they can toggle the control between the default incomplete state and the completed state.
History: Added 27 Jan 2016.
edx.done.toggled
#
Both the browser and the server emit the edx.done.toggled
event when the
control added by the Completion XBlock is toggled. The event_source
field
indicates whether the event was emitted by the client or the server.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
Boolean |
Indicates the state of the Completion toggle at the time the event is
emitted. Possible values are |
Content Library Interaction Events#
This section includes descriptions of the following events.
Course teams in an organization can collaboratively contribute to content libraries, such as a collection of problem components for a particular subject. Content libraries are created and maintained separately from courses so that their content can be used in different courses.
In a course outline, course teams can include randomized content block components that reference a content library and deliver its content to students. In a randomized content block component, the course team defines the type and number of content library components to deliver to each student.
edx.librarycontentblock.content.assigned
#
The server emits an edx.librarycontentblock.content.assigned
event the
first time that content from a randomized content block is delivered to a
user. The edx.librarycontentblock.content.assigned
event identifies the
components delivered from the library to a user.
Additional edx.librarycontentblock.content.assigned
events can also be
emitted if the course team makes a change that results in an increase in the
number of components that the randomized content block delivers. After such a
change, the randomized content block delivers more components to any user who
revisits it after that change. For those users, the
edx.librarycontentblock.content.assigned
event identifies the complete set
of components delivered from the library and also the components that were
delivered for the first time.
History: Added 18 Mar 2015.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
list |
Lists the library components that were delivered to the user for the
first time. The content of this field is different from the content of
the |
|
string |
Identifies the randomized content block component. |
|
number |
The Count specified by a course team member in Studio. Defines the
number of library components to deliver. This number is greater than
the number of library components listed by the |
|
number |
The number of components assigned to this student before this event. The first time the user views the randomized content block, this value is 0. |
|
list |
Lists all of the library components delivered to the user.
To identify a component consistently within a course, you can use
either |
edx.librarycontentblock.content.removed
#
The server emits an edx.librarycontentblock.content.removed
event when a
user revisits a randomized content block and one or more of the components
that were previously delivered to that user can no longer be delivered.
If components are removed from the library and the course team resynchronizes the randomized content block to the library, the server emits an
edx.librarycontentblock.content.removed
event if a user who was previously assigned one of those components revisits the randomized content block or accesses the progress page.If the course team changes settings for the randomized content block so that fewer or different components are allowed.
For example, the course team reduces the number of library components to deliver or specifies a different type of problem to deliver.
History: Added 18 Mar 2015.
Event Source: Server
event
Member Fields:
The edx.librarycontentblock.content.removed
events include the following
event
member fields. These fields serve the same purpose for events of
this type as for the edx.librarycontentblock.content.assigned
events.
location
max_count
previous_count
result
The following additional event
member fields apply specifically to
edx.librarycontentblock.content.removed
events.
Field |
Type |
Details |
---|---|---|
|
string |
‘overlimit’ if a course team member reduces the Count of library components to deliver. ‘invalid’ if the component is no longer included in the library, or no longer matches the settings specified for the randomized content block. |
|
list |
Identifies the components that are no longer delivered to this user.
This field contains the same member fields as the |
Course Resource Events#
This section includes descriptions of the following events.
Course resource events are emitted when a user interacts with a course resource or tool, such as the Course Reviews tool or the Bookmarks tool.
edx.bookmark.accessed
#
The browser emits this event when a user accesses a bookmark by selecting a link on the My Bookmarks page in the LMS.
History: Added 4 Jan 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The unique internal identifier for the bookmark. |
|
string |
The component type of the bookmarked XBlock. |
|
string |
The unique usage identifier of the bookmarked XBlock. This ID
corresponds to the |
edx.bookmark.added
#
The server emits this event when a user bookmarks a page in the course.
History: Added 4 Jan 2016.
Event Source: Server
event
Member Fields:
The edx.course.bookmark.added
events include the same event member fields
that are described for edx.bookmark.accessed. The following
member fields serve the same purpose for accessed bookmarks, added bookmarks,
and removed bookmarks.
bookmark_id
component_type
component_usage_id
The following event
member field applies specifically to
edx.course.bookmark.added
and edx.course.bookmark.removed
events.
Field |
Type |
Details |
---|---|---|
|
string |
The identifier of the course that includes the bookmark. |
edx.bookmark.listed
#
The server emits this event when a user clicks Bookmarks under the
Course Tools heading in the LMS to view the list of previously bookmarked
pages. If the number of bookmarks exceeds the defined page length, the browser
emits an additional edx.course.bookmark.listed
event each time the user
navigates to a different page of results.
See also edx.course.tool.accessed.
History: Added 4 Jan 2016.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
integer |
The number of pages a learner has bookmarked. If |
|
string |
The identifier of the course that includes the bookmark. This is an optional
field that is present only if the value for
|
|
string |
Possible values are |
|
integer |
The current page number in the list of bookmarks. |
|
integer |
The number of bookmarks on the current page. |
edx.bookmark.removed
#
The server emits this event when a user removes a bookmark from a page.
History: Added 4 Jan 2016.
Event Source: Server
event
Member Fields:
The edx.course.bookmark.removed
event includes the same event member
fields that are described for edx.bookmark.accessed, and it also
includes the course_id
field that is described for
edx.bookmark.added.
The edx.course.bookmark.removed
event includes the following event member
fields.
bookmark_id
component_type
component_usage_id
course_id
edx.course.tool.accessed
#
The browser emits an edx.course.tool.accessed
event when a user clicks one
of the links under the Course Tools heading in the LMS, such as
Bookmarks, Reviews, or Updates.
See also edx.bookmark.listed.
History: Added 24 July 2017.
Component: LMS
Event Source: Browser
In addition to the common context
and `event
member
fields, this event type also includes the following event
member fields.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The name of the course tool that was accessed. Possible values are
|
Discussion Forum Events#
This section includes descriptions of the following events.
The server emits discussion forum events when a user interacts with a course discussion. This section presents the discussion forum events alphabetically. However, several of these events have hierarchical or sequential relationships.
When a user creates a new thread, such as a student asking a question, the server emits an edx.forum.thread.created event.
When a user responds to a thread, such as another student answering the question, the server emits an edx.forum.response.created event.
When a user adds a comment to a response, such as a course team member adding a clarification to the student answer, the server emits an edx.forum.comment.created event.
These events are emitted and included in daily event logs in addition to the MongoDB discussion forums database data that is included in the weekly database data files.
If a thread, response, or comment was part of a team discussion within a
course, a team_id
field is also included in events for creation or voting
interactions. The team_id
identifies the team that triggered the discussion
event. For more information about events for teams, see
Teams-Related Events.
edx.forum.comment.created
#
Users create a comment about a response by entering text and then submitting
the contributions. When these actions are complete, the server emits an
edx.forum.comment.created
event.
History: Added 5 Mar 2015.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.comment.created
events include many of the same event
member fields that are described for edx.forum.thread.created and
edx.forum.response.created events. The following member fields serve the same
purpose for comments as they do for threads or responses.
body
commentable_id
discussion
id
options
team_id
truncated
url
user_course_roles
user_forums_roles
Field |
Type |
Details |
---|---|---|
|
object |
Contains a member |
edx.forum.comment.edited
#
Users edit a comment about a response by entering text and then submitting
the contributions. When these actions are complete, the server emits an
edx.forum.comment.edited
event.
History: Added for Discussions MFE on 3 Oct 2022, added for legacy forums 21 Nov 2022
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.comment.edited
events include many of the same event
member fields that are described for edx.forum.thread.created and
edx.forum.response.created events. The following member fields serve the same
purpose for comments as they do for threads or responses.
commentable_id
category_id
category_name
content_type
id
url
user_course_roles
user_forums_roles
The following member fields serve the same purpose for threads as they do for comments:
target_username
Field |
Type |
Details |
---|---|---|
|
string |
Identifies the reason selected for the edit. |
|
boolean |
Identifies whether the user is the author of the comment. |
|
string |
Identifies the type of content. Possible values are ‘post’, ‘comment’, ‘response’. |
edx.forum.comment.deleted
#
Users delete a comment about a response by clicking Delete and then clicking
Delete again to confirm the deletion. When these actions are complete, the
server emits an edx.forum.comment.deleted
event.
History: Added 21 Sept 2022.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.comment.deleted
events include many of the same event
member fields that are described for edx.forum.thread.created and
edx.forum.response.created events. The following member fields serve the same
purpose for comments as they do for threads or responses.
body
commentable_id
content_type
id
url
user_course_roles
user_forums_roles
edx.forum.comment.reported
#
Users can report a comment as inappropriate. When this action is taken
the edx.forum.comment.reported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.comment.reported
events include
many of the same event
member fields that are described for edx.forum.comment.created
events.
id
url
category_id
category_name
commentable_id
user_course_roles
user_forums_roles
target_username
body
content_type
edx.forum.comment.unreported
#
Users can report a comment as inappropriate, they can also undo this action.
When a thread is un-reported the edx.forum.comment.unreported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.comment.unreported
events include
many of the same event
member fields that are described for edx.forum.comment.created
events.
id
url
category_id
category_name
commentable_id
user_course_roles
user_forums_roles
target_username
body
truncated
content_type
Field |
Type |
Details |
---|---|---|
|
Boolean |
TRUE if the reported status of the content is cleared, otherwise FALSE. Note that reported status is only removed when: 1. A user with moderation role un-reports content. 2. All users without moderation roles, who reported the content, have un-reported it. |
edx.forum.response.created
#
Users create a reply to a post by clicking Add a Response and then
submitting their contributions. When these actions are complete, the server
emits an edx.forum.response.created
event.
History: Added 5 Mar 2015.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.response.created
events include many of the same event
member fields that are described for edx.forum.thread.created events. The following
member fields serve the same purpose for responses as they do for threads.
body
commentable_id
id
options
team_id
truncated
url
user_course_roles
user_forums_roles
The following additional event
member field applies specifically to
edx.forum.response.created
events.
Field |
Type |
Details |
---|---|---|
|
object |
Contains a member Also present for |
edx.forum.response.deleted
#
Users delete a response about a response by clicking Delete and then clicking
Delete again to confirm the deletion. When these actions are complete, the
server emits an edx.forum.response.deleted
event.
History: Added 21 Sept 2022.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.comment.deleted
events include many of the same event
member fields that are described for edx.forum.thread.created and
edx.forum.response.created events. The following member fields serve the same
purpose for comments as they do for threads or responses.
body
commentable_id
content_type
id
url
user_course_roles
user_forums_roles
edx.forum.response.edited
#
Users edit a response by entering text and then submitting the contributions.
When these actions are complete, the server emits an
edx.forum.response.edited
event.
History: Added for Discussions MFE on 3 Oct 2022, added for legacy forums 21 Nov 2022
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.response.edited
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for responses as they
do for threads.
category_id
category_name
commentable_id
id
url
user_course_roles
user_forums_roles
target_username
content_type
The following member fields serve the same purpose for responses as they do for comments:
target_username
edit_reason
own_content
content_type
edx.forum.response.mark
#
Users are able to mark a comment as “endorsed” or “answered”. When they do this the
edx.forum.response.mark
event is emitted.
History: 5 Dec 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.response.mark
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for responses as they
do for threads or comments.
category_id
category_name
commentable_id
id
url
user_course_roles
user_forums_roles
target_username
discussion.id
Field |
Type |
Details |
---|---|---|
|
string |
Indicates the type of mark added. Either |
edx.forum.response.unmark
#
Users are able to mark a comment as “endorsed” or “answered”, they may also undo
that action by “unmarking”. When this happens edx.forum.response.unmark
is
emitted.
History: 5 Dec 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.response.unmark
events include
many of the same event
member fields that are described for edx.forum.thread.created
events.
category_id
category_name
commentable_id
id
url
user_course_roles
user_forums_roles
target_username
discussion.id
The following member fields serve the same purpose for responses as they do for response marks:
mark_type
edx.forum.response.reported
#
Users can report a response as inappropriate. When this action is taken
the edx.forum.response.reported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.response.reported
events include
many of the same event
member fields that are described for edx.forum.response.created
events.
id
url
category_id
category_name
commentable_id
discussion.id
user_course_roles
user_forums_roles
target_username
body
content_type
edx.forum.response.unreported
#
Users can report a response as inappropriate, they can also undo this action.
When a thread is un-reported the edx.forum.response.unreported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.response.unreported
events include
many of the same event
member fields that are described for edx.forum.response.created
events.
id
url
category_id
category_name
commentable_id
discussion.id
user_course_roles
user_forums_roles
target_username
body
Field |
Type |
Details |
---|---|---|
|
Boolean |
TRUE if the reported status of the content is cleared, otherwise FALSE. Note that reported status is only removed when: 1. A user with moderation role un-reports content. 2. All users without moderation roles, who reported the content, have un-reported it. |
edx.forum.response.voted
#
Users can indicate interest in a response by selecting a “Vote” icon. The
“Vote” icon is a toggle, so users can also clear a vote made previously. When
either of these actions is complete, the server emits an
edx.forum.response.voted
event.
In these events, the user who voted for the response is identified in the
username
and context.user_id
fields, and the user who originally posted
the thread is identified in the event.target_username
field.
History: Added 1 Dec 2015.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.response.voted
events include the same event
member
fields as edx.forum.thread.voted events. The following member fields
serve the same purpose for votes on a response as they do for votes on a
thread.
category_id
category_name
commentable_id
id
target_username
team_id
undo_vote
url
user_course_roles
user_forums_roles
vote_value
edx.forum.searched
#
After a user executes a text search in the navigation sidebar of the course
Discussion page, the server emits an edx.forum.searched
event.
History: Added 16 May 2014. The corrected_text
field was added 5
Jun 2014. The group_id
field was added 7 October 2014.
Component: Discussion
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
A re-spelling of the query, suggested by the search engine, which was automatically substituted for the original one. This happens only when there are no results for the original query, but the index contains matches for a similar term or phrase. Otherwise, this field is null. |
|
number |
The numeric ID of the cohort to which the user’s search is
restricted, or In a course with cohorts enabled, a student’s searches will always be restricted to the student’s cohort. Discussion admins, moderators, and Community TAs in such a course can
search all discussions without specifying a cohort, which leaves
this field |
|
number |
Results are returned in sets of 20 per page. Identifies the page of results requested by the user. |
|
string |
The text entered into the search box by the user. |
|
number |
The total number of results matching the query. |
edx.forum.thread.created
#
Users create a new top-level thread, also known as a post, by clicking New
Post and then submitting their contributions. When these actions are
complete, the server emits an edx.forum.thread.created
event.
History: Added 5 Mar 2015.
Component: Discussion
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
Boolean |
Applies only to courses that allow discussion posts that are anonymous to all other users. ‘true’ only if the user selected the post anonymously check box. |
|
Boolean |
Applies only to courses that allow discussion posts that are anonymous to other students. The username of the thread creator is visible only to users who have discussion management privileges. ‘true’ only if the user selected the post anonymously to classmates check box. |
|
string |
The text supplied for the new post. Truncated if the field contains more than 2000 characters. Also present for |
|
string |
Identifier for the specific discussion component or top-level, course-wide discussion. Also present for |
|
string |
The display name for the specific discussion component or top-level, course-wide discussion. Also present for |
|
string |
Identifier for the specific discussion component or top-level,
course-wide discussion. Duplicates the Also present for |
|
string |
The numeric ID of the cohort to which the contribution is restricted,
or |
|
string |
A unique identifier for this forum contribution. Also present for |
|
object |
Contains the Also present for |
|
string |
If the thread is part of a team discussion within a course, this field identifies the team that the thread was created in. For more information about events for teams, see Teams-Related Events. Also present for |
|
string |
The person who creates the thread specifies either ‘discussion’ or ‘question’ to characterize the purpose of the post. |
|
string |
The brief descriptive text supplied to identify the post. Truncated if the title has more than 1000 characters. |
|
Boolean |
‘true’ only if the title is longer than 1000 characters, which is the maximum included in the event. |
|
Boolean |
‘true’ only if the post contains more than 2000 characters, which is the maximum included in the event. Also present for |
|
string |
The escaped URL of the page from which the thread can be viewed. Also present for |
|
array |
Identifies the course-level ‘Instructor’ (that is, Admin) or ‘Staff’ privilege assigned to the user. No value is reported for students. Also present for The |
|
array |
Identifies a user who does not have discussion management privileges as a ‘Student’. Identifies users who have discussion management privileges as a course ‘Community TA’, ‘Moderator’, or ‘Administrator’. Also present for The |
edx.forum.thread.deleted
#
Users deleted a top-level thread by clicking Delete and then confirming
the deletion. When this actions are complete, the server emits an
edx.forum.thread.deleted
event.
History: Added 21 Sept 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.deleted
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for thread edits as
they do for comment edition.
body
category_id
category_name
commentable_id
id
team_id
url
user_course_roles
user_forums_roles
title
title_truncated
The following member fields serve the same purpose for threads as they do for comments:
target_username
edit_reason
own_content
content_type
edx.forum.thread.edited
#
Users edit a top-level thread by clicking Edit and then submitting their
changes. When these actions are complete, the server emits an
edx.forum.thread.edited
event.
History: Added for Discussions MFE on 3 Oct 2022, added for legacy forums 21 Nov 2022
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.edited
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for thread edits as
they do for comment edition.
commentable_id
category_id
category_name
content_type
id
url
user_course_roles
user_forums_roles
content_type
The following member fields serve the same purpose for threads as they do for comments:
target_username
Field |
Type |
Details |
---|---|---|
|
string |
Identifies the reason selected for the edit. |
|
boolean |
Identifies whether the user is the author of the comment. |
|
string |
Identifies the type of content. Possible values are ‘post’, ‘comment’, ‘response’. |
edx.forum.thread.locked
#
Users closes a top-level thread by clicking Close and then confirming the
action. When these actions are complete, the server emits an
edx.forum.thread.locked
event.
History: Added 15 Sept 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.locked
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for thread edits as
they do for comment edition.
category_id
category_name
commentable_id
team_id
id
url
user_course_roles
user_forums_roles
The following member fields serve the same purpose for responses as they do for comments:
target_username
Field |
Type |
Details |
---|---|---|
|
string |
The reason that the thread was locked. |
edx.forum.thread.reported
#
Users can report a comment thread as inappropriate. When this action is taken
the edx.forum.thread.reported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.reported
events include
many of the same event
member fields that are described for edx.forum.thread.created
events.
id
url
category_id
category_name
commentable_id
user_course_roles
user_forums_roles
target_username
body
title
title_truncated
content_type
edx.forum.thread.unlocked
#
Users reopens a top-level thread by clicking Reopen and then confirming the
action. When these actions are complete, the server emits an
edx.forum.thread.unlocked
event.
History: Added 15 Sept 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.unlocked
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose for thread edits as
they do for comment edition.
category_id
category_name
commentable_id
team_id
id
url
user_course_roles
user_forums_roles
The following member fields serve the same purpose for thread unlocks as they do for comments:
target_username
The following member fields serve the same purpose for thread unlocks as they do for thread locks:
lock_reason
edx.forum.thread.unreported
#
Users can report a comment thread as inappropriate, they can also undo this action.
When a thread is un-reported the edx.forum.thread.unreported
is emitted.
History: Added 1 Nov 2022.
Component: Discussion
Event Source: Server
event
Member Fields: The edx.forum.thread.unreported
events include
many of the same event
member fields that are described for edx.forum.thread.created
events. The following member fields serve the same purpose as other thread events.
id
url
category_id
category_name
commentable_id
user_course_roles
user_forums_roles
target_username
body
title
title_truncated
content_type
Field |
Type |
Details |
---|---|---|
|
Boolean |
TRUE if the reported status of the content is cleared, otherwise FALSE. Note that reported status is only removed when: 1. A user with moderation role un-reports content. 2. All users without moderation roles, who reported the content, have un-reported it. |
edx.forum.thread.viewed
#
A user views a thread in the course discussions on a desktop, laptop, or tablet computer, or on the edX mobile apps.
History: Added 12 Jul 2017.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.thread.viewed
events include many of the same event
member fields that are described for edx.forum.thread.created events. The following
member fields serve the same purpose for thread views as they do for thread
creation.
category_id
category_name
commentable_id
id
team_id
title
title_truncated
url
user_course_roles
user_forums_roles
The following additional event
member field applies to
edx.forum.thread.viewed
events.
Field |
Type |
Details |
---|---|---|
|
string |
Identifies the user who originally posted the thread. This member field has the following limitations.
|
edx.forum.thread.voted
#
Users can indicate interest in a thread by selecting a “Vote” icon. The “Vote”
icon is a toggle, so users can also clear a vote made previously. When either
of these actions is complete, the server emits an edx.forum.thread.voted
event.
In these events, the user who voted for the thread is identified in the
username
and context.user_id
fields, and the user who originally posted
the thread is identified in the event.target_username
field.
History: Added 1 Dec 2015.
Component: Discussion
Event Source: Server
event
Member Fields:
The edx.forum.thread.voted
events include many of the same event
member fields that are described for edx.forum.thread.created events. The following
member fields serve the same purpose for votes on a thread as they do for
thread creation.
category_id
category_name
commentable_id
id
team_id
url
user_course_roles
user_forums_roles
The following additional event
member fields apply to
edx.forum.thread.voted
events.
Field |
Type |
Details |
---|---|---|
|
string |
Identifies the user who originally posted the thread, even if the user posted anonymously. Also present for |
|
Boolean |
‘true’ if the user clears selection of the “Vote” icon made previously. ‘false’ if the user selects the “Vote” icon. Also present for |
|
string |
Set to ‘up’ for all Also present for |
Drag and Drop Events#
This section describes events emitted by the drag and drop problem XBlock. The drag and drop problem XBlock presents a background image and a set of draggable items. Learners select an item and move it into a target zone on the background image. Drag and drop problems can also require that learners enter number input for each item that they drag into a target zone. A drag and drop problem is complete when each draggable item that matches a target zone is correctly placed on its zone.
This section presents the drag and drop events alphabetically. Typically, an interaction with these problems begins with a edx.drag_and_drop_v2.loaded event.
History: Added 24 Feb 2016.
edx.drag_and_drop_v2.feedback.closed
#
The server emits this event when a pop up feedback message closes in a drag and drop problem.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The text of the success or error feedback message in the pop up. |
|
Boolean |
‘true’ if the learner manually closed the pop up dialog box, ‘false’ if the browser closed the dialog box. |
|
Boolean |
‘true’ only if the |
edx.drag_and_drop_v2.feedback.opened
#
The server emits this event when a pop up feedback message opens in a drag and drop problem.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
The edx.drag_and_drop_v2.feedback.opened
events include the following
event
member fields. These fields serve the same purpose for events of this
type as for edx.drag_and_drop_v2.feedback.closed
events.
content
truncated
edx.drag_and_drop_v2.item.dropped
#
The server emits this event when a learner releases a draggable item into a target zone in a drag and drop problem. For problems that also require a number input, this event is also emitted after the learner submits the number input.
Event Source: Server
History: item
and location_id
added 7 Sep 2016.
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
integer |
The number input value entered by the learner. |
|
string |
The display name of the draggable item selected by the learner. For items that do not have a display name, this contains the item’s image URL. |
|
integer |
The index assigned to the draggable item selected by the learner. |
|
Boolean |
For problems that do not require a number input, ‘true’ if the item is in the correct zone, or ‘false’ if it is not in a correct zone. For problems that require a number input, ‘true’ only if both the item is dropped in the correct zone and the number input is correct. |
|
Boolean |
‘true’ if the draggable item is in the correct target zone. ‘false’ if
the item is not in the correct zone. For problems that do not require a
number input, |
|
string |
The text identifier for the target zone in which the learner placed the item. |
|
integer |
The automatically generated unique index assigned to the target zone in which the learner placed the item. The assigned index is persistent for each instance. |
edx.drag_and_drop_v2.item.picked_up
#
The server emits this event when a learner selects a draggable item in a drag and drop problem.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
integer |
The index assigned to the draggable item selected by the learner. |
edx.drag_and_drop_v2.loaded
#
The server emits this event after a drag and drop problem is shown in the LMS.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields: None
Enrollment Events#
This section includes descriptions of the following events.
edx.course.enrollment.activated
and edx.course.enrollment.deactivated
#
The server emits these events in response to course enrollment activities completed by a student.
When a student enrolls in a course, the server emits an
edx.course.enrollment.activated
event. For example, when a student clicks Enroll for a course on the edx.org site, the server emits this event.When a student unenrolls from a course, the server emits an
edx.course.enrollment.deactivated
event. For example, when a student clicks Unenroll for a course on the edx.org site, the server emits this event.
In addition, actions by course team members also generate enrollment events. For the actions that members of the course team complete that result in these events, see Instructor Enrollment Events.
History: These enrollment events were added on 03 Dec 2013. On 07 May
2014, the name
field was added. These enrollment events include both a
name
field and an event_type
field.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The course in which the student was enrolled or unenrolled. If an external tool is used to enroll or unenroll students, this field
contains a value and the |
|
string |
‘audit’, ‘honor’, ‘professional’, ‘verified’. Identifies the student’s enrollment mode. |
|
number |
Identifies the student who was enrolled or unenrolled. |
Example edx.course.enrollment.deactivated
Event#
{
"username": "AAAAAAAAAA",
"event_source": "server",
"name": "edx.course.enrollment.deactivated",
"referer": "http:\/\/localhost:8001\/container\/i4x:\/\/edX\/DemoX\/vertical\/69dedd38233a46fc89e4d7b5e8da1bf4?action=new",
"accept_language": "en-US,en;q=0.8",
"time": "2014-01-26T00:28:28.388782+00:00",
"agent": "Mozilla\/5.0 (Windows NT 6.1; WOW64; Trident\/7.0; rv:11.0) like Gecko",
"page": null
"host": "courses.edx.org",
"session": "a14j3ifhskngw0gfgn230g",
"context": {
"user_id": 9999999,
"org_id": "edX",
"course_id": "edX\/DemoX\/Demo_Course",
"path": "\/change_enrollment",
},
"ip": "NN.NN.NNN.NNN",
"event": {
"course_id": "edX\/DemoX\/Demo_Course",
"user_id": 9999999,
"mode": "honor"
},
"event_type": "edx.course.enrollment.deactivated"
}
edx.course.enrollment.mode_changed
#
The server emits an edx.course.enrollment.mode_changed
event when the
process of changing a student’s student_courseenrollment.mode
to a
different mode is complete.
History: Added 21 Aug 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The course in which the student’s enrollment mode has changed. |
|
string |
‘audit’, ‘honor’, ‘professional’, verified’. Identifies the student’s new enrollment mode. |
|
number |
Identifies the student whose enrollment mode changed. |
edx.course.enrollment.upgrade.clicked
#
Students who enroll with a student_courseenrollment.mode
of ‘audit’ in a
course that has a verified certificate option see an upgrade link or button
for the course in various locations. The browser emits this event when a
student clicks this option, and the process of upgrading the
student_courseenrollment.mode
for the student to ‘verified’ begins.
History: Added 18 Dec 2013; location
field added 10 Oct 2017.
Event Source: Browser
context
Member Fields:
In addition to the common context
member fields, this
event type also includes the following context
member field.
Field |
Type |
Details and Member Fields |
---|---|---|
|
string |
The location in the LMS where the student clicked an upgrade link or button. |
|
string |
Enrollment mode when the user clicked an upgrade link or button: ‘audit’. |
event
Member Fields: None.
Notes Events#
This section includes descriptions of the following events.
edx.course.student_notes.added
edx.course.student_notes.deleted
edx.course.student_notes.edited
edx.course.student_notes.notes_page_viewed
edx.course.student_notes.searched
edx.course.student_notes.used_unit_link
edx.course.student_notes.viewed
The Notes tool allows learners to highlight and make notes about what they read in the body of the course. Learners can also add tags to their notes to make their notes easier to find. Learners can access their notes either in the body of the course or on a Notes page.
edx.course.student_notes.added
#
The browser emits edx.course.student_notes.added
events when a learner
adds a note in the course.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The unique identifier for the Text component where the learner added the note. |
|
string |
The course text that the learner highlighted. The text is truncated at 8333 characters. |
|
string |
The ID of the note. |
|
string |
The text of the note. Notes are truncated at 8333 characters. |
|
array of strings |
An array of the tags that the learner has specified. The text is truncated at 8333 characters. If the text is truncated, only complete tag names appear in the array. If the learner did not specify tags, the array is empty. |
|
array of strings |
Lists the names of any truncated fields. Values can be The |
edx.course.student_notes.deleted
#
The browser emits edx.course.student_notes.deleted
events when a learner
deletes a note in course.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
The member fields in the edx.course.student_notes.deleted
event are the
same as the member fields in the edx.course.student_notes.added event.
edx.course.student_notes.edited
#
The browser emits edx.course.student_notes.edited
events when a learner
edits a note in course.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
The edx.course.student_notes.edited
event includes the following fields in
addition to the member fields in the edx.course.student_notes.added
event.
Field |
Type |
Details |
---|---|---|
|
string |
The text of the note before the learner edited it. Notes are truncated at 8333 characters. |
|
array of strings |
Content of the array of tags before the learner edited it. Text is truncated at 8333 characters. If the text is truncated, only complete tag names appear in the array. If the learner did not specify tags, the array is empty. |
edx.course.student_notes.notes_page_viewed
#
The browser emits edx.course.student_notes.notes_page_viewed
events when a
learner accesses the Notes page or selects a different view on the page.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The view on the Notes page that the learner selects. Possible values
are |
edx.course.student_notes.searched
#
The browser emits edx.course.student_notes.searched
events when a learner
searches notes on the Notes page.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
integer |
The number of search results. |
|
string |
The text of the search query. |
edx.course.student_notes.used_unit_link
#
The browser emits edx.course.student_notes.used_unit_link
events when a
learner uses a note link on the Notes page to go to the Text component that
contains that note.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The ID of the component where the learner added the note. |
|
string |
The ID of the note. |
|
string |
Identifies the Notes page view that the learner was using when the
learner selected the note. Possible values are |
edx.course.student_notes.viewed
#
The browser emits edx.course.student_notes.viewed
events when a learner
views one or more notes on a page in the course.
History: Added 16 March 2016.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
array |
A list of the |
Open Response Assessment Events#
This section includes descriptions of the following events.
In an open response assessment, learners review a question and then submit a text response and, optionally, an image, .pdf, or other file. To evaluate their own and one or more other learners’ responses to the questions, learners use a scoring rubric designed by the course team. Course team members with staff privileges can also evaluate learners’ responses, either in a staff assessment step included in the assignment, or by overriding an existing assignment score.
Component: Open Response Assessments
History: The open response assessment feature was released in August 2014; limited release of this feature began in April 2014. The ability for course team members to either include a staff assessment step in the assignment, or to perform a staff override grade, was added in January 2016.
openassessmentblock.get_peer_submission
#
After learners submit their own responses for evaluation, they use the scoring rubric to evaluate the responses of other course participants. The server emits this event when a response is delivered to a learner for evaluation.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The identifier of the course that includes this assessment. |
|
string |
The locator string that identifies the problem in the course. |
|
string |
The course-specific anonymized user ID of the learner who retrieved the response for peer assessment. |
|
string |
The unique identifier of the response that was retrieved for assessment. If no assessment is available, this is set to “None”. |
openassessmentblock.get_submission_for_staff_grading
#
If a staff assessment step exists in the open response assessment, a member of the course staff evaluates a learner’s response using the same rubric that is used for self and peer assessments.
When a course team member retrieves a learner’s response for grading in the
staff assessment step, the server emits an
openassessmentblock.get_submission_for_staff_grading
event.
History: Added 20 Jan 2016.
Event Source: Server
event
Member Fields:
This event type includes the same context
and event
member fields as the
openassessmentblock.get_peer_submission
event and also includes the
following event
member fields.
Field |
Type |
Details |
---|---|---|
|
string |
The course-specific anonymized user ID of the course team member who is retrieved the response for grading. |
|
string |
Indicates the type of staff grading that is being performed. Currently, the only valid value is “full-grade”, which indicates that staff grading is being done in a staff assessment step. |
openassessmentblock.peer_assess
#
The server emits this event when a learner submits an assessment of a peer’s response.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The learner’s comments about the submitted response. |
|
array |
The These member fields are repeated in an array to include all of the rubric’s criteria.
When the only criterion in the rubric is learner feedback, |
|
object |
This field contains the member field |
|
datetime |
Timestamp for when the assessment was submitted. |
|
string |
The course-specific anonymized user ID of the learner who submitted this assessment. |
|
string |
Possible values are “PE” for a peer assessment, “SE” for a self assessment, or “ST” for a staff assessment. |
|
string |
The unique identifier for the submitted response. |
openassessmentblock.self_assess
#
The server emits this event when a learner submits a self-assessment of their own response.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
This event type includes the same context
and event
member fields as the
openassessmentblock.peer_assess
event.
openassessmentblock.staff_assess
#
The server emits this event when a course team member submits an assessment of a learner’s response.
History: Added 20 January 2016.
Event Source: Server
event
Member Fields:
This event type includes the same context
and event
member fields as the
openassessmentblock.peer_assess
event.
In addition, this event type includes this event
member field.
Field |
Type |
Details |
---|---|---|
|
string |
Indicates the type of staff grading that is being performed. Possible values are “regrade” in the case of a grade override, or “full-grade” in the case of an included staff assessment step. |
openassessmentblock.submit_feedback_on_assessments
#
The server emits this event when a learner submits a suggestion, opinion, or other feedback about the assessment process.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The learner’s comments about the assessment process. |
|
array |
The label of each check box option that the learner selected to evaluate the assessment process. |
|
string |
The unique identifier of the feedback. |
openassessmentblock.create_submission
#
The server emits this event when a learner submits a response. The same event is emitted when a learner submits a response for peer assessment or for self assessment.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
This field contains a For responses that also include an image, .pdf, or other file, this
field contains a |
|
number |
This value is currently always set to 1. |
|
datetime |
Timestamp for when the learner submitted the response. |
|
datetime |
Timestamp for when the learner submitted the response. This value is
currently always the same as |
|
string |
The unique identifier of the response. |
openassessmentblock.save_submission
#
The server emits this event when a learner saves a response. Learners can save responses before they submit them for assessment.
History: Added 3 April 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
This field contains a For responses that also include an image, .pdf, or other file, this
field contains a |
openassessment.student_training_assess_example
#
The server emits this event when a learner submits an assessment for an example response within a training step. To assess the example, the learner uses a scoring rubric provided by the course team. These events record the options that the learner selected to assess the example, and identify any criteria that the learner scored differently than the course team.
History: Added 6 August 2014.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
A set of name/value pairs that identify criteria for which the learner
selected a different option than the course team, in the format
|
|
object |
A set of name/value pairs that identify the option that the learner
selected for each criterion in the rubric, in the format
|
|
string |
The unique identifier of the response. Identifies the learner who is undergoing training. |
openassessment.upload_file
#
The browser emits this event when a learner successfully uploads an image, .pdf, or other file as part of a response. Learners complete the upload process before they submit the response.
History: Added 6 August 2014.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The name of the uploaded file, as stored on the learner’s client machine. |
|
number |
The size of the uploaded file in bytes. Reported by the learner’s browser. |
|
string |
The MIME type of the uploaded file. Reported by the learner’s browser. |
openassessment.upload_file_error
#
The browser emits this event when a learner encounters an error while uploading an image, .pdf, or other file as part of a response. This will block response submission until resolved.
History: Added 14 December 2020.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The error message returned from the failed upload. |
Pre-Roll Video Interaction Events#
Course teams can create a short video message and configure it to play automatically before the videos in a course.
The pre-roll video plays on an infrequent schedule of once per user per week.
Only courses that run on the edx.org website can include a pre-roll video.
The edX mobile applications do not play pre-roll videos.
When a user interacts with the pre-roll video, different events are emitted than for the other videos in the course. This section presents the pre-roll video events alphabetically.
History: Added 10 Jun 2015.
Component: Video
edx.video.bumper.dismissed
#
A browser emits this event when a user selects Do not show again for a pre-roll video. This option allows the user to opt out of viewing the course pre-roll video in the future.
Event Source: Browser
event
Member Fields:
The edx.video.bumper.dismissed
events include the following event
member fields. These fields serve the same purpose for events of this type as
for the edx.video.bumper.played events.
bumper_id
code
currentTime
duration
host_component_id
edx.video.bumper.loaded
#
When the pre-roll video is fully rendered and ready to play, the browser emits
an edx.video.bumper.loaded
event.
Event Source: Browser
event
Member Fields:
The edx.video.bumper.loaded
events include the following event
member fields. These fields serve the same purpose for events of this type as
for the edx.video.bumper.played events.
bumper_id
code
duration
host_component_id
edx.video.bumper.played
#
When a user selects the play control in the video player for a pre-roll
video, the browser emits an edx.video.bumper.played
event.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The escaped URL identifying the location of the pre-roll video that played. |
|
string |
Contains the value ‘html5’. All pre-roll videos are non-YouTube videos. |
|
number |
The time in the file at which the video played. |
|
number |
The length of the video file, in seconds. |
|
string |
Identifier for the video component that the user selected, and that is queued to play after the pre-roll video. |
Example: edx.video.bumper.played
Event#
{
"username": "honor",
"event_source": "browser",
"name": "edx.video.bumper.played",
"accept_language": "en-US,en;q=0.5",
"time": "2015-05-26T18:22:07.684172+00:00",
"agent": "Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko\/20100101 Firefox\/37.0",
"page": "http:\/\/edx.org\/courses\/edX\/DemoX.1\/2015\/courseware\/0af8db2309474971bfa70cda98668a30\/ec3364075f2845baa625bfecd5970410\/",
"host": "precise64",
"session": "feae6efa342b309e776d388b16da89a6",
"referer": "http:\/\/localhost:8001\/container\/i4x:\/\/edX\/DemoX\/vertical\/69dedd38233a46fc89e4d7b5e8da1bf4?action=new",
"context": {
"user_id": 7911,
"org_id": "edX",
"course_id": "edX\/DemoX.1\/2015",
"path": "\/event"
},
"ip": "123.0.0.1",
"event": "{\"duration\": 10, \"bumper_id\": \"http:\/\/www.w3schools.com\/html\/mov_bbb.webm\", \"code\": \"html5\", \"currentTime\": 0, \"host_component_id\": \"i4x-edX-DemoX_1-video-4e2eeecf597040e3b5e1a27600bc8ddc\"}",
"event_type": "edx.video.bumper.played"
}
edx.video.bumper.skipped
#
A browser emits this event when a user selects Skip for a bumper video. This option allows the user to advance past the pre-roll video and begin to play the selected video immediately.
Event Source: Browser
event
Member Fields:
The edx.video.bumper.skipped
events include the following event
member
fields. These fields serve the same purpose for events of this type as for the
edx.video.bumper.played events.
bumper_id
code
currentTime
: The point in the file at which the pre-roll video was skipped.duration
host_component_id
edx.video.bumper.stopped
#
A browser emits this event when the video player reaches the end of the pre- roll video file and play automatically stops.
This is the only event that is emitted when a user pauses a pre-roll video.
Event Source: Browser
event
Member Fields:
The edx.video.bumper.stopped
events include the following event
member
fields. These fields serve the same purpose for events of this type as for the
edx.video.bumper.played events.
bumper_id
code
currentTime
: The point in the file at which the pre-roll video was stopped.duration
host_component_id
edx.video.bumper.transcript.shown
#
When a user selects CC to display the transcript for a pre-roll video, the
browser emits a edx.video.bumper.transcript.shown
event. If the video has
more than one transcript file, the edx.video.bumper.transcript.menu.shown
event is also emitted.
The edx.video.bumper.transcript.shown
events include the following
event
member fields. These fields serve the same purpose for events of this
type as for the edx.video.bumper.played events.
bumper_id
code
currentTime
: The point in the file at which the transcript was shown.duration
host_component_id
Problem Interaction Events#
This section includes descriptions of the following events.
Problem interaction events are emitted by the server or the browser to capture information about interactions with core problem types.
These events were designed for the problem types implemented in the edX
platform by the capa_module.py
XBlock. Problem types that are implemented
by other XBlocks, such as open response assessments,
or drag and drop problems, are instrumented with
different events.
edx.problem.hint.demandhint_displayed
#
Course teams can design problems to include one or more hints. For problems
that include hints, the server emits an
edx.problem.hint.demandhint_displayed
event each time a user requests a
hint.
History: Added on 1 Jul 2015.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
Identifier for the hint that was displayed to the user. The first hint
defined for a problem is identified with |
|
number |
The total number of hints defined for this problem. |
|
string |
The text of the hint that was displayed to the user. |
|
string |
Identifier for the problem component for which the user requested the hint. |
edx.problem.hint.feedback_displayed
#
Course teams can design problems to include feedback messages that appear after
a user submits an answer. For problems that include feedback messages, the
server emits an edx.problem.hint.feedback_displayed
event each time a user
selects Submit.
History: Added on 1 Jul 2015.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
array |
For problems that have a set of possible answers defined, such as checkbox problems, lists all of the answer choices. |
|
Boolean |
‘True’ if the |
|
string |
The optional label, such as ‘Correct: ‘ or ‘Incorrect: ‘, provided for the feedback message. |
|
array |
Contains a |
|
string |
Identifier for the problem component for which the user received the feedback. |
|
string |
For problem components that contain more than one problem, identifies the specific problem for which the user received feedback. |
|
string |
The XML element that identifies the problem type. For example, ‘stringresponse’ for a text input problem. |
|
array |
The answer value selected or supplied by the user. For problem types that accept multiple answers, such as checkbox problems, every response, including both selected and unselected options, is included. |
|
string |
Identifies the type of feedback elicited by the |
problem_check
#
The server emits problem_check
events when a problem is successfully
checked.
Both browser interactions and server requests produce problem_check
events,
so your data package can also contain events with an event source of browser.
Events emitted by the browser contain all of the GET parameters. Only events
emitted by the server are useful for most purposes.
History:
On 7 Sep 2016, added the
submission.group_label
member field.On 5 Mar 2014, the
submission
object was added to theevent
field andmodule
was added to thecontext
field.Prior to 15 Oct 2013, this server-emitted event was named
save_problem_check
.Prior to 15 Jul 2013, this event was emitted twice for the same action.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
The problem ID and the internal answer identifier in a name/value pair. For a component with multiple problems, lists every problem and answer. |
|
number |
The number of times the user attempted to answer the problem. |
|
object |
For each problem ID value listed by
|
|
number |
Current grade value. |
|
number |
Maximum possible grade value. |
|
string |
ID of the problem that was checked. |
|
object |
Current problem state. |
|
object |
Provides data about the response made. For problem components that include multiple questions, a separate
|
|
string |
‘correct’, ‘incorrect’ |
problem_check_fail
#
The server emits problem_check_fail
events when a problem cannot be checked
successfully.
History: Prior to 15 Oct 2013, this event was named
save_problem_check_fail
.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
|
|
string |
‘closed’, ‘unreset’ |
|
string |
ID of the problem being checked. |
|
object |
Current problem state. |
problem_graded
#
The browser emits a problem_graded
event each time a user selects
Submit for a problem and it is graded successfully.
History: On 7 Sep 2016, updates to the HTML-formatted values in the
event.contents
field were made.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
array |
The array includes each problem in a problem component that has multiple problems. |
problem_rescore
#
The server emits problem_rescore
events when a problem is successfully
rescored.
In these events, the user who rescored the problem is identified in the
username
and context.user_id
fields, and the user who originally
submitted the response to the problem is identified in the student
field.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
|
|
object |
See the fields for the |
|
number |
|
|
number |
|
|
number |
|
|
number |
|
|
string |
ID of the problem being rescored. |
|
object |
Current problem state. |
|
string |
The username of the person whose response is being rescored. |
|
string |
‘correct’, ‘incorrect’ |
|
string |
problem_rescore_fail
#
The server emits problem_rescore_fail
events when a problem cannot be
successfully rescored.
In these events, the user who rescored the problem is identified in the
username
and context.user_id
fields, and the user who originally
submitted the response to the problem is identified in the student
field.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
‘unsupported’, ‘unanswered’, ‘input_error’, ‘unexpected’ |
|
string |
ID of the problem being checked. |
|
object |
Current problem state. |
|
string |
The username of the person whose response was being rescored. |
problem_reset
#
The browser emits problem_reset
events after a user selects Reset and
the answer to a problem is reset.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The value reset by the user. |
problem_save
#
The browser emits problem_save
events after a user saves a problem.
Event Source: Browser
event
Member Fields: None
problem_show
#
The browser emits problem_show
events when the answer to a problem is
shown; that is, the user selected Show Answer.
Note
This event does not indicate when a problem was shown to a user.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The optional name value that the course creators supply or the system-generated hash code for the problem being shown. For example, This value is based on part of the
History: In October 2014, identifiers for some new courses began to
use the format shown above. Other new courses, and all courses created
prior to October 2014, use an HTML-escaped version of the
|
reset_problem
#
The server emits reset_problem
events when a problem has been reset
successfully.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
New problem state. |
|
object |
The state of the problem before the reset was performed. |
|
string |
ID of the problem being reset. |
reset_problem_fail
#
The server emits reset_problem_fail
events when a problem cannot be reset
successfully.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
‘closed’, ‘not_done’ |
|
object |
The state of the problem before the reset was requested. |
|
string |
ID of the problem being reset. |
save_problem_fail
#
The server emits save_problem_fail
events when a problem cannot be saved
successfully.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
|
|
string |
‘closed’, ‘done’ |
|
string |
ID of the problem being saved. |
|
object |
Current problem state. |
save_problem_success
#
The server emits save_problem_success
events when a problem is saved
successfully.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
object |
|
|
string |
ID of the problem being saved. |
|
object |
Current problem state. |
showanswer
#
The server emits showanswer
events when the answer to a problem is shown.
Event Source: Server
context
Member Fields:
This event type includes the common context.module
member
field.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
EdX ID of the problem being shown. |
Testing Events for Content Experiments#
This section includes descriptions of the following events.
Course authors can configure course content to present modules that contain other modules. Content experiments, also known as A/B or split tests, use this structure. For example, a parent module can include two child modules that contain content that differs in some way for comparison testing.
Internally, a partition defines the type of experiment: comparing the effectiveness of video alone to text alone, for example. A course can include any number of modules that have the same partition or experiment type.
For each partition, students are randomly assigned to a group. The group determines which content, either video or text in this example, is shown by every module with that partitioning.
Students are assigned to groups randomly. Assignment to a group takes place when student navigation through the course requires data from that module. For example, one student is assigned to a group when he visits the course progress page, while another student is assigned to a group when she visits a course component that is the parent module of a content experiment. Based on this random group assignment, the content of just one of the two child modules is shown to the student.
For investigations into which students in each group actually interacted with tested content, review the events for the behavior you want to learn about. For example, review the students’
play_video
,textbook.pdf.page.navigated
, orproblem_check
events.
The events that follow apply to modules that are set up to randomly assign students to groups so that different content can be shown to the different groups.
History: These events were added on 12 Mar 2014.
xmodule.partitions.assigned_user_to_partition
#
When a student views a module that is set up to test different child modules,
the server checks the user_api_usercoursetag
table for the student’s
assignment to the relevant partition, and to a group for that partition.
The partition ID is the
user_api_usercoursetag.key
.The group ID is the
user_api_usercoursetag.value
.
If the student does not yet have an assignment, the server emits an
xmodule.partitions.assigned_user_to_partition
event and adds a row to the
user_api_usercoursetag
table for the student.
Note
After this event is emitted, the common context
field in all
subsequent events includes a course_user_tags
member field with the
student’s assigned partition and group.
Component: Split Test
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
Identifier of the group. |
|
string |
Name of the group. |
|
number |
Identifier for the partition, in the format
|
|
string |
Name of the partition. |
xblock.split_test.child_render
#
When a student views a module that is set up to test different content using
child modules, the server emits a xblock.split_test.child_render
event to
identify the child module that was shown to the student.
Component: Split Test
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
ID of the module that was displayed to the student. History: Renamed on 16 Oct 2014 from |
Textbook Interaction Events#
This section includes descriptions of the following events.
textbook.pdf.thumbnails.toggled
#
The browser emits textbook.pdf.thumbnails.toggled
events when a user clicks
on the icon to show or hide page thumbnails.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The name of the PDF file. |
|
string |
|
|
number |
The number of the page that is open when the user clicks this icon. |
textbook.pdf.outline.toggled
#
The browser emits textbook.pdf.outline.toggled
events when a user clicks
the outline icon to show or hide a list of the book’s chapters.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The name of the PDF file. |
|
string |
|
|
number |
The number of the page that is open when the user clicks this link. |
textbook.pdf.display.scaled
#
The browser emits textbook.pdf.display.scaled
events when the display
magnification changes. These changes occur after a student selects a
magnification setting from the zoom menu or resizes the browser window.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The magnification setting; for example, 0.95 or 1.25. |
|
string |
The name of the PDF file. |
|
string |
|
|
number |
The number of the page that is open when the scaling takes place. |
textbook.pdf.page.scrolled
#
The browser emits textbook.pdf.page.scrolled
events each time the
displayed page changes while a user scrolls up or down.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
The name of the PDF file. |
|
string |
‘up’, ‘down’ |
|
string |
|
|
number |
The number of the page that is open when the scrolling takes place. |
textbook.pdf.search.executed
#
The browser emits textbook.pdf.search.executed
events when a user searches
for a text value in the file. To reduce the number of events produced, instead
of producing one event per entered character this event defines a search string
as the set of characters that is consecutively entered in the search field
within 500ms of each other.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
Boolean |
‘true’ if the case sensitive option is selected. ‘false’ if this option is not selected. |
|
string |
The name of the PDF file. |
|
Boolean |
‘true’ if the option to highlight all matches is selected. ‘false’ if this option is not selected. |
|
string |
|
|
number |
The number of the page that is open when the search takes place. |
|
string |
The value in the search field. |
|
string |
A “not found” status phrase for a search string that is unsuccessful. Blank for successful search strings. |
textbook.pdf.search.highlight.toggled
#
The browser emits textbook.pdf.search.highlight.toggled
events when a user
selects or clears the Highlight All option for a search.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
Boolean |
‘true’ if the case sensitive option is selected. ‘false’ if this option is not selected. |
|
string |
The name of the PDF file. |
|
Boolean |
‘true’ if the option to highlight all matches is selected. ‘false’ if this option is not selected. |
|
string |
|
|
number |
The number of the page that is open when the search takes place. |
|
string |
The value in the search field. |
|
string |
A “not found” status phrase for a search string that is unsuccessful. Blank for successful search strings. |
textbook.pdf.searchcasesensitivity.toggled
#
The browser emits textbook.pdf.searchcasesensitivity.toggled
events when a
user selects or clears the Match Case option for a search.
History: This event was added on 16 Apr 2014.
Component: PDF Viewer
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
Boolean |
‘true’ if the case sensitive option is selected. ‘false’ if this option is not selected. |
|
string |
The name of the PDF file. |
|
Boolean |
‘true’ if the option to highlight all matches is selected. ‘false’ if this option is not selected. |
|
string |
|
|
number |
The number of the page that is open when the search takes place. |
|
string |
The value in the search field. |
|
string |
A “not found” status phrase for a search string that is unsuccessful. Blank for successful search strings. |
Third-Party Content Events#
This section includes descriptions of the following events.
EdX courses can include components that present content that is hosted by a third party. The server emits events when users interact with the third-party content.
Google Component Events#
Course teams use the Google Calendar and Google Drive Files tools in Studio to embed Google calendars and Google drive files, such as documents, spreadsheets, and images, in a course. When users interact with the files in the LMS, the server emits the following events.
edx.googlecomponent.calendar.displayed
#
The server emits an edx.googlecomponent.calendar.displayed
event when a
Google Calendar component is shown in the LMS.
History: Added 5 Mar 2015.
Event Source: Server
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
‘iframe’ for Google Calendars and for Google Drive files of other types. ‘img’ for Google Drive image files. |
|
string |
The URL of the image file or of the file loaded by the iFrame. |
edx.googlecomponent.document.displayed
#
The server emits an edx.googlecomponent.document.displayed
event when a
Google Drive file, such as a document, spreadsheet, or image, is shown in the
LMS.
History: Added 5 Mar 2015.
Event Source: Server
event
Member Fields:
The edx.googlecomponent.document.displayed
events include the following
event
member fields. These fields serve the same purpose for events of this
type as for the edx.googlecomponent.calendar.displayed
events.
displayed_in
url
Timed Exam and Proctored Exam Events#
Special exams are a type of course exam that includes timed exams, proctored exams, and practice proctored exams. These exam types offer more complicated functionality than other assignment types in graded subsections, and they emit additional events. Special exam events provide information about special exams included in courses and learners’ interactions with those special exams.
Proctored exams have a time limit and they require learners to install and run monitoring software while taking the exam. After a learner completes a proctored exam, a team of reviewers determines whether the learner complied with all of the exam rules based on records generated by the monitoring software.
Practice proctored exams allow learners to become familiar with the monitoring software that they will use during an actual proctored exam. The way that a learner experiences a practice proctored exam is identical to a proctored exam. In a practice proctored exam, the monitoring software does not send exam records to reviewers.
Timed exams have a time limit. Learners do not install or use monitoring software when they take a timed exam.
Practice proctored exams follow a workflow that is similar to proctored exams but do not include a review of the exam attempt. Timed exams also follow a similar workflow but do not include any proctoring software or review of the exam attempt.
The following diagram shows the workflow for a proctored exam.
Some special exam events are emitted when course teams develop and administer exams. For more information, see Timed and Proctored Exam Development and Administration Events.
Because special exams include similar functions and behavior, they share some
similar events. For example, the
edx.special_exam.proctored.allowance.created
,
edx.special_exam.practice.allowance.created
, and
edx.special_exam.timed.allowance.created
events include identical fields.
This section includes descriptions of the following events.
edx.special_exam.proctored.attempt.created
, edx.special_exam.practice.attempt.created
, and edx.special_exam.timed.attempt.created
#
The server emits this event when a learner chooses to take a special exam.
History: Added 01 Dec 2015.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The amount of time, in minutes, that the learner has to complete the exam. |
|
string |
A generated identifier for the exam attempt. |
|
datetime |
The UTC time stamp of the time at which the learner submitted the exam. |
|
number |
The number of seconds that passed between the time the learner started the exam and the time the event was emitted. |
|
number |
The primary identifier of the exam attempt. |
|
datetime |
The UTC time stamp of the time at which the learner began taking the exam. |
|
string |
The current state of the exam, for example, |
|
number |
The primary identifier of the learner taking the exam. |
|
string |
The primary identifier of the subsection that contains the exam. |
|
number |
The standard amount of time, in minutes, that learners have to complete the exam. |
|
number |
The primary identifier of the exam. |
|
Boolean |
Indicates whether the special exam is currently available for learner attempts. |
|
Boolean |
Indicates whether the special exam is a practice proctored exam. |
|
Boolean |
Indicates whether the special exam is a proctored exam. |
|
string |
The title of the exam in the course page, taken from the subsection title. |
edx.special_exam.proctored.attempt.declined
#
The server emits this event when a learner chooses to take an exam without proctoring.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.proctored.attempt.created
event. For more information,
see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.deleted
, edx.special_exam.practice.attempt.deleted
, and edx.special_exam.timed.attempt.deleted
#
The server emits this event when a course team or edX platform administrator removes an exam attempt record for an individual learner.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.download_software_clicked
and edx.special_exam.practice.attempt.download_software_clicked
#
The server emits this event when a learner follows the link to download the proctoring software for a proctored exam.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more information,
see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.error
and edx.special_exam.practice.attempt.error
#
The server emits this event when it loses the connection to the proctoring software during a learner’s exam attempt.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.ready_to_start
and edx.special_exam.practice.attempt.ready_to_start
#
The server emits this event when a learner has installed the proctoring software and is ready to begin taking a proctored exam.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.ready_to_submit
, edx.special_exam.practice.attempt.ready_to_submit
, and edx.special_exam.timed.attempt.ready_to_submit
#
The server emits this event when a learner has completed a proctored exam and is prompted to submit the exam.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.rejected
#
The server emits this event when a proctored exam attempt has been reviewed and has been disqualified.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.proctored.attempt.created
event. For more information,
see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.review_received
#
The server emits this event when a proctored exam attempt has been reviewed and the results of the review are available.
History: Added 01 Dec 2015.
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The amount of time, in minutes, that the learner has to complete the exam. |
|
string |
A generated identifier for the exam attempt. |
|
datetime |
The UTC time stamp of the time at which the learner submitted the exam. |
|
number |
The number of seconds that passed between the time the learner started the exam and the time the event was emitted. |
|
number |
The primary identifier of the exam attempt. |
|
datetime |
The UTC time stamp of the time at which the learner began taking the exam. |
|
string |
The current state of the exam, for example, |
|
number |
The primary identifier of the learner taking the exam. |
|
string |
The primary identifier of the subsection that contains the exam. |
|
number |
The standard amount of time, in minutes, that learners have to complete the exam. |
|
number |
The primary identifier of the exam. |
|
string |
The title of the exam in the course page, taken from the subsection title. |
|
Boolean |
Indicates whether the special exam is currently available for learner attempts. |
|
Boolean |
Indicates whether the special exam is a practice proctored exam. |
|
Boolean |
Indicates whether the special exam is a proctored exam. |
|
string |
A generated identifier for the review of the exam attempt. |
|
string |
The result of the review. Values include |
|
string |
The URL of the proctored exam record. |
edx.special_exam.proctored.attempt.started
, edx.special_exam.practice.attempt.started
, and edx.special_exam.timed.attempt.started
#
The server emits this event when a learner begins taking a proctored exam.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.submitted
, edx.special_exam.practice.attempt.submitted
, and edx.special_exam.timed.attempt.submitted
#
The server emits this event when a learner completes a proctored exam and submits it for grading and review.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.{special exam type}.attempt.created
event. For more
information, see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.attempt.verified
#
The server emits this event when the review of a proctored exam is complete and the exam attempt is approved.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.proctored.attempt.created
event. For more information,
see
edx.special_exam.proctored.attempt.created, edx.special_exam.practice.attempt.created, and edx.special_exam.timed.attempt.created.
History: Added 01 Dec 2015.
edx.special_exam.proctored.option-presented
#
The server emits this event when a learner views the starting page of a proctored exam. The starting page presents a link that learners can follow to begin taking the proctored exam.
The event
fields for this event are the same as the event
fields for
the edx.special_exam.proctored.created
event. For more information, see
edx.special_exam.proctored.created, edx.special_exam.practice.created, and edx.special_exam.timed.created.
History: Added 01 Dec 2015.
Video Interaction Events#
This section includes descriptions of the following events. Due to a naming
convention change, many of these events have two identifying names. In this
list, the original name, which is present in the event_type
field for all
events, is followed by a newer, revised name. The revised name is present in
the name
field only for events that have an event_source
of ‘mobile’.
A browser or the edX mobile app emits video interaction events when a user interacts with a video.
When users use a browser to stream video files on a desktop computer or mobile device, the browser emits the events.
When users use the edX mobile app to stream or download course videos for offline viewing, the mobile app emits the events.
When a user interacts with a downloaded video file offline using the edX mobile app, note that the app can only forward its events during the next connection opportunity. As a result, the date and time in the event’s
time
field can be different from the date and time in itscontext.received_at
field. Data packages can include events emitted on past dates.
This section presents the video interaction events alphabetically. Typically, an interaction with the video player begins with a play_video/edx.video.played event.
For courses that include a pre-roll video, user interactions with the pre-roll video result in different events. For more information, see Pre-Roll Video Interaction Events.
History: The edX mobile app for iOS began to emit a subset of the video events on 25 Feb 2015. The edX mobile app for Android began to emit a subset of the video events on 23 Dec 2014.
Component: Video
load_video
/edx.video.loaded
#
When the video is fully rendered and ready to play, the browser or mobile app
emits a load_video
event.
In addition to the identifying event_type
of load_video
, the events
that the edX mobile app emits also include a name
field with a value of
edx.video.loaded
.
History: Updated 25 Feb 2015 to include events emitted by the edX mobile app for iOS. Updated 23 Dec 2014 to include events emitted by the edX mobile app for Android.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. The same set of additional context fields are added for
load_video
events as for play_video/edx.video.played. For an example of an event
with these fields, see
Example: Mobile App-Emitted edx.video.played Event.
event
Member Fields:
The load_video
/ edx.video.loaded
events include the following event
member fields. These fields serve the same purpose for events of this type as
for the play_video/edx.video.played events.
code
id
pause_video
/edx.video.paused
#
When a user selects the video player’s pause control, the player emits a
pause_video
event. For videos that are streamed in a browser, when the
player reaches the end of the video file and play automatically stops it emits
both this event and a stop_video
event (as of June 2014).
Note that course teams can specify a Video Stop Time for video files.
If the user streams a video file in a browser and a Video Stop Time is present for the video, the player stops at the specified time and emits the
pause_video
andstop_video
events.If the user plays a streaming or downloaded video in the edX mobile app, the app ignores the Video Stop Time and plays the file to its end. The app then emits only the
stop_video
event.
In addition to the identifying event_type
of pause_video
, the events
that the edX mobile app emits include a name
field with a value of
edx.video.paused
.
History:
Updated 5 May 2015 to include the effect of a Video Stop Time.
Updated 25 Feb 2015 to include events emitted by the edX mobile app for iOS.
Updated 23 Dec 2014 to include events emitted by the edX mobile app for Android.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. The same set of additional context fields are added for
pause_video
/ edx.video.paused
events as for
play_video/edx.video.played. For an example of an event with these fields, see
Example: Mobile App-Emitted edx.video.played Event.
event
Member Fields:
The pause_video
/edx.video.paused
events include the following
event
member fields. These fields serve the same purpose for events of
this type as for the play_video/edx.video.played events.
code
currentTime
: The time in the video at which the video paused.id
play_video
/edx.video.played
#
When a user selects the video player’s play control, the player emits a
play_video
event.
Note that course teams can specify a Video Start Time for video files.
If the user streams a video file in a browser and a Video Start Time is present for the video, the player starts at the specified time and emits the
play_video
event.If the user plays a streaming or downloaded video in the edX mobile app, the app ignores the Video Start Time and emits the
play_video
event when it plays the file from the beginning.
In addition to the identifying event_type
of play_video
, events
that the edX mobile app emits also include a name
field with a value of
edx.video.played
.
History:
Updated 5 May 2015 to include the effect of a Video Start Time.
Updated 25 Feb 2015 to include events emitted by the edX mobile app for iOS.
Updated 23 Dec 2014 to include events emitted by the edX mobile app for Android.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. Other video interaction events with an event_source
of
mobile also include these fields. For an example of an event with these
fields, see Example: Mobile App-Emitted edx.video.played Event.
Field |
Type |
Details and Member Fields |
---|---|---|
|
object |
Includes |
|
object |
Includes member objects and fields with device-specific data. The The content of this field is subject to change without notice. |
|
string |
‘videoplayer’ |
|
number |
Indicates the time at which the event collection library received the event. Events can only be forwarded when the mobile device is connected to the
Internet. Therefore, this value can be different than the event’s
The data in this field reflects a third-party integration and is subject to change at any time without notice. |
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
string |
For YouTube videos played in a browser, the ID of the video being loaded (for example, OEyXaRPEzfM). For non-YouTube videos played in a browser, ‘html5’. For videos played by the edX mobile app, ‘mobile’. |
|
number |
The time in the video at which the event was emitted. |
|
string |
The optional name value supplied by the course creators, or the system- generated hash code for the video being watched. For example, This value is part of the History: In October 2014, identifiers for some new courses began to
use the format shown above. Other new courses, and all courses created
prior to October 2014, use an HTML-escaped version of the
|
Example: Browser-Emitted play_video
Event#
{
"event_source": "browser",
"event": "{\"id\":\"i4x-BerkeleyX-Stat_2_1x-video-58424ad2f75048798b4480aa699cc215\",\"currentTime\":243,\"code\":\"iOOYGgLADj8\"}",
"time": "2014-12-23T14:26:53.723188+00:00",
"referer": "http:\/\/localhost:8001\/container\/i4x:\/\/edX\/DemoX\/vertical\/69dedd38233a46fc89e4d7b5e8da1bf4?action=new",
"accept_language": "en-US,en;q=0.8",
"event_type": "play_video",
"session": "11a1111111a1a1a1aa1a11a1a1111111",
"agent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/39.0.2171.95 Safari\/537.36",
"page": "https:\/\/courses.edx.org\/courses\/BerkeleyX\/Stat_2.1x\/1T2014\/courseware\/d4ff35dabfe64ed5b1f1807eb0292c73\/bd343b7dcb2c4817bd1992b0cef66ff4\/",
"username": "AAAAAAAAAA",
"ip": "123.123.123.123",
"context": {
"org_id": "BerkeleyX",
"path": "\/event",
"course_id": "BerkeleyX\/Stat_2.1x\/1T2014",
"user_id": 99999999
},
"host": "courses.edx.org"
}
Example: Mobile App-Emitted edx.video.played
Event#
{
"username": "AAAAAAAAAA",
"event_source": "mobile",
"name": "edx.video.played",
"time": "2014-12-09T03:57:24+00:00",
"agent": "Dalvik/1.6.0 (Linux; U; Android 4.0.2; sdk Build/ICS_MR0)",
"page": "http://courses.edx.org/courses/edX/DemoX/Demo_Course/courseware/d8a6192ade314473a78242dfeedfbf5b/edx_introduction",
"host": "courses.edx.org",
"session": "",
"context": {
"component": "videoplayer",
"received_at": "2014-12-09T03:57:56.373000+00:00",
"course_id": "edX/DemoX/Demo_Course",
"path": "/segment/event",
"user_id": 99999999,
"org_id": "edX",
"application": {
"name": "edx.mobileapp.android",
"version": "0.1.8",
},
"client": {
"network": {
"wifi": false,
"carrier": "Android",
"cellular": true,
"bluetooth": false
},
"locale": "en-US",
"app": {
"name": "edX",
"packageName": "org.edx.mobile",
"version": "0.1.8",
"build": "org.edx.mobile@29",
"versionName": "0.1.8",
"versionCode": 29
},
"library": {
"version": 203,
"name": "analytics-android",
"versionName": "2.0.3"
},
"device": {
"model": "sdk",
"type": "android",
"id": "aaa11111aaaa11a1",
"name": "generic",
"manufacturer": "unknown"
},
"os": {
"version": "4.0.2",
"name": "REL",
"sdk": 14
},
"screen": {
"densityBucket": "xhdpi",
"density": 2,
"height": 1184,
"width": 768,
"densityDpi": 320,
"scaledDensity": 2
}
}
},
"ip": "",
"event": "{\"code\": \"mobile\", \"id\": \"i4x-edX-DemoX-video-0b9e39477cf34507a7a48f74be381fdd\", \"currentTime\": 114}",
"event_type": "play_video"
}
seek_video
/edx.video.position.changed
#
A browser emits seek_video
events when a user selects a user interface
control to go to a different point in the video file.
On a desktop computer, users can click and drag in the playback bar or click in a transcript to change position.
In the edX mobile app, users can click and drag in the playback bar or tap the “back 30 seconds” button to change position.
When using a browser on a mobile device, users can click and drag in the playback bar to change position.
In addition to the value seek_video
in the event_type
field, the
events that the edX mobile app emits include the value
edx.video.position.changed
in the name
field.
History:
Updated 10 Mar 2015 to include the final implementation for events emitted by the edX mobile app for Android and iOS. Prototype events were emitted by the mobile app in February and March 2015.
Prior to 25 Jun 2014, the
old_time
andnew_time
fields were set to the same value.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. The same set of additional context fields are added for
seek_video
/ edx.video.position.changed
events as for
play_video/edx.video.played. For an example of an event with these fields, see
Example: Mobile App-Emitted edx.video.played Event.
event
Member Fields:
The seek_video
/edx.video.position.changed
events include the following
event
member fields. These fields serve the same purpose for events of
this type as for the play_video/edx.video.played events.
code
id
The following additional event
member fields apply specifically to
seek_video
/edx.video.position.changed
events.
Field |
Type |
Details |
---|---|---|
|
number |
The time in the video, in seconds, that the user selected as the destination point. |
|
number |
The time in the video, in seconds, at which the user chose to go to a different point in the file. |
|
number |
Applies only to events with an History: Added 10 Mar 2015. |
|
string |
The navigational method used to change position within the video. In events for a user of a desktop computer, this value can be ‘onCaptionSeek’ or ‘onSlideSeek’. In events for a user of the mobile app, this value can be ‘onSlideSeek’ or ‘onSkipSeek’. |
show_transcript
/edx.video.transcript.shown
#
When a user toggles Show Transcript to display the video transcript, the browser or
mobile app emits a show_transcript
event.
In addition to the identifying event_type
of show_transcript
, events
that the edX mobile app emits also include a name
field with a value of
edx.video.transcript.shown
.
History: Updated 25 Feb 2015 to include events emitted by the edX mobile app for iOS. Updated 23 Dec 2014 to include events emitted by the edX mobile app for Android.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. The same set of additional context fields are added for
show_transcript
/ edx.video.transcript.shown
events as for
play_video/edx.video.played. For an example of an event with these fields, see
Example: Mobile App-Emitted edx.video.played Event.
event
Member Fields:
The show_transcript
/edx.video.transcript.shown
events include the
following event
member fields. These fields serve the same purpose for
events of this type as for the play_video/edx.video.played events.
code
currentTime
: The point in the video file at which the transcript was opened.id
speed_change_video
#
A browser emits speed_change_video
events when a user selects a different
playing speed for the video.
History: Prior to 12 Feb 2014, this event was emitted when a user selected either the same speed or a different speed.
Event Source: Browser
event
Member Fields:
Field |
Type |
Details |
---|---|---|
|
number |
The time in the video that the user chose to change the playing speed. |
|
number |
The speed that the user selected for the video to play: ‘0.75’, ‘1.0’, ‘1.25’, ‘1.50’. |
|
number |
The speed at which the video was playing. |
stop_video
/edx.video.stopped
#
When the video player reaches the end of the video file and play automatically
stops, the player emits a stop_video
event.
Note that course teams can specify a Video Stop Time for video files.
If the user streams a video file in a browser and a Video Stop Time is present for the video, the player stops at the specified time and emits the
pause_video
andstop_video
events.If the user plays a streaming or downloaded video in edX mobile app, the app ignores the Video Stop Time and plays the file to its end. The app then emits the
stop_video
event.
In addition to the identifying event_type
of stop_video
, the events
that the edX mobile app emits include a name
field with a value of
edx.video.stopped
.
History:
Updated 5 May 2015 to include the effect of a Video Stop Time.
Updated 25 Feb 2015 to include events emitted by the edX mobile app for iOS.
Updated 23 Dec 2014 to include events emitted by the edX mobile app for Android.
Added 25 June 2014.
Event Source: Browser or Mobile
context
Member Fields:
Only video interaction events with an event_source
of ‘mobile’ include
additional context
member fields in addition to the common
member fields. The same set of additional context fields are added for
stop_video
/ edx.video.stopped
events as for
play_video/edx.video.played. For an example of an event with these fields, see
Example: Mobile App-Emitted edx.video.played Event.
event
Member Fields:
The stop_video
/edx.video.stopped
events include the following
event
member fields. These fields serve the same purpose for events of
this type as for the play_video/edx.video.played events.
code
currentTime
: The time in the video at which play stopped.id