Hi,
Thanks for a great module!
This problem is related to/a continuation of http://drupal.org/node/266960 : The same warnings etc.
I use HS content taxonomy to provide free tagging vocabulary. I enabled caching (admin/settings/performance) and set the minimum cache lifetime to 6 hours. When I tried to add a new term to the vocabulary I got the warnings below. In addition, after the new term is added the HS widget rearranges itself in the form page and is no longer use-able.
* warning: Missing argument 1 for drupal_retrieve_form() in /includes/form.inc on line 179.
* warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, '' /includes/form.inc on line 218.
* warning: uasort() [function.uasort]: The argument should be an array in /srv/www/creedia.net/includes/common.inc on line 2263.
This happens with and without the patch http://drupal.org/node/266960#comment-1381526
Disabling the cache doesn't help. The only work around I found is to set the min cache lifetime to none.
A few comments:
Drupal's cache_get resets the cache even if the caching mode is disabled, triggered by the call from HS hierarchical_select_json. That is, if you enabled the caching_mode even once, the cache_flash variable is for ever non-zero, and therefore cache_get will assume the cache is enabled and reset it. This rather strange behavior makes it much harder to detect and understand what is going on, as by default in a fresh install the bug above will not happen.
When a new term is added, the first ajax call successfully adds the term. The second ajax call, which I think is supposed to retrieve the information of the newly added term returns with a null ajax response that causes the HS wizard to malfunction. hierarchical_select_json doesn't find the form parameters in the cache, although the form id etc are all correct. I think the cache is reset during the processing of the first ajax call, but I didn't go as far as understand what exactly is happening there.
Best,
Bluetegu
Comments
Comment #1
wim leersI don't understand how the page cache could ever affect HS. "min cache lifetime" is a page cache setting, not a setting that applies to every cache. So unless you've got a custom page into which you're rendering a form with HS for anonymous visitors — in which case you should disable caching for that one page — this cannot be happening.
Comment #2
wim leersClosing due to lack of response.