I use Forum Access to restrict certain forums to selected roles. And I use Workflow to set up a moderation workflow for forum topics and comments. (My comments are nodes and not Drupal core comments, thanks to the Node Comments module.)

My problem is interference between the two access modules. In the example whose screenshot is attached, an offensive comment has been placed in the "Under Moderation" workflow state, which only grants access to moderators, administrators and the content author. Nobody else should view this node.

Unfortunately, because this is a "public" forum in the eyes of forum_access, it's granting access to all users.

  • If I change priority so that Forum Access is lower than Workflow, only Workflow will be consulted when determining access, and I will lose the private-forum functionality provided by Forum Access.
  • If I give Forum Access equal priority, Forum Access's access grant will override any lack of access grant from Workflow.
  • If I give Forum Access higher priority, then Workflow will not be consulted, and I'll lose the moderation functionality provided by Workflow.

How can I keep Workflow granting access based on workflow states, and define some forums as private?

Thanks for your help.

CommentFileSizeAuthor
ToPL_1287958301731.png119.42 KBUTAN_dev
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

salvis’s picture

Thank you for posting the screenshot.

Please ask the maintainer of workflow_access to implement hook_node_access_explain(), see #234506: Implement hook_node_access_explain for example.

Workflow_access should remove all of its grants when the node is published, then FA can take over.

dillix’s picture

Issue summary: View changes
Status: Active » Closed (outdated)