It is currently unclear to us how we should best set-up #Projects and #Spaces with regards to ease-of-use.
In general we would like to have maximum possible visibility for everyone in the organisation, to make people actually work together. In some situations, though, we need to apply more care.
We have three cases of projects:
1. Secret projects
- No one but members (internal or external) shall know about their existence and content.
- With Visible-To:`#this_project` on the Project and a Space with the same Policy, this is easy to manage.
2. Open projects (mostly used internally)
- Everyone in the organisation shall know about their existence and content.
- With Visible-To:`#organisation` on the Project and a //default// Space with the same Policy, this can be dealt with.
- Setting a //default Policy// of Visible-To:`#organisation` for all applications and object types helps to push people to use it.
3. Closed projects (mostly used together with external collaborators)
- Everyone in the organisation and people related to the project shall know about their existence.
- Only members (internal and external) shall see their content.
- This can be dealt with by setting the Project's Visible-To to `Custom Policy(#organisation + #this_project)` and the Space's Visible-To to `#this_project`.
- These projects are usually managed by the employees related to the project.
- Setting a Custom Policy is rather bothersome and not as obvious as setting a Project-style visibility. So what happens here is that people just lock down the Project entirely, as if it was a case 1 secret Project.
Case 1 secret projects appear to be the most simple to deal with, while we would actually like to encourage more openness, i.e. the opposite.
Two solutions appear to me:
1. Simplify the Policy control UI (e.g. Visible-To fields) to make combining multiple projects easier. Basically making Custom Policies more accessible.
2. Allow to define Policy templates (e.g. "open", "closed", "secret" as explained above). If a user selects this from the Policy control (e.g. Visible-To field), he just has to fill in the name of one Project in addition to `#organisation`.
NOTE: I tried to distinguish "projects" as in "things we are working on / working groups" from Phabricator "Projects" by means of capitalisation.