Please Log in or Create an account to join the conversation.
Yes, that's doable. Normally we do not perform a JOIN of the usergroup table. This is because it causes too many row scans and slows the query down significantly on large sites. Instead usergroups are filtered by an IN subquery. To be able to add your own custom filtering on the usergroup query your filter must utilize the table alias "g" and it will perform a JOIN of the usergroup table. The table aliases are as follows.Since all my users are in the 'Registered' usergroup, I could use this as the usergroup of the list, and then use advanced filter options to limit it to users who are in 'Group A' or a child of Group A, but I'm not sure what the SQL would be for this filter.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Basically the less the better. I recommend only using as many as absolutely necessary beyond the defaults (do not delete defaults; Joomla doesn't like that). Anyone using that many usergroups always makes me question why they need so many and how can we do this without impacting ACL. ACL is used constantly on every page and often multiple times. It is also often joined into other queries or used as subqueries. So the more usergroups you have the slower all of that becomes.I dont know if you have any experience with this ? The site will have less than 100 usergroups, and less than 50 viewing access levels.
Yes, you'll be fine (as in your site will work) but it's just a heads up warning that you should consider an alternative approach. On top of potential performance problems you have management issues to deal with as well. That's a lot of ACL to manage across your site. For example permission pages (e.g. System > Global Configuration > Permissions) become unusable. This isn't a CB specific thing though this is a Joomla in general thing.Do you think this will be ok ?
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.