Closed (fixed)
Project:
Taxonomy Access Control
Version:
4.7.x-1.x-dev
Component:
Miscellaneous
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
16 Jun 2006 at 06:16 UTC
Updated:
7 Sep 2006 at 07:01 UTC
It seems every day that I have to go in and turn on the ability for everyone to see items that fall under "Uncategorized nodes."
Is anyone else having this problem?
I really need to be able to set who can and who cannot see certain items on the site. I thought I'd finally found the answer, but not if the permissions are going to re-set every day.
Comments
Comment #1
nig commentedI've had this problem in 4.6.
Its not every day, but it is the uncategorised permissions that seem to un-set themselves with the result that punters can't see uncategorised nodes. The first thing the helpful ones do is to report it to me as a fault (embarrasing). Other punters just go away (worse).
Comment #2
keve commentedCan you check:
After submitting the 'category permission' page, try re-open it again. Does the permissions for uncategorized nodes are checked right?
If above is correct, there are two ways to change the permission every day:
- either the adminitsrator(S)
- or some kind of cron job.
Comment #3
jsimonis commentedI've checked it, and it is indeed checked. Sometimes a few days can go by and nothing changes. Then I'll see a bunch of access denied items in the log, and sure enough it'll be unclicked again.
I guess I'm going to have to find another solution, because something that has to be re-checked every single day isn't worth the effort-- especially when there are is a list a mile long of other things that need doing.
Comment #4
keve commentedI have not experienced anything like that. For me it sounds quite unbelievable.
In category permissions, all other values remain untouched?Something changes its setting in the database: either an administrator or a cron job of another module (I do not know about a module like that at all!).
As you told, it is not only changing the settings (table term_access), but also changes node access values in table node_access.
Are you the only administrator for permissions?
Maybe we can put a watchdog command to your TAC module to log when settings are saved.
Comment #5
jsimonis commentedEverytime it is access to uncategorized items that changes. And it changes for every single role.
I couldn't say for certain that nothing else changes, as there are a large number of categories. As far as I know, nothing else changes, but that might not be the case. I do know for certain, though, that the uncategorized items was regularly affected-- our log would be filled with access errors for the front page, donate page, etc.
I'm the only one who has access to make any changes on that module.
And sometimes days would go by without it happened-- all the while cron ran many, many times.
We finally stopped using the module, as we just couldn't have this kind of thing happening. We finally went to two sites using the same user tables-- one site allows access to nodes for everyone, one is limited to those who have logged in (registrations have to be approved on this site).
Comment #6
amessina commentedI can confirm the described behavior in Drupal 4.7.2.
Comment #7
keve commentedComment #8
keve commentedDoes this fix solved this bug:
http://drupal.org/node/72663 ?
Does anyone have this bug since then?
Comment #9
artem_sokolov commentedI don't know yet, whether it is exactly the bug of this issue, but I have just had similar behaviour -- suddenly all uncategorized node's view permission became unchecked for both anonymous and authenticated users. I noticed after site's logs began to fill with access denied entries. I didn't make anything which may concern taxonomies or access control, was just experimenting with my theme and the views module. There were also no recent cron runs too.
I have only experienced this once (today), may be this will reoccur.
After enabling view premission back I manually restarted cron to see if something changes -- permission were intact.
By the way, it would be nice, if possible, to have a reason described in the log -- which one of the categories or vocabularies permissions denied the access. It took me half a day to figure out that all the involved nodes are actually uncategorized ones, and check the permission:)
PS.
System: Drupal 4.7.0 patched to 4.7.3.
MySQL: 4.1.21
taxonomy_access.module rev. 1.89
taxonomy_access.install rev. 1.5
Comment #10
keve commentedPlease try:
- If you resave given node - does it become accessable to users?
- On category permission page: does 'view' permission for "uncategorized" remain checked after this "bug" happens?
Comment #11
catchI'm also having this issue. 4.7.3, taxonomy access v1.89
I've set uncategorised nodes to "view" for every user role. Every few days the permissions on every one of those roles resets, all users get access denied errors, and I have to go back into each one to reset it manually.
I'm only running drupal standard cron.php and it doesn't coincide with running that.
Comment #12
keve commentedI cannot figure out what event resets the permissions for uncategorized nodes.
(Did you add a new user role, when this bug happened?)
I still cannot regenerate it.
When you experience this bug (but before reseting eg. view permission):
1. can you check if following query output any rows in database:
SELECT * FROM `term_access` where tid=0?2. Does this bug only "resets" uncategorized" permissions ONLY? All other term permissions are untouched?
Comment #13
catchNo
No worries I check that next time.
_only_ uncategorised yes, for all roles.
Comment #14
bluecobalt commentedThis happens to me on a 4.6.3 install I have every time I make a change to any taxonomy vocabulary. It resets all of the Uncategorized nodes permissions for all roles.
I have not been able to recreate this bug in 4.7.3 using the TAC module version 1.89 from Aug 4th.
Comment #15
keve commentedbluecobalt: Thanks for comment! :)
I gave me the clue! When a taxonomy term is deleted, it delete tid=0 rows from table "term_access", instead of deleting the row regarding the given term.
There was an error in hook_taxonomy.
$edit is not an object, but an array. Wow, i wonder how could this bug stayed in the code from the old TAC module!
line 754:
Wrong:
db_query("DELETE FROM {term_access} WHERE tid='%d'",$edit->tid);
Good:
db_query("DELETE FROM {term_access} WHERE tid='%d'",$edit['tid']);
Comment #16
keve commentedI figured out what made this confusion.
In 4.6 in hook_taxonomy:
$edit was an array in 'insert' and 'update', but it was an object in 'delete' op. This was totally illogical.
This changed in 4.7.
Comment #17
catchThanks very much for sorting this so quickly. I applied the changes manually, so hopefully you won't hear from me again!
Comment #18
bluecobalt commentedAwesome! Glad I could be of help. I'm really glad that this bug is now gone. This is an important module for the sites that I'm working on. Thanks!
Comment #19
keve commentedIt seemed for me a very strange bug, it was difficult to find the cause of it.
I hope it's gone completely.
Comment #20
(not verified) commented