I'm trying to understand how to create a moderation queue that is content-type and category aware.
My problem is that I'm a number of 'editors' each in charge of moderating a section of the site.
When a story tagged with a term is submitted I'd like it to be moderated by the editor in charge of
moderating that term. I want to have only one user role for editors and I'd like to have a simple UI to
associate users to terms and content types. Moreover since these editors can change often, I'd like
to have one role with permission to update this list.
The work-flow should be:
- a contributor submit a story associated with a term that is not-published and in moderation by default
- an email is sent via the action module to the editor(s) associated with this content type and term
- by using the modr8 module, the editor associated with this term has access to the moderation
queue containing this particular story
- the story is approved, and email is sent via the action module to the author, the story status is changed
to publish.
I'm thinking of writings a small module to implement this UI and then use the ACL module to change
permissions accordingly (basically a node in moderation should only be visible to a specific group of
users/editors).
My question:
- Is this a good way of attaching this problem ?
- Is the ACL module the right tool to restrict visibility of node in this scenario ?
- Do You know of any module that already implements this functionality ?
- Can I do the same without writing any code and by using cck, views and tac in a simple way ?
- Help :) ?
These are a number of associated posts:
Content Moderation by Category - http://drupal.org/node/123542
Limiting Moderation by Category - http://drupal.org/node/125622
Limit moderation queue by category - http://drupal.org/node/130934
Comments
changing the behavior of Modr8
responding to your comment: http://drupal.org/node/125622
Here's one easy(?) way to do it, perhaps:
Implement a small module with hook_db_rewrite_sql and an admin interface to associate moderators with categories and/or node types. Then, only rewrite queries for users with the moderator role (e.g. orthogonal to the modr8 rewrite) based on the associations stored by your module.
Another alternative is to use hook_form_alter in a custom module to remove items from display in the moderation queue if a particular moderator should not have access. This has the downside. however, that the count of items in the moderation queue will appear to be wrong.
I'm not familiar with the ACL module, nd from the description it's not clear that it will do what you wnat.
I really don't think there is any way to do what you want without a custom module. If you can't code it yourself, you could offer a bounty or contract to get someone to do this.
---
Work: BioRAFT
Workflow or Taxonomy
I tried to do something similar with Workflow. I also wrote a custom module called Taxonomy Steward that allows you to assign people to a taxonomy term, and even allows the assignment to be cascading (applies to all nested terms). I haven't yet figured out the Actions integrations, so that the assigned Steward can be sent an email automatically, however.
Workflow has some things going for it, but unfortunately the access restriction component (workflow_access) hasn't been updated for Drupal 5 yet. I tried creating a modified version of taxonomy access, but so far I haven't been able to get it working properly.
How have you used ACL? It looks like it's intended as more of an API, did you write your own module to implement it?