Hide 'Welcome to the forums' for admin user. Make reading it mandatory

(Sam Nazarko) #1


Tried to check for a PM the other day and noticed that my messages were filled with ‘Welcome to the forums’ which is a little annoying.

Perhaps this should not be shown as a listed sent item?

Another, potentially nice thing, would be to encourage them to read it before making a first post. A quick reminder of them to check the guidelines and read the original message too. This could be displayed in a dialog similar to the ‘Your topic is similar to’ with something like:

‘You’re new here’

  • You might want to read how to get the best out of this forum (link to PM if unread)
  • You might want to read our community guidelines (link to FAQ if unread)


(Stephanie) #2

The message thing is being discussed here:

I do like the idea of pushing the guidelines a little harder. A depressing number of people just plain don’t read them. I just picked a random user who has trust level 3 on the forum I moderate and he does not have the badge for having read the guidelines. That seems weird to me.


Are your guidelines short?

There was an issue where if the guidelines were short enough that the whole thing would fit in the viewport with no scrolling, the badge would not be granted. I think that was fixed, but of course that wouldn’t grant badges retroactively.

(Mittineague) #4

Ironic isn’t it? The shorter the content, the more likely they’ll actually get read instead of skimmed over or getting scrolled through without even being looked at. :eyes:

IMHO it would be a good thing if it was made a TL1 requirement. But then again, that would only be a “went to the page” not a “read thoroughly and comprehended them”.

(Stephanie) #5

No, the page is either identical or very similar to the guidelines here

Which I’m seeing as 2-3 “pages” and should not be entirely visible without scrolling unless your resolution is crazy, I think?

(Stephanie) #6

Aye, there’s the rub. There’s no real way to force someone to read the guidelines, even if they’re forced to go to the page. Still, it bothers me that it’s possible to get the privileges of Regular status without having at least pretended to read the guidelines first. :confused:


Okay, then apparently your users without the badge have in fact not read the guidelines.

I was just presenting that issue as a potential way that someone might have read the guidelines but not have the badge.

(Kane York) #8

That came up when someone edited the guidelines to be quite shorter.

(Jeff Atwood) #9

And it was also fixed as I recall, so non-issue.


Well, yes, I was one of the people who experienced this problem:

Yes, that thread also indicates that it was fixed:

However if someone read short guidelines while the bug was in effect, they would not have the badge even though they read the guidelines.

(Kane York) #11

I’ve just done some implementation work on this, but it’s not done and I don’t have the time to finish it right now.

If someone else could polish this off, that would be nice.


The conditions for a PM to be “boring” are:

  • Messages from the site contact user are only boring to the sender until there’s a reply
  • Flag -> notify moderators is always boring unless there’s a non-auto-inserted reply
  • Flag -> notify user is only boring to the sender until there’s a reply

The implementation needs to change - we can’t have this monster SQL firing off all the time.

Proposed implementation: A column on the topic holding the ‘boringness’.

0 - not boring to anyone, 1 - boring to topic creator, 2 - boring to all participants.
When a topic is created, the boringness is 0 unless specified otherwise in the PostCreator options.
Whenever a reply is made to a topic, unless the reply is an auto-inserted reply from resolving a Notify Moderators flag, the boringness is set to 0.

Messages from the site contact user, and Flag -> Notify User are boring 1.
Flag -> Notify Moderators are boring 2.

We can adapt the queries present in this WIP version of the patch to backfill the boringness for all topics in a migration.

Then, the list queries would just be .where("topics.boringness = 0 OR (topics.boringness = 1 AND topics.user_id = :user_id)") and .where("topics.boringness = 2 OR (topics.boringness = 1 AND topics.user_id <> :user_id)").