Commit c9bf9ada by Alison Hodges Committed by Greg Price

New UI for discussions

parent 02b42d5c
...@@ -2,6 +2,22 @@ ...@@ -2,6 +2,22 @@
Change Log Change Log
############ ############
*****************
September, 2014
*****************
.. list-table::
:widths: 10 70
:header-rows: 1
* - Date
- Change
* - 09/02/14
- Updated the :ref:`Discussions` and :ref:`Discussions for Students and
Staff` chapters to include information about choosing the type of post
and to reflect changes in the user interface.
************** **************
August, 2014 August, 2014
************** **************
......
...@@ -47,12 +47,14 @@ three hierarchical levels of interaction. ...@@ -47,12 +47,14 @@ three hierarchical levels of interaction.
post as a whole. post as a whole.
The dialogue created by a post, its responses, and the comments on those The dialogue created by a post, its responses, and the comments on those
responses is called a *thread*. responses is sometimes called a thread.
All course staff members and enrolled students can add posts, responses, and All course staff members and enrolled students can add posts, responses, and
comments, and view all of the posts, responses, and comments made by other comments, and view all of the posts, responses, and comments made by other
course participants. Discussion threads are saved as part of the course course participants. Members of the course community, both staff and students,
history. can be given permission to moderate or administer course discussions through a
set of discussion administration roles. Discussion threads are saved as part of
the course history.
.. note:: .. note::
The :ref:`Discussions for Students and Staff` chapter describes features that The :ref:`Discussions for Students and Staff` chapter describes features that
...@@ -151,25 +153,27 @@ You can designate a team of people to help you run course discussions. ...@@ -151,25 +153,27 @@ You can designate a team of people to help you run course discussions.
Different options for working with discussions are available through Different options for working with discussions are available through
these roles: these roles:
* Discussion moderators can edit and delete messages at any level, review * *Discussion moderators* can edit and delete messages at any level, review
messages flagged for misuse, close and reopen posts, pin posts, and endorse messages flagged for misuse, close and reopen posts, pin posts, and endorse
responses. Posts made by moderators are marked as "By: Staff" in the list of responses. Posts made by moderators are marked as "By: Staff" in the list of
posts. Responses and comments made by moderators have a colored "Staff" posts. Responses and comments made by moderators have a colored "Staff"
banner. This role is often given to course team members who already have the identifier. This role is often given to course team members who already have
Course Staff role. the Course Staff role.
.. removed this clause from 1st sentence per JAAkana and MHoeber: , and, if the .. removed this clause from 1st sentence per JAAkana and MHoeber: , and, if the
.. course is cohorted, see posts from all cohorts .. course is cohorted, see posts from all cohorts
* Discussion community TAs have the same options for working with discussions * *Discussion community TAs* have the same options for working with discussions
as moderators. Posts made by community TAs are marked as "By: Community TA" as moderators. Posts made by community TAs are marked as "By: Community TA"
in the list of posts on the **Discussion** page. Responses and comments made in the list of posts on the **Discussion** page. Responses and comments made
by community TAs have a colored "Community TA" banner. This role is often by community TAs have a colored "Community TA" identifier. This role is often
given to students. given to students.
* Discussion admins have the same options for working with discussions as .. put this comment in to make the formatting of this bulleted list consistent when output using the spinx template
* *Discussion admins* have the same options for working with discussions as
moderators, and their posts, responses, and comments have the same "Staff" moderators, and their posts, responses, and comments have the same "Staff"
identifier. This role can be reserved for assignment to course team members identifiers. This role can be reserved for assignment to course team members
who have the Instructor role only: the discussion admins can then both who have the Instructor role only: the discussion admins can then both
moderate discussions and give other users these discussion management roles moderate discussions and give other users these discussion management roles
whenever necessary. whenever necessary.
...@@ -181,7 +185,7 @@ addresses or usernames. ...@@ -181,7 +185,7 @@ addresses or usernames.
click **Membership** and then select **Course Staff** or **Instructor** from click **Membership** and then select **Course Staff** or **Instructor** from
the drop-down list. the drop-down list.
* To get this information for any enrolled student, on the Instructor Dashboard * To get this information for an enrolled student, on the Instructor Dashboard
click **Data Download**, then **Download profile information as a CSV**. click **Data Download**, then **Download profile information as a CSV**.
To assign a role, you must be the course author or an Instructor (that is, you To assign a role, you must be the course author or an Instructor (that is, you
...@@ -272,28 +276,25 @@ discussion. ...@@ -272,28 +276,25 @@ discussion.
* Pin a post. Pinning a post makes it appear at the top of the list of posts on * Pin a post. Pinning a post makes it appear at the top of the list of posts on
the **Discussion** page. As a result, it is more likely that students will the **Discussion** page. As a result, it is more likely that students will
see and respond to pinned posts. You can write your own post and then pin it, see and respond to pinned posts. You can write your own post and then pin it,
or pin a post by any author. Click **Pin Thread**. or pin a post by any author. Select the "More" icon and then **Pin**.
.. image:: ../Images/Pin_Discussion.png .. image:: ../Images/Pin_Discussion.png
:alt: Image of the pin icon for discussion posts :alt: Image of the pin icon for discussion posts
* Endorse a response. Endorsing a response indicates that it provides value to * Endorse a response. Endorsing a response indicates that it provides value to
the discussion. Click the **check** (or tick) mark icon that displays at the discussion. Click the "check mark" (or tick mark) icon for the response.
upper right of the response.
.. image:: ../Images/Endorse_Discussion.png .. image:: ../Images/Endorse_Discussion.png
:alt: Image of the Endorse button for discussion posts :alt: Image of the Endorse button for discussion posts
.. replace this image ^ when new one is available
* Mark a question as answered. You use the same procedure to mark a response as * Mark a question as answered. You use the same procedure to mark a response as
the correct answer to a question as you do to endorse contributions to a the correct answer to a question as you do to endorse contributions to a
discussion. Click the **check** (or tick) mark icon for correct answers. discussion: click the "check mark" (or tick mark) icon for correct answers.
* Close a post. You can respond to a redundant post by (optionally) pasting in * Close a post. You can respond to a redundant post by (optionally) pasting in
a link to the post that you prefer students to contribute to, and prevent a link to the post that you prefer students to contribute to, and prevent
further interaction by closing the post. Click the **Close** button that further interaction by closing the post. Select the "More" icon and then
displays below the post to close it. **Close** to close it.
* Provide post/response/comment guidelines. You can post information from the * Provide post/response/comment guidelines. You can post information from the
:ref:`overview<Overview_discussions>` in this chapter, or the :ref:`anatomy :ref:`overview<Overview_discussions>` in this chapter, or the :ref:`anatomy
...@@ -395,12 +396,12 @@ In addition to these visual cues, filters can help you find questions and ...@@ -395,12 +396,12 @@ In addition to these visual cues, filters can help you find questions and
discussions that need review. Above the list of posts on the **Discussion** discussions that need review. Above the list of posts on the **Discussion**
page, the **Show all** filter is selected by default. You can also select: page, the **Show all** filter is selected by default. You can also select:
* **Unanswered**, to list only questions that do not yet have any responses
marked as answers.
* **Unread**, to list only the discussions and questions that you have not yet * **Unread**, to list only the discussions and questions that you have not yet
viewed. viewed.
* **Unanswered**, to list only questions that do not yet have any responses
marked as answers.
================== ==================
Edit Messages Edit Messages
================== ==================
...@@ -413,8 +414,12 @@ text, images, or links. ...@@ -413,8 +414,12 @@ text, images, or links.
#. Log in to the site and then select the course on your **Current Courses** #. Log in to the site and then select the course on your **Current Courses**
dashboard. dashboard.
#. Click the **Edit** button below the post or response, or click the pencil #. Open the **Discussion** page and then open the post with the content that
icon for the comment. requires editing. You can select a single topic from the drop-down list of
discussion topics, apply a filter, or search to locate the post.
#. For the post or for the response or comment that you want to edit, click the
"More" icon and then **Edit**.
#. Remove the problematic portion of the message, or replace it with standard #. Remove the problematic portion of the message, or replace it with standard
text such as "[REMOVED BY MODERATOR]". text such as "[REMOVED BY MODERATOR]".
...@@ -433,34 +438,41 @@ language may need to be deleted, rather than edited. ...@@ -433,34 +438,41 @@ language may need to be deleted, rather than edited.
#. Log in to the site and then select the course on your **Current Courses** #. Log in to the site and then select the course on your **Current Courses**
dashboard. dashboard.
#. Click the **Delete** button below the post or response or the "X" icon for #. Open the **Discussion** page and then open the post with the content that
the comment. requires deletion. You can select a single topic from the drop-down list of
discussion topics, apply a filter, or search to locate the post.
#. For the post or for the response or comment that you want to delete, click
the "More" icon and then **Delete**.
#. Click **OK** to confirm the deletion. #. Click **OK** to confirm the deletion.
.. how to communicate with the poster? .. how to communicate with the poster?
.. important:: If a message is threatening or indicates serious harmful intent, contact campus security at your institution. Report the incident before taking any other action. .. important:: If a message is threatening or indicates serious harmful
intent, contact campus security at your institution. Report the incident
before taking any other action.
================================== ==================================
Respond to Reports of Misuse Respond to Reports of Misuse
================================== ==================================
Students can use the **Report Misuse** flag to indicate messages that they find Students have the option to report contributions that they find inappropriate.
inappropriate. Moderators, community TAs, and admins can check for messages Moderators, community TAs, and admins can check for messages that have been
that have been flagged in this way and edit or delete them as needed. flagged in this way and edit or delete them as needed.
#. View the live version of your course and click **Discussion** at the top of #. View the live version of your course and click **Discussion** at the top of
the page. the page.
#. In the list of posts on the left side of the page, use the filter drop-down #. In the list of posts on the left side of the page, use the filter drop-down
(set to **Show all** by default) to select **Flagged**. list (set to **Show all** by default) to select **Flagged**.
#. Review each post listed as a flagged discussion. Posts and responses show a #. Review listed posts. A post is listed if it or any of its responses or
flag and **Misuse Reported** in red font; comments show only a red flag. comments has been reported. The reported contribution includes a
**Reported** identifier.
#. Edit or delete the post, response, or comment. Alternatively, to remove the #. Edit or delete the post, response, or comment. Alternatively, remove the
misuse flag from a message click **Misuse Reported** or the red flag icon. flag: click the "More" icon and then **Unreport**.
=============== ===============
Block Users Block Users
...@@ -493,7 +505,9 @@ course units and all of the course-wide topics are affected. ...@@ -493,7 +505,9 @@ course units and all of the course-wide topics are affected.
and Discussion Community TAs are not affected when you close the discussions and Discussion Community TAs are not affected when you close the discussions
for a course. Users with these roles can continue to add to discussions. for a course. Users with these roles can continue to add to discussions.
.. note:: To assure that your students understand why they cannot add to discussions, you can add the dates that discussions are closed to the **Course Info** page and post them to a General discussion. .. note:: To assure that your students understand why they cannot add to
discussions, you can add the dates that discussions are closed to the
**Course Info** page and post them to a General discussion.
===================================== =====================================
Start-End Date Format Specification Start-End Date Format Specification
......
...@@ -4,21 +4,34 @@ ...@@ -4,21 +4,34 @@
Discussion Forums Data Discussion Forums Data
###################### ######################
EdX discussion data is stored as collections of JSON documents in a MongoDB database. MongoDB is a document-oriented, NoSQL database system. Documentation can be found at the mongodb_ web site. EdX discussion data is stored as collections of JSON documents in a MongoDB
database. MongoDB is a document-oriented, NoSQL database system. Documentation
can be found at the mongodb_ web site.
.. _mongodb: http://docs.mongodb.org/manual/ .. _mongodb: http://docs.mongodb.org/manual/
In the data package, discussion data is delivered in a .mongo file, identified by organization and course, in this format: edX-*organization*-*course*-*source*.mongo. In the data package, discussion data is delivered in a .mongo file, identified
by organization and course, in this format:
edX-*organization*-*course*-*source*.mongo.
The primary collection that holds all of the discussion posts written by users is "contents". Two different types of objects are stored, representing the three levels of interactions that users can have in a discussion. The primary collection that holds all of the discussion posts written by users
is "contents". Two different types of objects are stored, representing the
three levels of interactions that users can have in a discussion.
* A ``CommentThread`` represents the first level of interaction: a post that opens a new thread, often a student question of some sort. * A ``CommentThread`` represents the first level of interaction: a post that
opens a new thread, often a student question of some sort.
* A ``Comment`` represents both the second and third levels of interaction: a response made directly to the conversation started by a ``CommentThread`` is a ``Comment``. Any further contributions made to a specific response are also in ``Comment`` objects. * A ``Comment`` represents both the second and third levels of interaction: a
response made directly to the conversation started by a ``CommentThread`` is
a ``Comment``. Any further contributions made to a specific response are also
in ``Comment`` objects.
A sample of the field/value pairs that are in the mongo file, and descriptions of the attributes that these two types of objects share and that are specific to each type, follow. A sample of the field/value pairs that are in the mongo file, and descriptions
of the attributes that these two types of objects share and that are specific
to each type, follow.
In addition to these collections, events are also emitted to track specific user activities. See :ref:`forum_events`. In addition to these collections, events are also emitted to track specific
user activities. See :ref:`forum_events`.
********* *********
Samples Samples
...@@ -36,17 +49,19 @@ machine-readable format that can be difficult to read at a glance. ...@@ -36,17 +49,19 @@ machine-readable format that can be difficult to read at a glance.
.. code-block:: json .. code-block:: json
{ "_id" : { "$oid" : "50f1dd4ae05f6d2600000001" }, "_type" : "CommentThread", "anonymous" : { "_id" : { "$oid" : "50f1dd4ae05f6d2600000001" }, "_type" : "CommentThread",
false, "anonymous_to_peers" : false, "at_position_list" : [], "author_id" : "NNNNNNN", "anonymous" :false, "anonymous_to_peers" : false, "at_position_list" : [],
"author_username" : "AAAAAAAAAA", "body" : "Welcome to the edX101 forum!\n\nThis forum will "author_id" : "NNNNNNN","author_username" : "AAAAAAAAAA", "body" : "Welcome to
be regularly monitored by edX. Please post your questions and comments here. When asking a the edX101 forum!\n\nThis forum willbe regularly monitored by edX. Please post
question, don't forget to search the forum to check whether your question has already been your questions and comments here. When asking aquestion, don't forget to
answered.\n\n", "closed" : false, "comment_count" : 0, "commentable_id" : "i4x-edX-edX101- search the forum to check whether your question has already
course-How_to_Create_an_edX_Course", "course_id" : "edX/edX101/How_to_Create_an_edX_Course", beenanswered.\n\n", "closed" : false, "comment_count" : 0, "commentable_id" :
"created_at" : { "$date" : 1358028106904 }, "last_activity_at" : { "$date" : 1358134464424 }, "i4x-edX-edX101-course-How_to_Create_an_edX_Course", "course_id" :
"tags_array" : [], "title" : "Welcome to the edX101 forum!", "updated_at" : { "$date" : "edX/edX101/How_to_Create_an_edX_Course","created_at" : { "$date" :
1358134453862 }, "votes" : { "count" : 1, "down" : [], "down_count" : 0, "point" : 1, "up" : 1358028106904 }, "last_activity_at" : { "$date" : 1358134464424 },"tags_array"
[ "48" ], "up_count" : 1 } } : [], "thread_type": "discussion", "title" : "Welcome to the edX101 forum!",
"updated_at" : { "$date" :1358134453862 }, "votes" : { "count" : 1, "down" :
[], "down_count" : 0, "point" : 1, "up" :[ "48" ], "up_count" : 1 } }
If you use a JSON formatter to "pretty print" this document, a version that is If you use a JSON formatter to "pretty print" this document, a version that is
more readable is produced. more readable is produced.
...@@ -65,9 +80,10 @@ more readable is produced. ...@@ -65,9 +80,10 @@ more readable is produced.
], ],
"author_id": "NNNNNNN", "author_id": "NNNNNNN",
"author_username": "AAAAAAAAAA", "author_username": "AAAAAAAAAA",
"body": "Welcome to the edX101 forum!\n\nThis forum will be regularly monitored by edX. Please "body": "Welcome to the edX101 forum!\n\nThis forum will be regularly
post your questions and comments here. When asking a question, don't forget to search the monitored by edX. Please post your questions and comments here. When
forum to check whether your question has already been answered.\n\n", asking a question, don't forget to search the forum to check whether
your question has already been answered.\n\n",
"closed": false, "closed": false,
"comment_count": 0, "comment_count": 0,
"commentable_id": "i4x-edX-edX101-course-How_to_Create_an_edX_Course", "commentable_id": "i4x-edX-edX101-course-How_to_Create_an_edX_Course",
...@@ -81,6 +97,7 @@ more readable is produced. ...@@ -81,6 +97,7 @@ more readable is produced.
"tags_array": [ "tags_array": [
], ],
"thread_type": "discussion",
"title": "Welcome to the edX101 forum!", "title": "Welcome to the edX101 forum!",
"updated_at": { "updated_at": {
"$date": 1358134453862 "$date": 1358134453862
...@@ -97,7 +114,7 @@ more readable is produced. ...@@ -97,7 +114,7 @@ more readable is produced.
], ],
"up_count": 1 "up_count": 1
} }
} }
---------------------------------------- ----------------------------------------
Comment Document Example Comment Document Example
...@@ -105,16 +122,20 @@ Comment Document Example ...@@ -105,16 +122,20 @@ Comment Document Example
.. code-block:: json .. code-block:: json
{ "_id" : { "$oid" : "52e54fdd801eb74c33000070" }, "votes" : { "up" : [], "down" : [], { "_id" : { "$oid" : "52e54fdd801eb74c33000070" }, "votes" : { "up" : [],
"up_count" : 0, "down_count" : 0, "count" : 0, "point" : 0 }, "visible" : true, "down" : [], "up_count" : 0, "down_count" : 0, "count" : 0, "point" : 0 },
"abuse_flaggers" : [], "historical_abuse_flaggers" : [], "parent_ids" : [], "at_position_list" : "visible" : true, "abuse_flaggers" : [], "historical_abuse_flaggers" : [],
[], "body" : "I'm hoping this Demonstration course will help me figure out how to take the "parent_ids" : [], "at_position_list" : [], "body" : "I'm hoping this
course I registered for. I am just auditing the course, but I want to benefit from it as much Demonstration course will help me figure out how to take the course I
as possible, as I am extremely interested in it.\n", "course_id" : "edX/DemoX/Demo_Course", registered for. I am just auditing the course, but I want to benefit from it
"_type" : "Comment", "endorsed" : false, "anonymous" : false, "anonymous_to_peers" : false, as much as possible, as I am extremely interested in it.\n", "course_id" :
"author_id" : "NNNNNNN", "comment_thread_id" : { "$oid" : "52e4e880c0df1fa59600004d" }, "edX/DemoX/Demo_Course", "_type" : "Comment", "endorsed" : true, "endorsement"
"author_username" : "AAAAAAAAAA", "sk" : "52e54fdd801eb74c33000070", "updated_at" : : { "user_id" : "9", "time" : ISODate("2014-08-29T15:11:49.442Z") },
{ "$date" : 1390759901966 }, "created_at" : { "$date" : 1390759901966 } } "anonymous" : false, "anonymous_to_peers" : false, "author_id" : "NNNNNNN",
"comment_thread_id" : { "$oid" : "52e4e880c0df1fa59600004d" },
"author_username" : "AAAAAAAAAA", "sk" : "52e54fdd801eb74c33000070",
updated_at" : { "$date" : 1390759901966 }, "created_at" : { "$date" :
1390759901966 } }
When pretty printed, this comment looks like this: When pretty printed, this comment looks like this:
...@@ -149,12 +170,19 @@ When pretty printed, this comment looks like this: ...@@ -149,12 +170,19 @@ When pretty printed, this comment looks like this:
"at_position_list": [ "at_position_list": [
], ],
"body": "I'm hoping this Demonstration course will help me figure out how to take the "body": "I'm hoping this Demonstration course will help me figure out how
course I registered for. I am just auditing the course, but I want to benefit from it to take the course I registered for. I am just auditing the course, but I
as much as possible, as I am extremely interested in it.\n", want to benefit from it as much as possible, as I am extremely interested
in it.\n",
"course_id": "edX\/DemoX\/Demo_Course", "course_id": "edX\/DemoX\/Demo_Course",
"_type": "Comment", "_type": "Comment",
"endorsed": false, "endorsed": true,
"endorsement": {
"user_id": "9",
"time": {
"$date": 1390759911966
}
}
"anonymous": false, "anonymous": false,
"anonymous_to_peers": false, "anonymous_to_peers": false,
"author_id": "NNNNNNN", "author_id": "NNNNNNN",
...@@ -169,7 +197,7 @@ When pretty printed, this comment looks like this: ...@@ -169,7 +197,7 @@ When pretty printed, this comment looks like this:
"created_at": { "created_at": {
"$date": 1390759901966 "$date": 1390759901966
} }
} }
***************** *****************
Shared Fields Shared Fields
...@@ -305,7 +333,7 @@ thread_type ...@@ -305,7 +333,7 @@ thread_type
-------------------- --------------------
Identifies the type of post as a "question" or "discussion". Identifies the type of post as a "question" or "discussion".
**History**: Added 12 Aug 2014. **History**: Added 2 Sep 2014.
******************** ********************
Comment Fields Comment Fields
...@@ -350,7 +378,7 @@ endorsement ...@@ -350,7 +378,7 @@ endorsement
response to a post was endorsed and the numeric user ID (from response to a post was endorsed and the numeric user ID (from
``auth_user.id``) of the person who endorsed it. ``auth_user.id``) of the person who endorsed it.
**History**: Added 12 Aug 2014. **History**: Added 2 Sep 2014.
-------------------- --------------------
comment_thread_id comment_thread_id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment