I have entered this feature request to be able to satisfy the following use case:

Use case (as described in support request [1]:
A company is structured into departments. Each department has their own Space. Department employees are Space members. Department management is responsible for managing membership of the Space.
A department will publish information in this Space that is public to the company. Each department will also publish information that is to be read only within the department. The department management will have their own set of pages that only they can read.

This results in the following setup:
One Space per department
(1) A public section within this space
(2) A section accessible to the whole department but not to the rest of the organization
(3) A private section accessible to only department management

This can be currently realized as follows:
(1) - create a public Section in the Space, no access restrictions
(3) - create a private Section in the Space, add department management as a Team to the access restrictions of this section

However, there is no easy way to realize (2), restrict a Section to all the members in a Space.

Schematic: [2]

Workarounds:
There are some workarounds, which I described in [1]. Furthermore, John gave me another workaround in the same article. However, these workarounds all introduce an extra level of complexity (either a subspace, or a Group that overlaps with the Space, or a Team that overlaps with the Space), which complicates administration for department management. This is unnecessary, because the target audience is already known (Space members), and security therefore can be enforced through the 'Group Content Visibility' field.

Proposed solution and feature:
I propose

  • to add the 'Group Content Visibility' field as a default to the Section Page content type
  • can be modified to select Public or Private
  • to add the 'Group Content Visibility' field as a default to all content types that are Section Nodes (like Discussion Post and Event)
  • default value inherited from the parent Section
  • fixed value, inherited from parent Section, so that if parent Section is changed from Private to Public, the Section Nodes follow.

If there is any more information I should provide, please let me know.

Thank you,
Mark.

====================================================================================


Further information
:
The mechanism of inheritance was mentioned in [3] for oa_section_ref.
The proposed solution should also work for custom Section types as described in [4]
A similar use case (without solution) was described in another issue [5]

References:
[1] Original question:
Structuring public and private sections within a space
https://www.drupal.org/node/2303885

[2] Attachment:
Functional diagram
https://www.drupal.org/files/issues/PrivateSpacesv001.png

[3] Mechanism of inheritance (oa_section_ref, reference to oa_section_context.module):
'Add section content' block does not pass source section to node form
https://www.drupal.org/node/2174981

[4] Custom content types:
Custom Content Type for Section Page
https://www.drupal.org/node/2194565

[5] Possibly related:
Best practice on sharing private content with the general public
https://www.drupal.org/node/2313351

Comments

cpdp’s picture

Issue summary: View changes
cpdp’s picture

Issue summary: View changes
mpotter’s picture

This is on the roadmap. The way we intend to implement it is similar to what was done in the Notification widget to notify all members of a space. Basically we just add the Space itself as the first "Group" in the Group dropdown list of the Section Visibility. Groups and Spaces are both Organic Groups, so the functionality that allows Group members to access a section would work just the same for allowing the Space members to access a private section. There isn't any need to involve the complexity of the OG Group Content Visibility since the current Section visibility access already handles all of this.

cpdp’s picture

Hello Mike,

Thank you for your response. I agree, that would work perfectly for my use case. Happy to see that this is on the roadmap.

Kind regards,
Mark.

dargente’s picture

I'm looking for this feature as well. For some reason the Group choice in Section Visibility allows for Group Groups to be selected, however it doesn't provide the current Space Group as an option. I have the same case as above; Public Space, but wanting to allow certain Sections as Private.

Are there any patches or has dev version been updated?

Thanks so much for the Open Atrium project!

cpdp’s picture

Hello everyone,

any progress on this feature request? Apologies if I have missed this in an update.

Thank you,
Mark.

mpotter’s picture

Sorry, but this is still in the backlog and has not been implemented yet.

mpotter’s picture

Status: Active » Fixed

Actually, this turned out to be relatively straight-forward so committed it to 3c3407f for the next 2.30 release :)

In the Groups visibility field you'll see a new option at the top called "- All space members -"

cgove’s picture

Awesome! Thank you for this.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

paean99’s picture

In the Groups visibility field of a section (when editing or creating it), i don't see the option 'All space members' mentioned in #8 (default OA theme in OA 7-x-2-612).
Is it still an available feature?

mpotter’s picture

I think this changed in v2.6x so instead of "All space members" you actually enter the name of the space itself.

paean99’s picture

... instead of "All space members" you actually enter the name of the space itself.

Just did a very quick test and it seems to be ok.
Thanks.