In Drupal 6, new caching mechanisms were introduced that cache very heavily. One result of this is that code must specifically exclude things from the cache; the current D6 branch of this module does not do that, so settings get cached. When settings get cached, they do not update properly, so administrators may be confused to find that they cannot change their settings.
I don't know much about this yet, so I can't fix it yet. I don't think this problem exists in the D5 branch, however; and obviously it shouldn't happen with caching disabled.
A temporary workaround, if needed, is to set variables like this:
variable_set('facebook_status_variable', 1); //sets the variable "facebook_status_variable" to a value of 1
Administrators will need to look at the code of the module to determine what variables they can use. The best place is in facebook_status.install because the uninstall procedure lists all the variables so that they can be removed.
Please be aware that if you have just cleared the cache before saving, it may look like the variable has saved even if it hasn't. You can check what the variable's value is like this:
print variable_get('facebook_status_variable'); //shows the value of the variable "facebook_status_variable"
Thank you for you patience, and patches are welcome.
Comments
Comment #1
icecreamyou commentedThis is not a caching problem, and it also applies to Drupal 5. That means I have absolutely no idea why it's happening or how to fix it. But I'm looking into it. Help is appreciated.
Comment #2
icecreamyou commentedThe problem, I think, was a bug in Drupal's built-in system_settings_form function. I wrote some code to manually replace it. In the process of the multi-hour debugging session, I discovered a few other bugs and performance improvements that are also fixed in the latest release.
Comment #3
icecreamyou commented...not fixed, but for the life of me I can't figure out why. I've tried everything I can possibly think of. Any help on this would be great.
Comment #4
chantaspell commentedAm having the same problem. Clearing the cache seemed to solve it, but that's a bit of a pain when you are setting up a new site and want to make lots of tweaks. Hopefully it will be sorted soon!
Comment #5
icecreamyou commentedCan anyone else confirm that clearing the cache fixes this issue? I haven't experienced that, but if it's true then I just need to negate $may_cache in facebook_status_menu to fix this problem.
Comment #6
icecreamyou commentedI cannot duplicate a solution by clearing the cache in either 5.x or 6.x, and $may_cache was already negated anyway.
chantaspell - can you check to make sure your settings actually changed rather than that your browser cached the page with different settings?
Comment #7
icecreamyou commentedFixed locally, will be in the next dev sometime this week.
Basically I had to manually save all the variables that hold the settings; I had tried that earlier but my implementation was flawed.