Spaces OG has special functionality in spaces_og_nodeapi() that detects when the space preset changes, and makes sure all nodes in the space follow the group privacy of the preset.
This is fine behavior for public → private settings, OG Privacy prioritizes anything making a node more private.
For private → public this results in making nodes public without regarding for OG Privacy policies.
OG Privacy needs to duplicate the Spaces preset change-check and replace the og_privacy setting of each node based on active policies.
Doing so requires a full node_load() on each node, making it a bit expensive. This should probably use Batch API.
Comments
Comment #1
Grayside commentedWaiting on #901670: Signal Privacy state change in spaces_og_nodeapi() so this can be approached somewhat sanely. (Well, somewhat less insanely.)
Comment #2
Grayside commentedHere's a first stab, doesn't explode the system, but also doesn't seem to do anything.
Comment #3
Grayside commentedhttp://drupal.org/cvs?commit=452084