News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

Move members from one group to another based on post count

Started by thelostswede, September 28, 2014, 01:51:03 AM

Previous topic - Next topic

thelostswede

Quick question, as I don't understand why this isn't working as intended.
I've followed these instructions to limit new users from posting freely in the forums - http://www.simplemachines.org/community/index.php?topic=524890.msg3716699#msg3716699
That part works just fine and they have to have their post approved.

However, at five posts they should be moving to the "Registered Members" group rather than be in the "Regular Members" group, as I've set up several tiers in the "Registered Members" group based on post count.

The problem is, that when someone in the "Regular Members" group reaches five posts, they're not move to the  "Registered Members" group, instead I have to manually move them to an intermediate group and then back to "Registered Members" for them to get their new forum user group. Any suggestions on how I can have this done automatically or am I missing something here?

Cheers

Ninja ZX-10RR

Membergroups
This is the whole guide for membergroups.

It's extremely late here so I might get you wrong but to me you are confusing primary membergroups and post-count membergroups. A primary membergroup is the one set for administrators, global mods etc while a post count membergroup is the one set according to the post counter. So basically ANY user in your forum is in the "Regular member" membergroup that is a PRIMARY membergroup indicating that he is not admin or whatever. He is ALSO in another membergroup based on post-count. You must set the "Registered members" membergroup as a post-count membergroup and you must state that users will get there when they will have 5 posts (post-count based membergroup) but you simply CANNOT remove people from the "Regular member" membergroup unless you make them admins or global mod or whatever else.
To me you should create a membergroup with a required post-count at 0 and then another one at 5 (the "registered members, if you want to call them like that) in order for it to work better. I have many topics for this if I can find it I will edit the message in a few mins and link one of those. ;)

EDIT: found it, have a look: http://www.simplemachines.org/community/index.php?topic=437783.msg3744574#msg3744574 the following messages should help you, but the wiki article I linked at first explains it all. :)
Quote from: BeastMode topic=525177.msg3720020#msg3720020
It's so powerful that on this post and even in the two PMs you sent me,you still answered my question very quickly and you're apologizing for the delay. You're the #1 support I've probably ever encountered man, so much respect for that. Thank you, and get better soon.

I'll keep this in my siggy for a while just to remind me that someone appreciated what I did while others didn't.

♥ Jess ♥

STOP EDITING MY PROFILE

thelostswede

That's clear enough, but the issue is that I'm limiting "Newbies" so their posts have to be approved until they reach the next member level, but apparently this doesn't happen automatically when they reach 5 posts.
It's possible that my issue is that I can't find a way to limit a post count based member group in the same way, so maybe this is what I'm actually looking for?

margarett

Quote from: thelostswede on September 29, 2014, 03:41:41 AM
That's clear enough, but the issue is that I'm limiting "Newbies" so their posts have to be approved until they reach the next member level, but apparently this doesn't happen automatically when they reach 5 posts.
Quote from: thelostswede on September 28, 2014, 01:51:03 AM
However, at five posts they should be moving to the "Registered Members" group rather than be in the "Regular Members" group, as I've set up several tiers in the "Registered Members" group based on post count.
I think you are confusing regular membergroups with post count membergroups...

When the post count changes, only post count-based membergroups are updated. "Regular Members" is a built-in membergroup that has nothing to do with post count...

So, could you please printscreen your membergroups page so that we can understand better your setup? ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

thelostswede

Ok, so if I move newbies into the post based group, how do I make sure their posts have to be approved until they hit a pre-defined number of posts? This is mostly to prevent spammers from going wild if they manage to get past our anti-spammer measurements.
That's pretty much the problem I'm having and I can't figure out how to solve it.

In as much as SMF has better user management than phpBB and vBulletin, this part is very confusing as there are too many ways of achieving more or less the same result.

Illori

maybe this will help you

Quote from: Arantor on August 26, 2014, 07:39:14 AM
QuoteLet me explain the problem of doing this on a fresh SMF install, and you're welcome to join in at home. Today's challenge: configure it so that regular users don't have moderation but new users with up to and including 5 posts are moderated.

There are, in fact, two ways to do this, both of which are convoluted.

1. Turn on post moderation in Core Features.
2. Making sure that the 0-post count group is left alone, create a new post count group that requires 5 posts, so that once a user has successfully posted 5 posts (and until they're approved, it won't affect their post count), they can have different permissions attached.
3. Admin > Members > Permissions > Settings > Enable permissions for post count based groups (tick) > save

Here's where the paths diverge. Here's path A:
A4: On the same page as above (Admin > Members > Permissions > Settings) also enable Enable the option to deny permissions
A5: Go to Admin > Members > Permissions > Board Permissions and for each profile (that allows posting) set the permissions up as follows: Regular members should have "Post new topics, without requiring approval" and "Post replies to topics, without requiring approval" enabled, while the 0-post count group should have those permissions *denied* and "Post new topics, but hide until approved" and "Post replies to topics, but hide until approved" in their place. Once the user leaves the 0-post count group for the 5-post count group, the other permissions are no longer denied.[3]

Or, path B. It doesn't require deny permissions but it does things another way.
B4: Go to Admin > Members > Permissions > Board Permissions. For Regular Members, set all the posting permissions to disallow. Then in the 0-post count group, give them "Post new topics, but hide until approved" and "Post replies to topics, but hide until approved" and for every other post count group, give them "Post new topics, without requiring approval" and "Post replies to topics, without requiring approval".[4]

Either way, banal and frustrating (and in fact, you still have to do the same thing using the other interface but it's actually slightly *more* confusing, not less there).

___________________________

3.    But now we have an extra membergroup that does absolutely nothing other than allow another group's permissions to expire.
4.    This means you still have the extra group, but at least the extra group is now doing something. This is also very fractionally faster, but harder to maintain as you have to set the new permission up on any new post count group you create.

Kindred

And to be clear...  You can not MOVE users into post count based groups, they are automatically assigned based on the post counts. Period.
if you are moving them, by assignment, then it is not a post count based group.

Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

thelostswede

Yeah, no, none of this works as I have no means of controlling the 0-5 post "Newbie" accounts from not being able to post if I put all the post based groups into one big batch, or at least I can't figure out how to do it.
I'm sorry to say that this has been made way way way too complicated in SMF with 20 different ways of doing more or less the same thing without any real logic.
I'm afraid I can't post screenshots as we already have some 3k members as this is a fully working forum.

Let me try to explain how it's set up again.
Regular Members (where everyone should be as far as I understand it) has Inherited Groups: "Newbie"
The idea with the Newbie group is that these users will have all their posts approved until they've had 5 posts.
This works just fine, but as they're in a different group than the other post based groups, users in this group won't move automatically to the next level.

Registered member, this is where everyone ends up once they've posted more than five forum posts, with the exception of some assigned groups, but they're not the problem.

So technically all the Registered member's should be in the Regular Members group, except for that issue that I can't then prevent control Newbie's.

Right now I'm controlling this through Post Moderation and it works, except my above problem.

Trying to do it according to any of the examples provided, simply doesn't make sense to me, since I either block everyone, or no-one since the post based groups can't be controlled one by one.

This has been by far the most frustrating thing with SMF, as everything else have been pretty easy to do. I much prefer SMF compared to vB and phpBB when it comes 98% of everything else in the backend, but this part needs to be hugely improved.

thelostswede

Right, I think I've found my mistake, inherited permissions.
That seems to be what's causing my problems, but again, this isn't exactly crystal clear.

Thanks for the help though.

Kindred

It really is not nearly as complicated as you seem to be making it.

Yes... If you are using inherited permissions, the you will not be able to do what you want...  You should be using unique permissions per group.

A user ALWAYS belongs to two groups.
One group for post count... And the population of these groups is automatic based on post count.

One group that is either assigned or default,
If a user has no assigned group, then the user belongs to the "regular member" group.


Additionally, remember that permissions for smf are INCLUSIVE. This means that, if any group ALLOWS a user a specific permission, then that user will have that permissions, regardless of what any other group might DISALLOW. The exception the this is the DENY permission. That makes the permission denial EXCLUSIVE. If any group DENIES a permission, then the user will NEVER have that permission granted, regardless of the ALLOW setting of any other group.


So, in order to do what you want, you can do one of two things.
1- you could turn off (disallow) posting permissions for the regular members membergroup. Then youse the permissions to allow posting, but with approval, for the newbies... And allow posting, without approval for the post count groups after newbies.

2- you could leave the regular members group alone.  Then set the newbies group to allow posting, but with approval (allow) and set posting without approval to deny.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Advertisement: