Coldbox 6 on ACF 2018h10 won't load rest-hmvs template

Description


This belongs in the Coldbox Product - created in wrong folder and cannot move myself

Brand new coldbox 6 rest-hmvc project returns error “Element TO is undefined in ARGUMENTS” when run in Adobe 2018h10 on Windows 10 platform. Attempted on 4 different machines with same result every time.

Use following steps to re-create the issue:

Open command box

  • mkdir chaps-api

  • cd chaps-api

  • coldbox create app name=chapsapi skeleton=rest-hmvc

  • start

  • lucee starts up and shows the api response on the screen as expected

  • stop

  • start cfengine=adobe@2018

  • server starts and gives me an error - error as shown in the attached image.

Loading the site on Lucee 5.3 works fine.
Loading the site with Adobe CF2018.0.10 gives the following error screen:

Activity

Show:
David Belanger
August 26, 2020, 11:54 AM

I can reproduce this issue however I needed to add a “install coldbox@6” after the “coldbox create app” command listed by Ken.

Ken Merkel
August 30, 2020, 10:38 PM

Was able to track down the issue. Altering either the argument name in either the caller or the receiver does fix allow Coldbox to load the Rest module in Adobe CF. A bug was introduced due to a signature change 2 months ago on the Coldbox Platform which was not reflected in the Relax module extension.

Coldbox-platform:

  • file: /systems/web/context/RequestContext.cfc - line 1264 and 1257

  • testing for arguments.linkTo was removed durring build COLDBOX-906 #resolve on July 10th



Coldbox-relax module

  • file: /relax/interceptors/GlobalData.cfc - line 23

  • calls the Coldbox-platoform function listed above but uses the older arguments.linkTo instead of the newer arguments.to syntax.

  • This was added in coldbox-modules/relax approx 4 months ago to fix a state handling issue in the api

I believe the best course is to alter the Relax file to use the new argument name change, however, it would be helpful if someone with more in-depth knowledge of the ColdBox and Relax code can verify that this won’t break other expected functionality.

Searching the entire code base I found these additional locations where linkTo was used in a call the build.link function in the Relax module:

  • modules/relax/views/home/docs/resourcePath.cfm - line 12

  • modules/relax/views/home/docs/resourcePath.cfm - line 19

  • modules/relax/views/home/docs/resourcePath.cfm - line 25

Not sure why the template runs on Lucee but not Adobe.

Luis Majano
October 21, 2020, 8:22 PM

This is now fixed on the rest modules

Fixed

Assignee

Unassigned

Reporter

Ken Merkel

Labels

None

Affects versions

Priority

Critical
Configure