Can we display solved count on the /users page?


(Andy Logan) #1

As I get ready to open up my community to our partners and customers, we’re looking at using the user summary table (example.com/users) to help monitor what our SE community is doing.

One of the things I noticed is that while it counts likes, posts, visits, etc., it doesn’t show a count of how many items the user posted that were then marked solved. This could be very valuable for our managers to see who’s contributing and also solving issues.

I couldn’t find anything in the admin console to enable this, so it may be a feature request. I’m also on a hosted solution if that makes any difference, but I didn’t see anything in the plugin settings.

Thanks,
Andy


(Sam Saffron) #2

Seems to be working here:

If you are looking for the reverse number, well yeah, that does not exist.

Eg: Question that were Solved by the community: 100


(Bhanu Sharma) #3

Working here as well! can post screenshot just in case!


(Andy Logan) #4

Hi guys,

I’m actually talking about it on a per-user basis on the /users summary table. That way I don’t have to click through all 200 employees one at a time.

thanks,
Andy


(Bhanu Sharma) #5

That seems like a custom requirement!


(Andy Logan) #6

That’s why I’m asking, Discourse does a really good job of summarizing data, but this one is missing and would be really useful. This is the summary I’m talking about.


(Bhanu Sharma) #7

But Discourse-Solved is a Plugin … if it were an integrated feature, it may have been integrated better than how it is now.


(Andy Logan) #8

Understand it’s a feature request which is what I figured. It would certainly make it more useful for tracking what users are up to if I want to make participation in the community something I can track and report on for leadership.

thanks,
Andy


(Bhanu Sharma) #9

Try Github GitHub - discourse/discourse-solved: Allow accepted answers on topics and raise a request there maybe?


(Sam Saffron) #10

No … requests for #plugin:solved belong here, this topic is fine.

Not sure about amending the list in /users there, it is huge already and it would be a rather complex change.


(Andy Logan) #11

Would there be a way to run it as a report instead with basically the same info? This is probably at best something I need to provide quarterly in my case, others may have different requirements.


(Sam Saffron) #12

Yeah writing a custom report should be fairly simple, you can do it with some SQL skills and the data explorer plugin.


(Andy Logan) #13

OK thanks, I’ll give that a try and see what I can pull out.


(Sam Saffron) #14

If you come up with a query, be sure to share it here :wink:


(Andy Logan) #15

Will do, hopefully I’ll get some time to work on it this week, thanks again!


(Andy Logan) #16

Following up, I can get the data when there is a solution selected using the following:

SELECT value
FROM
    post_custom_fields
WHERE  
    name = 'is_accepted_answer'

What I’m getting back is either ‘true’ which I expect from looking through the plugin code. There is one NULL, I am going to assume that this is from someone who checked a solution box then unchecked it. Unfortunately I can’t seem to get it to show other users who have 0 solved solutions when I try to build out the dashboard like you see at Discourse Meta.

It’s possible it’s just my rusty SQL skills and maybe I’m missing something obvious in how to display the rest of my user base with 0 matches. I tried matching on NULL (1 match) and an empty string but that didn’t provide any additional output.

I can certainly run it today as there are only 7 of us with solved solutions as most of my users interact via email, but as we get ready to open this up to our user and partner base I’m guessing that will go up. If anyone has any pointers I’d appreciate it.


(Andy Logan) #17

Here is the solution I have. I am filtering by group ID as that’s my employee group that I have everyone added to when they sign up:

SELECT u.username, 
    u.name, 
    us.likes_given, 
    us.likes_received, 
    us.topic_reply_count, 
    us.post_count, 
    us.posts_read_count, 
    us.topic_count, 
    COUNT(pc.name) AS solved
FROM
    users u
JOIN
    posts p ON p.user_id = u.id
LEFT JOIN
    post_custom_fields pc ON pc.post_id = p.id
JOIN
    user_stats us ON us.user_id = u.id
WHERE u.primary_group_id = [GROUP ID]
GROUP BY u.id, 
    us.likes_given, 
    us.likes_received, 
    us.topic_reply_count, 
    us.post_count, 
    us.posts_read_count, 
    us.topic_count