Extending Coldbox configuration

Is there any reason that I should not be able to extend Coldbox.cfc? In this SaaS application, when a site is loaded (via unique url), the local-to-that-site extends the “core” Coldbox.cfc and has a config function in it that first kicks off super.configure(). Local-to-that-site, after launching the parent configure(), I then override any coldbox structure keys unique to that site…and the most important one is to set the convention and ExternalLocation varaibles…but the error I get says:

No handlers were found in: c:/htdocs/mysite/handlers or in . So I have no clue how you are going to run this application.

(cute error message by the way).

Notice the “/handlers or in ???” Obviously there is something missing there. with debugging turned out, I traced the problem down to HandlerService in CB core, where

if ( ArrayLen(HandlerArray) eq 0 AND ArrayLen(HandlersExternalArray) eq 0) {…error goes here }

the “local” site does not have any handlers right now…all the handlers from my core SaaS code can run the entire application. But I don’t know why for sure it no find my handlers. In my first versions of testing, the entire coldbox configuration cfc was duplicated in the “local” site and it worked…so something about the extend is not working or I’m overlooking where / what I’m supposed to set to use extended locations properly in this scenario.

Anyone try extended coldbox.cfc before to set “global” values to override?



Ok…so I’m only able to guess as to why this is…but in the scenario which I laid out in this topic, I found that by changing the variable names, I seemed to have gotten rid of the error…I THINK this might be because some is triggering after the super.configure() that resets some configuration options?

Anyway, what I found based on the error message, the value that was being sought was “handlersExternalLocationPath” but the variable in coldbox.cfc is “handlersExtenralLocation”. So in my original coldbox.cfc (the one that extends the core) I override like this:

function configure() {
coldbox.handlersExternalLocationPath = “/whatever”;

and it works…or I should say, the error goes away and I’m to my next problem.

Has anyone else experienced this or understand why this is the case? Thinking that I should be able to extend anything, I would expect that super.configure() would set up the original coldbox struct and then I could override it in my configure() with whatever I want.