Closed Bug 452830 Opened 11 years ago Closed 11 years ago

Implement CSAT support for Forums

Categories

(support.mozilla.org :: Forum, task, P1, major)

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: laura, Assigned: nkoth)

Details

(Whiteboard: sumo_only)

Attachments

(4 files)

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.
Priority: -- → P1
Assignee: bugzilla.johnwaller → nobody
Component: Knowledge Base Software → Forum
QA Contact: kb-software → forum
Assignee: nobody → bugzilla.johnwaller
Target Milestone: 0.7 → 0.8
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.
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?
Assignee: bugzilla.johnwaller → nelson
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.
Assignee: nelson → smirkingsisyphus
Target Milestone: 0.8 → 0.7.2
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.
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?).
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?
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?)
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.
This is modeled after the script used for bug 452829, but obviously doesn't do the same thing.
Attachment #345950 - Attachment mime type: application/x-php → text/plain
Attachment #345950 - 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.
Attachment #345950 - Flags: review?(nelson) → review+
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: smirkingsisyphus → server-ops
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+
Can we get some server ops love on this?  :)
Severity: enhancement → major
Assignee: server-ops → thardcastle
Connected successfully
Using database
Mysql Query cache cleared
Added is_feedback to tiki_polls
Added feedbackPollId, feedbackObjectType, feedbackObjectId to tiki_user_votings
Database updated!
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
Keywords: push-needed
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
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?
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.