ColdFusion mapping names and conflicts

This weekend a reader asked me an interesting question about ColdFusion mappings. Imagine the following two mappings:

  • Mapping /org points to /Webserver/Webroot
  • Mapping /org/foo points to /projects/

He was curious to know if this would work right. The second mapping looks to be under org, but really points to a completely different path. I didn't know the answer to this. Every single mapping I've used in the past has always had a simple name, like /org or /foo.

I whipped up a quick test with two mappings named like the examples above. I put the same named CFC in each, but with different methods. I then wrote a quick script:

<cfset test = createObject("component","a.test")>

<cfdump var="#test#">

<cfset test = createObject("component","a.b.test")>

<cfdump var="#test#">

The results showed that there was no problem having mappings with similar names in completely different folders. ColdFusion treats the mapping name as just a simple string. The fact that one was a and one was a/b didn't imply anything special to the server.

The problem - though - would be that if someone put a physical folder named "b" under the folder that my "a" mapping pointed to - there would be a conflict. Which would win? The mapping. I would definitely recommend having mapping names that did not match up like the examples aboe.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA