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

Why does cfide need to be in webroot when using form tag bind on apache with virtual hosts?

New Here ,
Dec 05, 2010 Dec 05, 2010

Copy link to clipboard

Copied

All;

First, if this thread is ignorant let me excuse myself.  I haven't really programmed in Cold Fusion since the DBML days and it was a CGI interpretter running under O'Reilly webserver.  I have been busy in the Java and PHP world.

But I digress, I have returned and I am extremely excited about the features and easy of use in Cold Fusion.  I can do a lot more, a lot faster, with a lot less code = more money and more time.

But,  I just spent almost 3 sleepless days figuring this out and I was wondering if someone could help educate me on this one.  Apologies in advance if this is well documented in the Cold Fusion docs, but I don't read docs, I dive in head first, and usually break my neck.

I am using interdependent <cfselects> with the bind feature to cfcs to populate them.  I have based it on the <cfselect> tutorial, example 2. 

For reference it is here: http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7afe.html

or in your local /cfdocs/

I am using CF under Apache with virtual hosts.  CF 9.  All setup as a dev machine. 

For some reason the <cfselect> binding example 2 worked fine in my apache web root. 

But every time I tried to use the example under a virtual host the test page would find the bindFCNS.cfc but the html <selects> in the output would not populate.  No errors, just no data. 

Copying the /CFIDE/ to the virtual hosts web root solved the problem.  This did not seem like the inductive reason at the time, which is why I spent 3 days thinking it might be the way I was implementing Request Handlers in the Application.cfc or how I was handling OnError as well as other errata and other programming customizations.

So, last ditch I just copied the /CFIDE/ to my virtual webroot on two different apache test/dev virtual hosts/domains and these <cfselect> bind examples are working.

My question is WHY?  Because honestly this seems extremely arbitrary and when I go to production I really don't want to have to deploy the CFIDE in my webroots for each installation of these application.

So, why?

Is there another solution?

How are people managing this?

Thanks

SteeveCannon

TOPICS
Advanced techniques

Views

679

Translate

Translate

Report

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
Guide ,
Dec 05, 2010 Dec 05, 2010

Copy link to clipboard

Copied

Hi there

Apologies if I've missed anything in your post, but as far as I can see this is no different to a Windows server - each Virtual Server in IIS needs a mapping to the CFIDE directory where all the javascript for many ColdFusion ajax functions are stored.

On our Linux webserver, we have this line in the httpd.conf:

<IfModule alias_module>
  Alias /CFIDE "/usr/local/apache2/htdocs/CFIDE"
</IfModule>

Which should automatically create this virtual mapping for you, meaning you shouldn't have to copy the directory.

Again, apologies if I've misunderstood.

O.

Votes

Translate

Translate

Report

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
Community Expert ,
Dec 05, 2010 Dec 05, 2010

Copy link to clipboard

Copied

LATEST

If you look in the source code of your generated document, you'll see URLs that point to /CFIDE/scripts/. There are JavaScript files needed to make the client-side functionality work. You don't have to allow access to all of the CFIDE directory, but those scripts have to be available. You may be able to simply use CFFORM's SCRIPTSRC attribute to point to another location, but I honestly don't know if that will work for bindings - I assume it does, though.

For proper deployment of the CFIDE directory, you should read the CF 9 lockdown guide available from Adobe - this describes how to prevent access to /CFIDE/administrator and /CFIDE/adminapi/.

Dave Watts, CTO, Fig Leaf Software

http://www.figleaf.com/

http://training.figleaf.com/

Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on

GSA Schedule, and provides the highest caliber vendor-authorized

instruction at our training centers, online, or onsite.

Read this before you post:

http://forums.adobe.com/thread/607238

Votes

Translate

Translate

Report

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
Documentation