I hit this strange problem. I installed the audio module, and gave it a taxonomy. However, I could only then access an created audio through user 1. I fiddled with the taxonomy access control settings, but hit a problem where whenever I had the taxonomy control module disabled, then edited an audio node, everyone bar user 1 then was denied access. In frustration, I uninstalled the taxonomy access control module, but the problem persisted and I had to reinstall it just to get access back to my audio nodes! Is there any way I can flush drupal to completely remove all traces of the taxonomy access control module so that this doesnt happen any more?

Comments

mjohn’s picture

I'm using MySQL and Drupal 5.1

keve’s picture

I checked on my fresh install of drupal. This did not happen.
Do you have any other access module installed? OG, TAC lite?

For some reason hook_disable in TAC was not applied when you disabled TAC module. (It should refresh all values in table node_access by deleting saved TAC values).

Try to disable TAC, and then go to see the node_access table. Are there any value with realm 'term_access'?

mjohn’s picture

It is very strange. I uninstalled the audio module after uninstalling the taxonomy access module, and then jsut reinstalled the audio module. Exactly the same problem. Access denied for all except those with permission to administer the audio (from the access control list). As soon as I reinstall the tax access module, correct access is suddenly restored without having to do anything else.

When I uninstall tax access, there are no term_access realms in the database.

I am using no other access control modules.

mjohn’s picture

I found the cause of the problem; the node_access table had changed to have individual entries for each node, but no new nodes were being added in: i.e. nid's 1 to 20 had entries, but when nodes 21 & 22 were created, they didnt get any.

I deleted everything from this table and simply put in:

+-----+-----+-------+------------+--------------+--------------+
| nid | gid | realm | grant_view | grant_update | grant_delete |
+-----+-----+-------+------------+--------------+--------------+
| 0 | 0 | all | 1 | 0 | 0 |
+-----+-----+-------+------------+--------------+--------------+

Can you tell me if this is the correct thing to do, and was the taxonomy control module responsible for changing this table in the first place? Want to make sure that I've solved the problem, and not just circumvented some other issue!

keve’s picture

Yes, you did it right.

When disabling TAC, node_access_rebuild() should have been done this.
(Only node.module can write into table node_access).

cpugeniusmv’s picture

Status: Active » Closed (fixed)