[ColdBox 3.7] Understanding SES route for module with package

I am trying to build an SES link to an action within a handler within a package within a module. When I access the event “candidate:remote.applicationProcess.nearbyLocations” as a URL variable, it works fine. But when I build an SES link it does not work. Here’s the code:

#event.buildLink("candidate:remote.applicationProcess.nearbyLocations")#

The URL generated is:

http://localhost/candidate:remote/applicationProcess/nearbyLocations

The result when this link is accessed is the following framework error:

The event: candidate:remote.applicationProcess.index is not valid registered event.

I have only 1 route setup in Routes.cfm:

addRoute(pattern=":handler/:action?");

Do I need to set up a special route for this event or could this be a bug in the framework?

Thanks,
Micah

If anyone has any advice on this I would greatly appreciate it.

Thanks,
Micah

The event syntax is different from how SES works. With SES, you are accessing a slash-delimited route defined by the entry point of the module. BuildLink() doesn’t do any translation on the “linkto” variable you pass in, it just replaces . with / (assuming “translate” is true) tacks it on to the end of the SESBaseURL. So you basically need to pass in exactly what you expect to end up in the URL

What happens if you do this?
#event.buildLink(“candidate/remote/applicationProcess/nearbyLocations”)#

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Sorry I missed this thread…

I am guessing that without the package path it will work? There seems to be an issue with packages and ColdBox as others have found out along the way, it seems that this is not on the top of Luis’s list of things to fix.

I bumped into this issue as well. In the end I resolved it by setting translate=“false”… not sure if this is the right approach, but it seems to work fine… even with translate set to false, it is still prepending the baseURL, and (in my case, as i don’t have urlrewrite setup on server yet) it is prepending index.cfm/

#event.buildLink('admin/settings.profileevents/edit',false)#

gives me “127.0.0.1/index.cfm/admin/settings.profileevents/edit”. With default of translate=true, it was replacing the settings.profielevents with settings/profileevents, which threw the unregistered event error.