Hello !
What you are doing is great and I am very interested in its development, although it does not answer my real needs, which (you've understood) are more about "relation access", or so...
Are you considering to grant users that are related somehow to an entity the right to be the only one able to view this entity, the right to edit this entity, the right to administer this entity, the right to be the only one able to create a new relation to this entity (this having to be decided when the relation is created).
Furthermore, for each new relation, its creator could choose to keep or broke
Here, I said "entity" for "thing that can be related" ... i.e. in the following situation : user_Z -> RELATION_1 -> term_A
if RELATION_1 grants exclusive right to relate, user != user_Z cannot create term_A -> RELATION_2 -> node_B
then, if user_Z creates RELATION_2 and specifies that relational rights are broken since RELATION_2, user_Y != user_Z can create node_C -> RELATION_3 -> node_B or node_C -> RELATION_3 -> RELATION_2 but still not node_C -> RELATION_2 -> term_A
Still, author or comment relations maybe a problem... maybe have predicate types ?
Then, I don't know whether to create a new module based on this one or to help featuring it, since Relation is a quite young project. What do you think of this relation access idea ?
Comments
Comment #1
naught101 commentedWe already have relation types, called predicates (like content types for nodes).
Relation access is potentially a good idea, but will not be part of the core project, I think. It should be able to be built on top of relation, but it looks like it could be very complex (I don't really understand your example..).
If you want to build it, that'd be great, and we'd be more than happy to take suggestions for any API functionality you might need.
Comment #2
andyhawks commentedI am taking an initial stab at a Nodeaccess Relation module here http://drupal.org/sandbox/andyhawks/1594688. The code is largely taken from nodeaccess_nodereference since I haven't written an ACL module before.
Currently the Nodeaccess Relation module only allows permission grants to be set per relation TYPE, nod per individual relation entity, and is currently limited to having a user as a source bundle and a node as a target bundle. Actively being worked on is functionally to allow nodes as source bundles and nodes as target bundles.
Comment #3
naught101 commentedThanks andyhawks. Marking this as fixed then. If people need it improved, they can help you, and I will put a link to your module on the relation module front page, if you'd like.