Forum OpenACS Development: Re: OpenACS: the core and the packages/plugins

Collapse
Posted by Antonio Pisano on
Thanks for the pointers.

So it seems that the callback implementation is detected as existing, but then returns null when it is actually invoked.

If one looks at: https://openacs.org/api-doc/proc-view?proc=callback&source_p=1

There are basically two ways this can happen: no command is found in the prefix ::callback::${callback}::impl, or the command returns the empty string.

There is little chance that the empty string is returned, as this particular callback implementation returns a constant:

https://openacs.org/api-doc/proc-view?proc=callback::search::driver_info::impl::tsearch2-driver&source_p=1

https://openacs.org/api-doc/proc-view?proc=tsearch2::driver_info&source_p=1

hence I suspect that for some reason we do not enter the foreach that says: "foreach procname [lsort [info commands ${base}::$impl]] {" in the call to "callback".

Would you be so kind to check whether this is actually happening? Just insert a debug in the loop and see if the tsearch-driver callback implementation of the search::driver_info contract is found.

If this happens to be the issue you have much more than a broken search on your hands, basically the whole callback machinery would be broken. Let's just see if this is really the case and we can work from there.

Thanks in advance

Antonio