We just completed the migration of a pretty large forum from vBulletin 3.x to XenForo 1.5.x. So far, everything has been going pretty well but we're noticing some weird behavior with the is_moderator flag on users. I'm not sure if something is wrong somewhere in our XF or if we're misunderstanding what the correct behavior is.
Background information on our staff types:
- Administrators (defined as admins in the AdminCP)
- Global Moderators (given forum moderator permissions to all nodes by their user group)
- Sectional Moderators (given forum moderator permissions in their assigned nodes by their user group)
The important thing to note is that none of our admins or moderators are actually defined as moderators under AdminCP > Users > Moderators because, to be honest, it's a royal pain. Instead, we give their user groups forum moderator permissions in their respective nodes so we can just add/remove people from groups and their permissions follow. (This is modeled after how vBulletin handled permissions, so perhaps we have to adjust our methodology here...)
For the most part, this seems to work. However, we've noticed:
- Most of our mods have is_moderator = 0
- Since XF doesn't think they're mods, it doesn't always give them all of the mod options they should have like access to the Reports feature
- When they perform "mod" actions (IE locking a thread) it doesn't seem to show up in moderator logs (presumably because XF doesn't think they're mods)
- Some of our mods and one of our administrators, for no apparent reason, do have is_moderator = 1
As a side note, we thought we may have some caching issues so we rebuilt the user cache and the issue is still present. Our XF instance is spread across an 8 server cluster, but our MySQL should all be in sync.
Finally, I read somewhere on this forum that is_moderator should be determined by whether or not users are defined as Moderators in the AdminCP. This makes sense, but in our xf_moderator table we have 1 record and in our xf_user table we have 9 users with is_moderator = 1.
Any thoughts/information would be greatly appreciated.