Not a bug Permission issue - Inherit not inheriting the Yes above it

beerForo

Well-known member
Affected version
2.1.5
I am following XF logic of:

No + Yes = Yes
No + Never = Never
Yes + Never = Never

But "Inherit" is not working properly in one situation.

Scenario: A member in primary group Registered is promoted to secondary group Promoted after one post. This post is in the only child node they should see (an Introductions forum), all others they should not. However since they are in both groups after, the No is winning over Inherit so all members in any secondary groups cannot see them unless you go in and check Yes for each group, each node. And Inherit should work.

Example:

At the group level I have both groups (Registered and Promoted) set to View Nodes, Yes. Okay now node permissions:

Category #1 (I have Registered set to Yes, and Promoted set to Yes, also tried Inherit since group is Yes.)
Child #1 (I have Registered set to No, Promoted to Inherit so it inherits the Yes from the parent (category), but the permissions analyzer result is No.

Example A
Permissions analyzer:
View node
No (Details)
Registered Yes
Promoted Yes
-- Child #1 - Registered No
END
(Does not show Promoted's permission here when on Inherit, and is not inheriting the Yes from Cat #1 or the group level, tried both.)
-- Child #1 - Promoted Inherited (Yes) this line is missing, I simply typed it so you could see.


It doesn't list the Promoted group in the child, but I have it set to Inherit, so it would be inhering the Yes from the parent. The only way I can get it to work is to set the child to Yes for the group Promoted, but Inherit should work.

Example B
Permissions analyzer:
View node
Yes (Details)
Registered Yes
Promoted Yes
-- Child #1 - Registered No
-- Child #1 - Promoted Yes (Why doesn't Inherit work here since the parent is Yes?)

Summary: Example A should result in Yes, since the child (forum) node should be inheriting the Yes from the parent (category) node.

So for those with a lot of nodes and groups this is a huge issue, since every group has Registered as the primary... so instead of inheriting (default value) a Yes from a top category we have to go through each group in each child node and say Yes.
 
Last edited:
If you have nodes at one level only it works. It inherits from the group level. So a forum node with no category as a parent.

Group settings:
View node
Registered No
Promoted Yes

Forum 1 settings (as a forum node, no parent or category as parent)
Registered Yes
Promoted Inherit
The Registered group and the Promoted group can both see this (correct)

Forum 2 settings (as a forum node, no parent or category as parent)
Registered Inherit
Promoted Inherit
The Registered group cannot see this, the Promoted can (correct)

The issue is getting the child to inherit from the category level (or from the group by using Inherit in category) or any forum hierarchy. It does not take effect. Thanks
 
Last edited:
Some points that I think are relevant:

1) You don't need to set any permissions on the category because, as you rightly pointed out, the default for the group is to view all nodes anyway.
2) By setting the forum to "No" on the Registered group that correctly prevents anyone in the Registered group from accessing the forum.
3) Inherit from a parent node cannot override the "No" from a group in the current node.
4) Therefore you need to set the Promoted group to "Yes" which would override the "No" from registered.

Taking all of that into account members of the Promoted group will see the forum.

1576503806740.webp

Members not in the Promoted group will not see the forum:

1576503844770.webp

So realistically, I'm not seeing what you're reporting here and it is working as expected.
 
3) Inherit from a parent node cannot override the "No" from a group in the current node.
4) Therefore you need to set the Promoted group to "Yes" which would override the "No" from registered.

But Inherit does work if there is no category to pass through. I didn't have this issue when I had forum nodes only, no parent. In the forum node, Registered was No, Promoted was Inherit. In this scenario they can see the forum when in both groups as it inherits the Yes from the group. I then added a category as a parent and it denied it when trying Inherit and Yes. So why would it work in nodes without parents?
 
That just wouldn't be how it works and, indeed, if I move my current "Main forum" out of the category and change "Promoted" back to inherit, the resulting view node permission is "No" on the basis that view is revoked for the registered group.
 
This is the way I had it:

Group:
Members No
Promoted Yes

==========

Forum Node A:
Members Yes
Promoted Inherit
(Both groups can see; correct)

Forum Node B:
Members Inherit (can't see; correct)
Promoted Inherit (can see; correct)

Once I added a parent, no go.
 
Yes, that would be the expected result.

In this scenario Inherit works because there is nothing at the same level to override it.

In the other scenario you have Members set to "No" so that overrides the Promoted set to "Inherit".
 
I guess I misunderstood inherit. I always thought it was taking what was above it in which case a Yes which would override the No next to it.
 
Back
Top Bottom