Reply reminder - Remind users to reply to new users topics with zero replies

Certainly you could navigate there perhaps something like this or as you put in your example code:

“Request” or “Unanswered” as you have put in your example code.
But I’m not 100% on this.

I would want the number next to the items though if it was displayed like that: i.e. “Unanswered (4)” for 4 topics.

  • Because this is more than just “zero replies”.
  • There are cases where a topic doesn’t need replies.
  • A “nag” would give you access to the items at the right time:
  • you’ve read everything else from past X days etc.
  • prompt you to participate more
  • perhaps an option to dismiss the nag.
  • I don’t want it to be in the list if it has been “handled”
  • (i.e. perhaps dismissed by “reading time” from multiple moderators).

This functionality “feels” core to me, to reply to new users topics feels like it should be part of every Discourse instance, at least default ON.

8 Likes

I would have no problem with a forum asking its paid staff to respond to new users topics in a timely manner if they felt strongly that it would be helpful.

But not all members are “askers” some like to be “answerers”.
If Staff jumps on every new question posting a definitive reply, it could deny others the opportunity to feel helpful.

I also have no problem with a forum providing an easy way to find topics that may benefit from getting acknowledged with a reply.
I’m not so sure non-paid / non-staff members would appreciate being nagged into doing “work” if they are not in the mood to do it.

Push too hard and some may go all the way - out.

That said, maybe a “Quick Responder” Badge could be a good thing.

Encouragement and enticement can be good things. Coercion, not so much.

11 Likes

Dean, what do you think is the optimal/realistic timeframe for response. Do you track this - and do you know your averages and how its changed over time?

Just reviewing one sample set of data from a month for “replies within X days”:

This is general numbers and not limited to “new users”.

You can review your own community by using the query here:

But if you have a particularly large community you may want to reduce the time-frame to 1 month from 1 year.

@cpradio Is there a simple way to tweak your code so that the “Unanswered” navigation link only appears for mods and admins?

2 Likes

Yes, you can

<script>
  Discourse.ExternalNavItem = Discourse.NavItem.extend({
    href : function() {
      return this.get('href');
    }.property('href')
  });

  I18n.translations.en.js.filters.unanswered = { title: "Unanswered", help: "Topics that have not be answered" };

  Discourse.NavItem.reopenClass({
    buildList : function(category, args) {
      var currentUser = Discourse.User.current();
      var list = this._super(category, args);
      if(!category && currentUser != null && currentUser.staff) {
        list.push(Discourse.ExternalNavItem.create({href: '/latest?max_posts=1', name: 'unanswered'}));
      }
      return list;
    }
  });
</script>
13 Likes

Thank you. For some reason I missed your reply. But I just tried it and it works perfectly.

2 Likes

two questions regarding the navigation page:

  1. is it possible to have the tag and category selection filters in this tab?

since it only works for all the category and all the tags.

  1. is it possible to have a navigation tab for topics with views less than a number, e.g. 30?

Are you referring to the show filter by tag admin setting?

There is no way to filter by number of views. You can filter by number of replies as shown above.

2 Likes

thanks for the answer.

when you go into a folder, the defined tab is disappeared and only default discourse tabs remain:

is it possible to have the no-reply in a category or a tag topic-list page as well?

I have no idea. Seems to do that here on Meta too and I’m not 100% sure why that is.

1 Like

To use on categories and subcategories I ammended the code as this:

<script>
  Discourse.ExternalNavItem = Discourse.NavItem.extend({
    href : function() {
      return this.get('href');
    }.property('href')
  });

  I18n.translations.en.js.filters.unanswered = { title: "Unanswered", help: "Topics that have not be answered" };

  Discourse.NavItem.reopenClass({
    buildList : function(category, args) {
      var list = this._super(category, args);
      if(!category) {
        list.push(Discourse.ExternalNavItem.create({href: '/latest?max_posts=1', name: 'unanswered'}));
      } else if (!category.parentCategory) {
        list.push(Discourse.ExternalNavItem.create({href: '/c/' + category.slug + '?max_posts=1', name: 'unanswered'}));
      } else {
        list.push(Discourse.ExternalNavItem.create({href: '/c/' + category.parentCategory.slug + '/' + category.slug + '?max_posts=1', name: 'unanswered'}));
      }
      return list;
    }
  });
</script>
12 Likes

Ah, that makes a lot of sense. I didn’t pay that close attention to the snippet earlier and if I had, I should have spotted that. Thanks @Falco!

1 Like

that works great, many thanks Falco :slight_smile:

1 Like

I’ve been trying to get users to “Adopt a Cat”. I think that it has merit, but there hasn’t been much interest from the mods/admins so YMMV.

Is there a way to transform that Javascript into a userscript for Tampermonkey? I tried copy/pasting the JS here, but it didn’t do anything.

@cpradio
@Falco

I found a bug with the code you supplied above.
Once we click that button in the header, it takes us to that page - which is fine.
And the URL becomes : /latest?max_posts=1
But when we jump back to latest or homepage, the URL never changes back.
Because of this, it fails after 3 steps:

  1. Starting point: homepage (URL: /)
  2. We click on the header link (URL: /latest?max_posts=1 )
  3. We jump back to homepage or latest (URL is still: /latest?max_posts=1)
  4. We click on the header link (the second time) : IT STOPS working at this step.

NOTE:
To fix this, I’m guessing we need to add a line of code to change the URL of the site back to the root of the site - at the end of the code.

Falco is dedicated to a mission critical project for us for the next 2 months. I’ll take a look at the code in the morning.

2 Likes

Oops, I just checked this again.
This isn’t still working.

My apologies @nixie, I did not get to this last week. I’ve got a reminder set now to look at this Monday.

2 Likes