Usergroups Field for Community Builder 2
CB Usergroups Field Plugin, Version 2.0.1 for Community Builder 2.0 Filename: plug_opentools_cb2_usergroupsfield_v2.0.1.zip MIME-Type: application/zip File size: 5095 Bytes |
This Community Builder plugin adds a profile field that allows moderators (or any other user group that is authorized to modify profile data) to change a user's Joomla groups in the Frontend. There are two versions of the plugin available: Version 2.0 for Community Builder 2.x and Version 1.0 for CB 1.9
By default, Community Builder allows changing user groups only in the Backend's User management pages, but not directly on the profile in the Frontend. Backend access, on the other hand, gives the user a lot of power, which you often don't want to grant to normal (i.e. non tech-savvy) administrative staff.
With this plugin, the administrator can set up a usergroups profile field with ability to assign/remove certain user groups to other users in the Frontend. The field configuration specifies which user groups shall be editable and which are not touched by the field. For example, if you have groups "Member", "Former Member", "Administrator", "Associates" and "Board", you can configure the plugin so that one can only assign/remove group membership of groups "Member" and "Former Member" in the FrontEnd, but cannot assign, change or remove the other three group memberships.
Installation and Setup
Although the images in this section depict the Backend of CB 1.9, the functionality and the configuration is exactly the same in CB 2.0. Only the visual appearance of the configuration is slightly different, but not how you configure and use the plugin.
- Install this Community builder plugin (like all CB plugins) through the Plugin Management page in Community Builder (NOT through the normal Joomla extensions manager).
- Don't forget to enable (publish) the "CB Usergroups Field" plugin after installation.
- Set up your Joomla User group structure (if you have not already done that).
- Also make sure you have one user group for moderators, who will be allowed to edit other users' profiles and change their groups. This moderator group should ideally be a child of "Manager" (or alternatively, you can give that group the appropriate ACL rights to modify users/groups; If you don't know what this means, you are probably better off not trying to do it!).[1]
- Allow your moderator group to edit user profiles: "Configuration" in CB, tab "Moderation", Select your moderator group in "Moderator Groups" and set "Allow Moderators to Edit User Profiles" to "CB Moderators and levels above"
- Go to "Field Management" in Community Builder and create a new field of type "User Groups Field". On the right side ("Field-specific Parameters") you can select the offered groups and who can assign them.
- In your Users list ("List Management" in CB), add the newly created field.
- When editing a user profile in the frontend, your moderator users should now be able to change (i.e. add or remove) the selected Joomla groups. All groups not selected in the field configuration will not be touched.
Caveats
[1] Unfortunately, due to the way CB handles permissions, unless the moderator group is a child group of the "Moderator" group, all you moderator users MUST be members of child groups of ALL the groups from which they should be able to modify user profiles! E.g. if your moderatos should be able to edit the profiles of "Registered" group members, you need to assign the moderators to a child groupf of "Registered" (like "Author"). Unfortunately, this also means that if you use custom groups in Joomla 2.x and above, you need to create a child group for each of them and assign your moderators to each of these child groups! This is due to the fact that CB in large parts still relies on the hierarchical permissions logic of Joomla 1.x, while Joomla has meanwhile switched away to a much more flexible ACL (access control list) system. If your moderator group is a child of the "Manager" group, your moderators will be able to modify the groups of all other non-admin and non-moderator users without any other special settings.
For example, if you want to administer two groups "Member" and "Former Member" of a club, you would set up the following group structure and assign the groups "Moderators" (child of "Manager" so that he can modify users at all) and "Memberadmin" (so that CB allows the moderator to modify members and former members' profiles):
Support Forum
License
This plugin is licenced unter the GNU GPLv3. You have to pay to download the plugin, but by this you automatically obtain all the rights and duties that the GPL gives you. All future upgrades are included (i.e. there is no timelimit on updates). Support is provided in the forums as far as my time allows, but I cannot guarantee proper support.
Version History
2016-03-05: Version 2.0.1 (Fix groups not being displayed in the user list due to CB regression)
2014-11-27: Version 2.0 (Update to CB 2.0)
2014-04-05: Version 1.0 (Initial release for CB 1.9)