Using CFBuilder with Railo
With the release of ColdFusion Builder, you may be thinking that you're excluded from using it with Railo. You're not. The only thing you can not use is any of the RDS tools inside ColdFusion Builder. Railo does not and will not ever have an RDS implementation as it's Adobe proprietary stuff. So, why would you want to use CFBuilder? The code completion, cfml scripting support and even CFBuilder extensions work just fine. It wasn't always the case. During the CFBuilder beta, any time you used the extensions CFBuilder would complain that the server is not running. Prior to the 1st updater, in my testing and limited memory, CFBuilder extensions weren't working at all. However, my memory may be faulty.
Yesterday, Raymond Camden gave a cfmeetup presentation on CFBuilder extensions. After it was over, I got curious and attempted using the extensions again with Railo and found that it was working correctly again and also, there's no prompting that the server is not running. So, I thought I'd write up a blog post on how to set this all up. You'll need CFBuilder installed (standalone / plugin, makes no difference).
You'll need Railo installed as well. I highly recommend you create a create a separate context of Railo away from all your other contexts. When you download the available extensions to use (and, there are a ton of them available at Riaforge.org), CFBuilder will want to install them on the server. So, rather than overpopulating an existing context, by creating a new separate context you can keep all the extensions isolated.
So, for example, I created a host named "extensions." I did this by editing my 'hosts' file (c:\Windows\system32\drivers\etc\hosts) and adding extensions after 'localhost' and saving the file. I then added 'extensions' to my apache httpd-vhosts.conf. I also added the 'extensions' information to Tomcat's server.xml file as well. Restart Tomcat when you're done and you should have a new railo context and you'll be able to browse http://extensions/ if you've setup everything correctly. One server setting thing to note, you should not use J2EE sessions on this context, leave it on the default CFML sessions.
At this point, you're ready to connect CFBuilder to Railo. Open up the server tab and click on the 'Add server' icon.

I filled in Server Name with "Railo" and left description blank. I changed Application Server to "Other" and filled in "extensions" for Host Name. Make sure that "Is Local" is selected. I clicked on Finish. You will get a prompt that CFBuilder will not be able to start / stop the server. This is correct. Using CFBuilder with Adobe's ColdFusion server allows you to connect remotely to the server via RDS to start / stop the server. Railo does not have RDS and will not be able to use that service.
To test that everything is going to work correctly, I recommend downloading the RiaForge Downloader. Download the zipfile to your machine, then go to the Extensions tab. Click on the plus sign, browse to the zip file you just downloaded. Click "Open" and wait for the first prompt of the extension details. Click Next. Accept the license agreement (remember, you agree that Ray gets Australia if you're using it for nefarious purposes). Hit next. Select Server, choose Railo or whatever that you named your server. Hit Finish.
Right click on any folder in your project view, you should see one of the menu options of your right click menu is now "Riaforge." Go down to it and click "Download from Riaforge." If everything is working correctly, a window will appear and prompt you for a category. If it's not working, then you missed a step above or CFBuilder doesn't like you. :(
So, again, using CFBuilder with Railo, you get code hinting, auto-completion, extensions, cfc introspection / insight... all this stuff works. RDS does not. This also impacts flex development if you use the RDS tools a lot.
Rand wrote on 07/06/10 12:45 PM
As a side note, I had to change your suggestions just a bit. I had to make sure to check "Is Local", and for the hostname, I only used "extensions" (Note I left out the http:// portion) before CFBuilder would recognize the server as "running".Todd Rafferty wrote on 07/06/10 1:19 PM
"is local" was defaulted to me so, I didn't make any changes based on that setting alone. Apparently when I put in http://extensions/ it stripped it out and just made it 'extensions' - so you're correct. I'll note the change above.
Rand wrote on 07/06/10 11:27 AM
Great stuff. Followed your instructions, and it's working like a charm!Thanks.