Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

CF Mappings

New Here ,
Aug 30, 2010 Aug 30, 2010

It seems in a shared enviroment that the cf mappings would be an pain.  If I understand this correctly to have /customer/path/file.html included you would need to create a mapping for /customer/path/ but then if another site uses /customer/path/ without specifing a mapping in the Application.cfc they would end up using that mapping and getting an error because they can't use my files in my folder because of sand box security. Am I correct?

996
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

LEGEND , Sep 02, 2010 Sep 02, 2010

expandPath() will output a full file system path, eg: C:\inetpub\wwwroot\path\to\file.cfm

However a <cfinclude> tag doesn't take a path like that, it takes one of three things:

* a path relative to the current template, eg:

** "file.cfm" if the file with the <cfinclude> in it is in C:\inetpub\wwwroot\path\to

** "../some/other/path/file.cfm (similar to above, just moving up a dir first

* an absolute path relative to the CF root, eg: /path/to/file.cfm

* a absolute path based on a mapping, eg: /mapping/s

...
Translate
New Here ,
Sep 02, 2010 Sep 02, 2010

...


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 02, 2010 Sep 02, 2010

It seems that I am speaking a  different language because nobody responds to my threads. O well I was  able to find out what I was looking for.

My code was

<cfinclude template="#ExpandPath('.')#/design/001/header.html" />

AND

<cfinclude template="#ExpandPath('/design/001/header.html')#" />

I even tried doing a cfset to myPath and dumped the var it said it was right but it still showed the not found error from the cfinclude.

But  it did not like the way I formated it with ExpandPath. It kept telling  me the template could not be found and I needed a mapping for anything  outside fo the directory. So I was able to use the follow to get it to  work. Seems very simple but it was a headache I have no idea why the  others did not work. Any Ideas?

<cfinclude  template="./design/001/header.html" /> (Mine actually looks like this  <cfinclude template=".#getDesign.path#/header.html" /> because I  have the value in a database and I did a query called getDesign)

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 02, 2010 Sep 02, 2010

expandPath() will output a full file system path, eg: C:\inetpub\wwwroot\path\to\file.cfm

However a <cfinclude> tag doesn't take a path like that, it takes one of three things:

* a path relative to the current template, eg:

** "file.cfm" if the file with the <cfinclude> in it is in C:\inetpub\wwwroot\path\to

** "../some/other/path/file.cfm (similar to above, just moving up a dir first

* an absolute path relative to the CF root, eg: /path/to/file.cfm

* a absolute path based on a mapping, eg: /mapping/some/other/path/to/file.cfm, where there is a mapping /mapping pointing to an apporpriate location

I think perhaps also an absolute path from the WEBROOT (ie: if the webroot and the CF root are not the same dir), similar to the CF root example above.  I'm not 100% certain of this though.

As for your initial question, I saw it, but I never use sandboxed environments - I just use separate servers - so I did not know the answer.  However irrespective of sandbox settings, if you have mappings that are not server-wide, I'd make them application-specific in Application.cfc.

HTH.

--

Adam

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 02, 2010 Sep 02, 2010

That makes sense. I am a Server Operations and Support tech for a company that does Coldfusion hosting. I am one of the newer guys to the team and I recently took on CF guy roll for my department. There are some Server Admin's on the server team that know a lot about admin duties but when it comes to coding most of them a lost. I am the only real coding enthiest and get made fun of by the php/perl guys and the asp.net guys. I deal with those languages on a debug/troubleshoot basis only. I have coded in php/perl before though. Thanks for the feedback I think most of my questions are more complicated then most because if I was able to figure it out with the live docs I would not be asking 😉

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 02, 2010 Sep 02, 2010

I don't think ASP.NET guys should be making fun of anyone.

But ho-hum.

--

Adam

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 03, 2010 Sep 03, 2010
LATEST

Seriously... I think its funny.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources