Similar to http://drupal.org/node/830748, except I'm trying to take a different approach...
I'm using node relativity and node relativity access control to establish parental relationships. I've also added node access user reference, allowing the ability to add users to the parent nodes via a cck field to have edit or view ability, and this cascades the relationship appropriately to the children. Add another layer with workflow states, but this much still works, allowing users that have access to the parents also have access to the children nodes in the appropriate workflow states.
When I incorporate workflow fields, it breaks. The users who have access to the parents can still edit the node, but all fields are missing because workflow fields doesn't recognize them - it only recognizes users defined by node access user reference fields that are added to the child node.
What I think may be easiest to do at this point for my project is to say if a user has node access user reference type "Editor" for content type "parent", I want to give that user the node access user reference type "Editor" for the content type "child". I tried just using the same existing cck field in the two content types, but the system is too smart and knows that parent->editor is not the same as child->editor.
Can you offer any ideas on how to force the equality for my users? I tried Rules but couldn't find a way for it to recognize parental roles. I even tried to set up a clumsy way to offer all the parent users as default values for a duplicate node access user reference field in the child, but I couldn't get that to populate properly. I'm grasping at straws and can't find any more ideas... Any help at all would be appreciated.
Comments
Comment #1
oda commentedHi cindyr!
The relativity access module copies the node access records from parent to its children. So in theory it will be transparent to other modules.
Note that relativity access works in node level and it does not deal directly with fields.
Anyway, I have never used workflow fields and I dont know how it works, so I have to install it to try out, learn, reproduce the error and then try to help you. Maybe we can abbreviate this steps if you send me some screenshots ;)
Comment #2
cindyr commentedHello. Sorry for the delay. I tried a multitude of ways around it and finally found one. You are exactly right, relativity works at the node level, not the fields, and that was my problem. I needed to carry field permissions from one content type to the next, and they had different fields, so that couldn't possibly work. What I ended up doing was setting up rules, when a child node is created, it goes and looks at the users in the cck user reference field of the parent, then adds them to the user reference field in the child. It's not quite as nice as I'd like, but it's functional.
Thanks for your offer of help, but don't worry about it.