My current Users Roles are:
Writers
Editors
Publishers
I am trying to set up Drupal so that only Writers can write articles but they can not publish them.
I want an article, once written, to then have to wait for an Editor to edit it before it can be published by a Publisher. I also want the Writer to be able to make changes after the Editor edits it which will require it to be edited again before it can be published.
Try as I might I can find no way to do this or to even give Editors the ability to view unpublished material without giving them access to “Administer Nodes” which comes with a few other things Editors should not have access to.
Can anyone give me any tips on how to accomplish this and/or point me to a good tutorial on the workflow module.
I am using Drupal 4.7
Thank you.
Comments
You'll probably need to use
You'll probably need to use the workflow module to do what you want. Lullabot recently did a screencast on how to use actions and workflow together (I haven't had a chance to watch it yet). Maybe you can skim something useful from that.
Thanks
Thanks for the replies. I have tried workflow in the past but never could figure out how to show articles in the workflow to the Editors or Publishers.
In other words I log in as a writer and post an article. It then disapears. There is no way for the Editor or Publisher to see it. The admin can view it under "content" and see that it is unpublished but I can not figure out how to let the people who need to see it actually see it and work with it.
Can anyone tell me how I notify Editors and Publishers when there is an unpublished article in the moderation queue? I would assume they are supposed to get a link or a block somewhere but I can not figure out how to enable this.
If I give them access to "administer workflow" they can actually change how it works, this is not what I want. I just want them to be able to Edit and Publish.
Thanks.
This is something you might
This is something you might be able to accomplish using the simple access, actions, and workflow modules.
Cheers,
Bill
-------
http://www.funnymonkey.com
Tools for Teachers
-------
http://www.funnymonkey.com
also
Also look at node_privacy_byrole.module
--Ryan
--Ryan
Ryan Cross
James Cross Construction Services
Project Management Software
Content Node
I can figure out how to use the workflow module but what I can not figure out is how to give editors and publishers any logical access to its functions. Is the only way to grant them access through the Content Node and if so are there any alternative to the workflow module.
Idealy, I would think, editors should see something (block/link/something simliar to "NEW MAIL" in an email account) ONLY when there is content to edit and publishers should see something ONLY when there is content that has been edited and is waiting to be published.
Does drupal have any way of doing this.
Thanks again for the feedback.
My guess is
My guess would be to create a block under "block administratioin". I'm not sure if workflow creates some blocks for you already (and just need to enable them) or you might need to create your own block, which might require a little php snippet or something
--Ryan
--Ryan
Ryan Cross
James Cross Construction Services
Project Management Software
Excellent question...
I am also looking at doing exacly the same thing, so far no success though.
I'm guessring the workflow module will need some kind of "inbox" where user tasks are put to be completed. Once one of the users with the role X has performed this task, then the task is deleted from their "inbox". This task item could contain a link to the node to be reviewed/approved/published.
If anyone finds out how to do this, it would be great!
I'll keep you up to date on my findings...
Alright i have a "solution"
This solution requires simple_access module and views module as well as the workflow and actions modules.
Using the "views" module, you can create a view with conditions that will display either all nodes that are at a certain workflow state or, all nodes that are not published (The views module is really a very very usefull module).
By doing that, you can use the simple access module to setup access. I also use the taxonomy and taxonomy_access and cck module to create custom types and restrict access to only certain role to create / update / view certain types.
I'm making more tests right now but so far it seems to be working out. It's a pretty complicated setup though, drupal should think about integrating a better security system at the core like ACL so that we don't have to install 5 modules just to get basic functionnalities.
Hope that help!
consider adding to the handbook
in the site recipes section when you are done testing
http://drupal.org/handbook/site-recipes
more permission on a user level is an on going discussion but your sites needs are not someone else's site's needs so getting something elegant that will not kill a servers performance conitnues the discussion. WOuld the permission be user based, group based, node based (we have node and taxonomy based already) but differing needs allow for a far more tailored solution to your site.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
workflow_access?
I am in a similiar situation right now trying to build an Contributor / Editor / Translator / Publisher workflow. na_arbitrator seemed to be the logical choice but I had no luck getting it to work properly - either there is a conflict with permission systems I previously installed & deinstalled or it's simply not working correctly ("You are not authorized to access this page" for everyone but the administrator).
Can you elaborate a little about your taxonomy setup?
I got the same issue here.
Currently it seems only role with "administer node" privilege can see the moderation queue.
Complicated, but I think it works
I produced a solution for a writer/editor workflow and want to share it. It's complicated, so the explanation below may be missing some parts. This assumes you're familiar with the actions and workflow modules, as well as coding a Drupal module. Anyway, here it goes:
I set up a new content type with CCK. Let's call it an article.
I then set up 2 roles under administer/access control/roles: writer and editor. Writers will write articles and submit them for editorial review. Editors will edit articles and publish to the website. Under administer/access control, allow the writer role to create new articles but not edit their own.
I installed the simple_access, actions and workflow modules. These modules. along with some code in a custom module, helped get the job done.
First, I set up simple access. Create an editor group and assign the editor access role to this group. Also, set up simple access to display view, edit and delete selections if a user has the "assign access to nodes" access rights. Finally, go to access control and give the editor role this right.
Now, set up a workflow that is similar to the example workflow given in the workflow.module readme file. This workflow basically allows 3 states: creation, Draft and Approved. Set up the workflow so that authors move the workflow from creation to Draft and editors move the workflow from Draft to Approved. Don't give anyone rights to move from Approved to Draft. Allow the editor user role to see the workflow tab, under Workflow Tab Permissions. Finally, assign the workflow to your article node type.
Now, create a custom module in the usual way. Add the function to send email to a role group, as outlined here: http://drupal.org/node/48738. This will allow editors to receive notification of a new article. Then, add 2 more functions, one which will assist in allowing editors to edit an article, and one which will allow everyone to see the article after it is approved:
NOTE: In the code above, the
gidvalue for the INSERT statements must be the same as your simple access editor group ID.Save it, enable the module.
Now go to administer/actions. Add a new action to email the editors user role group. Also, add new actions for the newly added code from above. Once you've added all 3 actions, go to workflow, then actions. For the transition of creation to Draft, add the actions for emailing the editors and for changing the Simple Access so editors can edit. For the tranisiton of Draft to Approved, add the action to change Simple Access so everyone can see.
Now, try it out. A user in the writer role can create a new article and simply submit it. This sends an email to the editorial group, notifying them of the new node. The article is not accessible by anyone other than the editors at this point. An editor can then login, go to that node, edit it if necessary, then transition it from Draft to Approved. Once Approved, the node is available to all users.
I've been looking at this stuff for hours, so there's a good chance I forgot something here. If I did, let me know.
to 6.1?
Is this applicable to new version?
I want to be complete..ly Drupal Contributor