Automatically bumping old topics on a category


(Sam Saffron) #1

On certain categories it makes sense to bump old topics automatically on a regular basis.

  • On buying/selling categories in can make sense to regularly bump visibility while a topic is open and item is still on sale.

  • In #support categories it may make sense to bump old topics in case they were forgotten

Till now the only way to raise visibility was to “edit” the last post of a topic or post a bump reply.

Both of these solutions are not ideal.

We just added a new category setting called: Number of open topics to automatically bump daily. By default it is set to 0 and no automatic bumping happens. However, you can turn the number up (on meta with set it to 3 on #support).

What does it do?

IF there exists an non-closed, visible, non-archived, non category description and non-pinned topic that was bumped less than 24 hours ago.

We will look for N oldest bumped topic and bump it to the front page. The process will bump a maximum of 1 topic every 15 minutes and it is rate limited so we only do N per day. (you set N)


Discourse 2.1.0.beta3 Release Notes
Discourse 2.1.0.beta5 Release Notes
(Pad Pors) #2

such a nice and needed feature! thanks for developing this :heart:


  1. This seems very fast, especially if a forum doesn’t have such dynamics.

    can this time be tuned based on the the number of N: e.g. time_interval = 24hours/N, so that there’s a uniform dynamic for old topics during the day?

  2. Also if the topic is older than some months, there exists this system-notification which tells users that “the topic is old, and are you sure you want to answer it?!”

    this makes users a little bit confused: from one hand admins bumped the topic to make it more visible and “get replies”, and from the other hand system is telling users “do not contribute”!


(Bas van Leeuwen) #3

Really nice idea!

Will it be indicated somehow that it’s bumped?


(David Taylor) #4

I also think this would be good - it’s a bit confusing to see super old topics at the top of ‘latest’. How about adding a ‘small action’ whenever the topic is bumped. Something like:

If the most recent post in the topic is an auto-bump small action, edit it rather than creating a new one. That way we keep noise to a minimum.


(Jay Pfaffman) #5

Yesterday I lamented re-starting a thread that was over 6 months old (I think because it was in recommended topics), not realizing that it was over 6 months old. Several people participated in a thread that I thought was current, but it wasn’t. I was embarrassed that I’d cranked up the topic again.

Now when I go to latest, I’m recommended Custom print style should be added , which is from April 14. (And it’s on almost the same topic that I replied to errantly yesterday) And when I look at it in Latest I see that there’s “activity” 14 minutes ago, except, there’s really not activity in over 3 years.

It was confusing enough when Suggested would send me to long-dead topics that don’t need to be revisited, but now I can’t tell from Latest whether I should visit a topic.

I’m having a hard time understanding the value of this feature.


(Sam Saffron) #6

I like the idea of the auto bumped small action, not sure how @codinghorror feels about

@Pad_Pors I have a nice idea of how to space out the bumps, will implement tomorrow


(Sam Saffron) #7

Having these forever open support topic is a problem, I like that this triggers us to clean up, an alternative I guess is just to auto close all old support topics, but it is a bit more drastic


Facilitate reply-as-new-topic in closed topics
(Jay Pfaffman) #8

That makes sense. It seems that topics are more likely to be closed lately, so perhaps this will be less annoying once that clean-up is done. It seems rather painful (for me, anyway) until that’s done, though.

Perhaps it would be safe to auto-close stuff that’s, say, a year or two old?


(Jeff Atwood) #9

First of all there is a cap of one year on suggested so your statement isn’t correct.

Second, it is completely valid to continue the same discussion later if it was not resolved. Of course you did not know it was resolved, which is understandable since you can only trigger “real” printing mode from a keyboard shortcut… which is quite undiscoverable…

Proceed on auto-bumped small action @sam, this makes sense, because “invisible magic” always leads to confusion.


(Diego Barreiro) #10

Really nice feature :+1:

One suggestion: Add integration with discourse-solved plugin and add the ability to choose non-closed and/or non-solved posts


(Sam Saffron) #11

This resolves the 2 big issues with the initial system:

  1. We spread out bumping through a 24 hour period. If you are autobumping 4 topics in a category, then it is one per 6 hours.

  2. We add an auto bump message at the bottom of the topic so you can tell why it floated to the top

@barreeeiroo I love the idea of integrating with solved … we need to create a hook for it in core though, will work on this now!


(Sam Saffron) #12

A post was split to a new topic: Improve usability of reply as new topic


(Sam Saffron) #13

Per:

And:

This now integrates with Discourse solved and will not bump solved topics.

@eviltrout / @tgxworld not sure if you ever needed to do this before, but this seems like the best pattern for composable filters I can come up with without adding a proper filter interface (or leaning on the only used in one plugin, filter interface I added years back)

  on(:filter_auto_bump_topics) do |_category, filters|
    filters.push(->(r) { r.where(<<~SQL)
        NOT EXISTS(
          SELECT 1 FROM topic_custom_fields
          WHERE topic_id = topics.id
          AND name = 'accepted_answer_post_id'
        )
      SQL
    })
  end

(Pad Pors) #14

is the system avatar needed in the topic list?

it doesn’t give a good feeling to meet a machine-type avatar in the first page, also it doesn’t make sense to change this avatar to a more human-based image.


(Sam Saffron) #15

Yeah I feel the same, I am not sure what avatar to give it though… a simple fix here would be assigning meta system user a nicer avatar.

Maybe Baymax works better, he is certainly softer.

We could also let discobot do the bumping if it exists … which may make more sense here. Will change that tomorrow.


(Pad Pors) #16

would be awesome :heart_eyes:! knowing that his duty is to take care of the community health!


(Christoph) #17

Earlier today, I wanted to try this new feature and set our support category to 3 topics per day. About 20 minutes later, I realized that this was not a good idea because we have plenty of formally unresolved but de-facto resolved support topics so I turned it off again by setting it to 0 topics per day. However, at the time of writing, we’ve nevertheless had ten (!) old topics bumped.

Am I misunderstanding how this is supposed to work or is this some kind of double bug (it’s not obeying the max of three topics per day and it’s ignoring that I turned if off before the first topic was bumped. We’re on v2.1.0.beta2 +274


(Sam Saffron) #18

We had some issues with this earlier this week, be sure to be on latest … 324 or up…

Is there value in keeping these open forever?


(Christoph) #19

No, but:

So I’d prefer to keep most of them open until it’s easy for people to reply to a closed topic.

Also, we still have a bunch of uncategorized topics from migrating and categorizing those has priority.


(Bas van Leeuwen) #20

So this 2014 topic just got bumped:

Doesn’t feel very useful :slight_smile:
I’d put in a limit on the original posting date, you don’t want to be boosting years old posts.
E.g. only bump posts from the past week or so.