Implement CSAT support for Forums

VERIFIED FIXED in 0.7.2

Status

support.mozilla.org
Forum
P1
major
VERIFIED FIXED
10 years ago
8 years ago

People

(Reporter: laura, Assigned: nkoth)

Tracking

unspecified
0.7.2

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: sumo_only)

Attachments

(4 attachments)

(Reporter)

Description

10 years ago
As per https://wiki.mozilla.org/Support:CSAT:
*Implement per-thread status of "problem solved," so we can tell which answer in a forum thread is the solution.
*Implement obvious way for OP to mark a forum thread post as the solution.
*Implement AJAXified popup of survey when someone marks a forum thread post as the solution to the thread.
(Reporter)

Updated

10 years ago
Priority: -- → P1
(Reporter)

Updated

10 years ago
Assignee: bugzilla.johnwaller → nobody
Component: Knowledge Base Software → Forum
QA Contact: kb-software → forum
(Reporter)

Updated

10 years ago
Assignee: nobody → bugzilla.johnwaller
(Reporter)

Updated

10 years ago
Target Milestone: 0.7 → 0.8

Comment 1

9 years ago
1. Identified Components of Task
  a. User Permissions
      - OP: designates a comment in response to thread which may/does to answer a the concern of the thread
      - User (Anon/Registered): Can designate Answer as "Helpful" or give "Karma" to the rating. Why? Because an answer may only be PART of the solution.
  b. Thread Construction
      - Typical Thread -> Parent and Child relationships
      - Original Posting, Child Response 1, Child Response 2, Child Response 3 (and so on)
  c. Logic
      - Child Response (1) Title (to the right, or just below) <code>if(OP){ "<link>Designate as Answer or Possible Answer</link>" }
          *click on link*
          *AJAX-afied/DHTML+JS* box pops-up, form fields {who,when designated,notes as to why,Bool YES/NO/PARTIAL answer (0,1,2) dropdown} ... submit
      - Back to Thread, after submit
      - Top of Thread:
        <code>
         $isSolved = getSolution($threadId);
          if($isSolved > 0){ "This thread has <strong>".$isSolved."</strong> answers." }
        </code>
2. Resources - pages / database tables
  a. DB/Tables: users_users, users_groups, users_usersgroups, {unknown comments table}
     - current question here is where do I find the comments that are stored, so I can alter table to add the 1.c form elements?
  b. Pages: tiki-list_comments.php
     - I believe this is the page I need to modify, based on looking at a couple pages around the thread trackdown

3. End Game
  a. I've identified where the code pretty much needs to go, what database values I want to store, and what actions I want to "achieve"
  b. I'm trying to find the table to add the values I want to store, so I can do the "This thread has {this number} solutions and the comment that will be IDENTIFIED
      as the solution.

Comment 2

9 years ago
Did a lookup on the users_usergroups -> which groups should I give access to add a "solution" ? or is there a "thread moderator/OP" stored in another place that I can reference?

Updated

9 years ago
Assignee: bugzilla.johnwaller → nelson

Comment 3

9 years ago
I've been removed from the project, so reassigned to Nelson just to have SOMEONE aware of it since he worked on the CSAT stuff.

Updated

9 years ago
Assignee: nelson → smirkingsisyphus

Updated

9 years ago
Target Milestone: 0.8 → 0.7.2

Comment 4

9 years ago
For the pop-up survey, what sort of information or questions need to be asked? And do we intend to store that as poll data like the rest of the CSAT implementations?

