In previous versions of OpenOLAT a so-called course comprehensive groupmanagement was available. Users with the groupmanagement permission could start this environment. Those users are users that have the group managmenet role assigned in the usermanagmenet. However, as you can give someone author permissions by adding him to the owner group of a course, you can also give someone groupmanagement permissions by adding a user to the owner group of such a course comprehensive group context. Those users will not show up as group managers in the usermanagement!
This was very confusing, and somethings people were put as owners of a group context instead of the real groups. But by adding them there, those users got implicit group management rights.
In 8.2.x those implicit group management rights must all be removed as those users do not show up as real group managers in the usermanagement.
Do the following and copy the list of users somewhere:
select distinct identity.name from o_bs_membership as membership inner join o_bs_identity as identity on (membership.identity_id = identity.id) where membership.secgroup_id in (select policy.group_id from o_bs_policy as policy, o_olatresource as resource where policy.oresource_id = resource.resource_id and policy.permission='hasRole' and resource.resname='BaseSecurityModule:RGroupmanager' )
delete from o_bs_membership where secgroup_id in (select policy.group_id from o_bs_policy as policy, o_olatresource as resource where policy.oresource_id = resource.resource_id and policy.permission='hasRole' and resource.resname='BaseSecurityModule:RGroupmanager' ) and secgroup_id not in (select namedgroup.secgroup_id from o_bs_namedgroup as namedgroup);
The 8.2 update will migrate all courses to not contain group names anymore but rather replace them with the ID of the corresponding group. This is done using the plain vanilla search-replace mechanism. However, if you have an hasAttribute rule in the same course that checks for an attribute with the exact same name as an existing group of that course, this attribute rule will be modified as well.
This is wrong. As this is a very rare case you have to fix this yourself. Using the query below you can check if you have any groups that have the same name as a user property. If this is not the case you will most likely be save. If you find some groups, you might want to look them up and check all associated courses and see if they use any hasAttribute rule. The problem happens really only when both conditions are true.
select prop.propname as prop_name, prop.propvalue as prop_value, grp.groupname as groupname from o_userproperty as prop, o_gp_business as grp inner join o_gp_business_to_resource grp_rsrc on (grp_rsrc.fk_group=grp.group_id) where prop.propvalue=grp.groupname group by prop.propname, prop.propvalue, grp.groupname