Relation entre node_access GID, les rôles et les flux de travail
Question
Si vous utilisez le workflow, quelle base de données table.field-ce que la carte node_access.gid à? Est-ce que cela représente un rôle, ne représente un sid de workflow (id d'état), ou autre chose?
Exemple:
+---------+------+-----------------+------------+--------------+--------------+
| nid | gid | realm | grant_view | grant_update | grant_delete |
+---------+------+-----------------+------------+--------------+--------------+
| 1234561 | 4 | workflow_access | 1 | 1 | 1 |
| 1234562 | 5 | workflow_access | 1 | 1 | 1 |
| 1234563 | 6 | workflow_access | 1 | 1 | 1 |
| 1234564 | 7 | workflow_access | 1 | 0 | 0 |
+---------+------+-----------------+------------+--------------+--------------+
EDIT: Après @ excellente réponse de Berdir j'ai écrit la requête ci-dessous pour analyser la relation entre node_access.gid, workflow_access.rid et role.rid:
# Establish relationship between workflow, roles, gids, etc.
SELECT
r.name AS role,
r.rid AS w_role_rid,
wa.rid AS and_workflow_access_rid,
ws.state AS has_access_to_state,
wa.sid AS with_state_sid,
IF(ws.status=1,'YES','NO') AS which_is_enabled,
wa.grant_view, wa.grant_update, wa.grant_delete
FROM workflow_access wa
LEFT JOIN role r ON wa.rid = r.rid
LEFT JOIN workflow_states ws ON wa.sid = ws.sid
ORDER BY r.rid, wa.sid
Si quelqu'un remarque une incongruité avec ma requête s'il vous plaît commentaires ainsi.
La solution
En regardant le la source (la fonction workflow_access_node_access_records ()), il semble être le débarrasser, ce qui est l'identifiant du rôle. En outre, il est également défini dans workflow_access_node_grants (), qui retourne les années gid pour un utilisateur donné. Et qui est l'id rôle est pour « workflow_access » et l'ID utilisateur pour « workflow_access_owner ».
Il y a aussi un {} workflow_access table, qui contient des informations sur le rôle a les autorisations pour chaque état de flux de travail. Sur cette base, les subventions d'accès pour chaque noeud sont alors construits.