(In reply to comment #0)
> As per https://wiki.mozilla.org/Support:CSAT:
> *Implement per-thread status of "problem solved," so we can tell which answer
> in a forum thread is the solution.
> *Implement obvious way for OP to mark a forum thread post as the solution.
> *Implement AJAXified popup of survey when someone marks a forum thread post as
> the solution to the thread.

Comment 5

9 years ago
We would just ask the same question as we do in the Knowledge Base: "Please rate your experience with solving your problem on support.mozilla.com from 1 (very unsatisfied) to 5 (very satisfied)."

The data would be stored so we can get the average CSAT for forum threads, as opposed to KB article CSAT. However, it should also be possible to get the total average CSAT.

Additionally, each CSAT score should store a pointer to its forum thread, so we could e.g. see which types of threads typically get the lower score (is it because of who responds to the thread, or because of the type of problem the user has, or because of the user?).

Comment 6

9 years ago
Here's something that I've been assuming, but figured it should be clarified somewhere public: only the original poster can answer the CSAT survey, yes?

Comment 7

9 years ago
Yes, which means that there are only two scenarios when people can provide feedback:

* As an already registered, logged in user.

* As an anonymous poster who opted to get an email notification, and is now returning to the posted thread from a hashed e-mail notification link allowing us to identify the original poster (not yet implemented; do we have a bug for this?)

Comment 8

9 years ago
Created attachment 345660 [details]
Screenshot of per-thread solutions

While I finish up expansions to the existing CSAT methods, I'd figure I'd throw a screenshot up of what the thread solutions are looking like and take a moment to discuss how they're shaping up.

While I'm not particularly a big fan of the "Does this post resolve your problem?" blurb at the bottom of every post, I think a icon similar to what is used when reporting or deleting a post might be a bit too innocuous. 

Currently, forum admins and the OP (anons if they have the anon cookie set) can set solutions, and it's currently one solution per thread. It could be expanded for multiple solutions easily enough, I think.

Thread solutions are treated the same as reported posts, and if deleted from the reported messages UI, it will remove the solved status of the thread. So, if a  better solution comes along (or the OP decides a misleading answer as the solution), a familiar and easy way to reset the thread status exists.

Comment 9

9 years ago
Created attachment 345950 [details]
CLI script to update database to allow for expanded CSAT functionality

This is modeled after the script used for bug 452829, but obviously doesn't do the same thing.

Updated

9 years ago
Attachment #345950 - Attachment mime type: application/x-php → text/plain
Attachment #345950 - Flags: review?(nelson)
Created attachment 345951 [details] [diff] [review]
Patch to add forum CSAT functionality for registered users
Attachment #345951 - Flags: review?(nelson)
There isn't a bug for this, and it's the last bit of the puzzle. Will there be a separate bug for this? Or is it just something that's going to be included in this bug?

(In reply to comment #7)
> Yes, which means that there are only two scenarios when people can provide
> feedback:
> 
> * As an already registered, logged in user.
> 
> * As an anonymous poster who opted to get an email notification, and is now
> returning to the posted thread from a hashed e-mail notification link allowing
> us to identify the original poster (not yet implemented; do we have a bug for
> this?)
Eric, I've filed bug 462829 for that. I didn't assign it to you because I'm not sure you want to take it, but obviously feel free to take it. :) 

I also cc'ed lorchard as you've been very much involved in both the implementation of the e-mail notifications, and the discussions around identifying the original poster.
(Assignee)

Updated

9 years ago
Attachment #345950 - Flags: review?(nelson) → review+
(Assignee)

Comment 13

9 years ago
Comment on attachment 345950 [details]
CLI script to update database to allow for expanded CSAT functionality

Server-ops: Can we run this script on support-stage.mozilla.org so we can test the patch that depends on it?
(Assignee)

Updated

9 years ago
Assignee: smirkingsisyphus → server-ops
(Assignee)

Comment 14

9 years ago
Comment on attachment 345951 [details] [diff] [review]
Patch to add forum CSAT functionality for registered users

This patch is in trunk branch: r19475

awaiting run of attachment 345950 [details] before putting this in production branch
Attachment #345951 - Flags: review?(nelson) → review+
Created attachment 346380 [details]
Please rate your experience survey underneath a test thread after pressing "Yes" for "Did this post resolve your problem?"
(Reporter)

Comment 16

9 years ago
Can we get some server ops love on this?  :)
Severity: enhancement → major

Updated

9 years ago
Assignee: server-ops → thardcastle

Comment 17

9 years ago
Connected successfully
Using database
Mysql Query cache cleared
Added is_feedback to tiki_polls
Added feedbackPollId, feedbackObjectType, feedbackObjectId to tiki_user_votings
Database updated!
(Reporter)

Comment 18

9 years ago
Eric, Nelson, I tested on stage, and I don't see the question after choosing "Yes" for "Did this post solve your problem?".  Can one of you please test and confirm (and tell me how to get them up)?
Assignee: thardcastle → nelson
(Reporter)

Updated

9 years ago
Keywords: push-needed
(Reporter)

Updated

9 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED

Comment 19

9 years ago
Once this is up, can I get someone to quickly describe how we're storing the results so I can pull the data for weekly metrics?
(In reply to comment #18)
> Eric, Nelson, I tested on stage, and I don't see the question after choosing
> "Yes" for "Did this post solve your problem?".  Can one of you please test and
> confirm (and tell me how to get them up)?

I logged in (I'm in: "Contributors," "Registered," and "System Admins"), and got the same experience as Laura: no rating functionality -- doesn't the "System Admins" group cover forum admins?
Keywords: push-needed

Updated

9 years ago
Whiteboard: tiki_feature
Whiteboard: tiki_feature → tiki_feature, tiki_discuss
Whiteboard: tiki_feature, tiki_discuss → tiki_feature
Whiteboard: tiki_feature → tiki_feature, tiki_depend
Whiteboard: tiki_feature, tiki_depend → sumo_only
You need to log in before you can comment on or make changes to this bug.