Feature request: Moderation tools to encourage user etiquette
In our forum, we're noticing an occasional issue where the user isn't malicious, but they have a different view of forum etiquette than we do, and they violate our forum norms. One example is bumping a bunch of old threads to say "me too!" or "+1."
It would be good to have a moderator setting that helps us gently prevent this behavior. For example:
- Maximum posts in a 10-minute period
- Maximum threads participated in a one-week period
- It's typically a bad sign if a single user is starting many separate threads and bumping a bunch of old threads
Minimum character count per post(this is now implemented)
- KajMagnus @KajMagnus2023-05-16 16:04:07.924Z
Good ideas. Hmm now I start thinking about a regular expression, say
/yes|[+-]1|me too/
that could open a dialog "Please click Like instead, otherwise the conversation gets a bit noisy with many small comments", or sth like that.And if they insist, they get to post their single word anyway (after all, sometimes a single Yes can include lots of meaning).
But for a start, maybe just disallowing is better / quicker
- In reply tomichael⬆:KajMagnus @KajMagnus2023-07-01 06:50:56.599Z
Re minimum character count:
I'm adding something like the below, when posting a comment or new page — what are your thoughts?
Maybe some (or all) messages below (like "That's a short ....") can be improved / rewritten completely?
Or something else comes to your mind? :- )(The limits (150, 15, 30 etc below) could be made configurable in some future version)
const longTitle = is new page && title length > 150; const shortTitle = is new page && title length < 15 && not is-chat; // Orig posts generally need a bit more details than comments (replies). const shortOrigPost = is new page && text length < 60; const shortComment = is comment && text length < 30; const problemText = // Show title errors first longTitle ? r.p({}, `That's a long title. Maybe remove some words?`) : ( shortTitle ? r.p({}, `That's a short title. Maybe add a few more words?`) : ( shortOrigPost ? r.p({}, `That's a short text. Maybe add more details?`) : ( shortComment ? r.p({}, `That's a short comment. Maybe add more details?`), r.p({}, `Don't reply "Me too" "I agree", "+1". Instead, click Like on the comment you're replying to.`)) : null))); if (problemText) openQuickDialog({ body: problemText, primaryButtonTitle: "Okay (continue editing)", secondaryButonTitle: "Post anyway", });
- Michael Lynch @michael
Cool, here are my suggestions:
const longTitle = is new page && title length > 150; const shortTitle = is new page && title length < 15 && not is-chat; // Orig posts generally need a bit more details than comments (replies). const shortOrigPost = is new page && text length < 100; const shortComment = is comment && text length < 30; const problemText = // Show title errors first longTitle ? r.p({}, `That's a long title. It may be difficult to read on certain screens`) : ( shortTitle ? r.p({}, `That's a short title. Descriptive titles tend to get better responses.`) : ( shortOrigPost ? r.p({}, `Your post is pretty short. Are there additional details you can add?`) : ( shortComment ? r.p({}, `That's a short comment. Are there additional details you can add to the discussion?`), r.p({}, `Instead of comments like "+1" or "me too" click the Like button on the comment you're replying to.`)) : null))); if (problemText) openQuickDialog({ body: problemText, primaryButtonTitle: "Okay (continue editing)", secondaryButonTitle: "Post anyway", });
I also suggested increasing the minimum character count on a top-level post to 100 characters. 60 characters is pretty short.
It might also be good to make the messages themselves admin-configurable because different forums might have different guidance. If it's primarily a tech help forum, I might give users more specific guidance about why a more detailed message gets them help faster, but if it's a general discussion forum, then I wouldn't want language like that.
- KajMagnus @KajMagnus2023-07-05 05:22:28.436Z
Thanks, good idea to include those brief explanations about why.
This: "Any more details you can add?", it's a bit shorter than: "Are there additional details you can add?", I guess I'll use the shorter variation.
I suspect "many" people don't read long titles at all :- ) So maybe instead of: "It may be difficult to read on certain screens", could use: "Fewer people read that long titles".
make the messages themselves admin-configurable because different forums might have different guidance
Good idea. Some time in the future, there'll be new post templates (similar to GitHub issue & PR templates), and canned responses, and making these "it's-pretty-short" messages configurable sounds like something to do at the same time.
top-level post to 100 characters. 60 characters is pretty short
Yes 100, or 90 actually, seems better. Now I looked at lots of posts, and, almost none of the too-short ones, were shorter than 60, so 60 wouldn't have detected them. Many posts shorter than 90 were too short. Those longer than 90 were generally okay though.
(I guess the default short-&-long lengths should vary by language even :- ) some time in the future)- Michael Lynch @michael
Cool, I like that!
"Fewer people read that long titles".
Small note: In English, the more natural phrasing would be, "Fewer people read titles that long."
- KajMagnus @KajMagnus2023-07-07 07:03:36.581Z
Thanks, fixed :- ) (about to build a new server now soon)
- Michael Lynch @michael
Awesome, I verified it on the TinyPilot forum. Thanks, @KajMagnus !
- KajMagnus @KajMagnus2023-07-13 15:31:30.819Z
Ok :- )
(was going to wait a few days, to see if anything unexpected happened, and then post an update, but you found it before :- ))
- In reply tomichael⬆:Michael Lynch @michael
To update, this feature is now partially implemented (minimum character count), and it seems to have had a positive impact on our users' behavior.
I'm realizing another useful heuristic would be number of new threads per week. If a user has created three new threads this week and bumped two more, that's almost always a sign of a too-demanding user. It would be good if we had automated warnings like, "You're creating a lot of threads. Keep in mind that we're a small team with a lot of users, and we can only handle so many requests at once."
- KajMagnus @KajMagnus2024-01-17 18:03:54.899Z
Sounds like a good warning / info message. When would be a good time to show the message? I suppose it'd appear in a modal dialog, when one clicks Create new topic? And then one could click:
- "OK, cancel (don't post anything)" — then, the editor wouldn't appear at all. Or,
- "Proceed anyway", and then the editor opens as usual?
For a start, maybe the exact limits (3 new threads the last 7 days, etc) and message text don't need to be configurable. Instead, there can be a feature flag, that's a bit quicker to fix, just to see how all this works.
Even later:
I'm guessing it'd be helpful with a per-7-days hard limit too, say, 2 x the warning limit. And these limits could be higher for long time members (& absent for moderators).
Hmm, I'm guessing it could be helpful for the moderators to know if a user had actually seen that message but proceeded with posting anyway? (So you can know if they ignored the warning or haven't seen it yet)
- In reply tomichael⬆:KajMagnus @KajMagnus2024-02-04 08:06:11.458Z
Ooops there definitely should be some per groups settings for this — I just got some feedback from @chrscheuer that [the popup dialog that says the text is too short], is frustrating (for mods & admins). — I was going to add such per-group-settings anyway, so one can configure min-text-length & the new too-many-new-therads setttings per group, e.g. for the Everyone group but switch off for say >= Core Members.
- Progresswith doing this idea