Best explained in an example:
Member A is a member of the Group Y
Group Y is the child of X and parent of Z
So folder structure looks like
X
| - Y
| | - Z
Currently in silverstripe Member A has access to Group Y (of which they are a member) and Group X (of which they inherit) and not group Z.
What I required was the opposite.. so Member A has access to children rather than parent groups. By changing the code below you get Member A having access to Group Y and Group Z, not Group X.
/sapphire/security/Member.php
Changed one line the Groups() function from:
$group->collateAncestorIDs());
to:
$group->collateFamilyIDs());
I could not see a simpler way of changing this by not editing the core. Hope this helps some people.