CFEclipse: How Are You Setting Up Your Dev Environment?

My bud Joe Danziger keeps telling me that I need to jump to Eclipse to get some serious productivity gains. I do actually have the latest version installed but one of the things that has been holding me back from using it is the abysmal FTP support included in Eclipse. For example, using the CFEclipse perspective, I can go to the File Explorer View and define a FTP site. When I try to access it, I wait and wait and wait and wait and wait and then get a java lang null pointer error. WTF?!? In contrast, I spark up CF Studio, select my FTP profile and my dirs immediately come up.

Using CF Studio's FTP connectivity has been a mainstay in my development routines for as long as I've been coding in CFML. So not having that option is a real let down. So I'm going to ask my fellow CF'ers how you setup your CFEclipse environments. Do you use FTP or do you develop locally? Are you using SVN? If so, how is your dev environment setup?

I look forward to hearing your feedback and maybe I'll read something that can help setup a scenario where I feel I can be effective with CFEclipse.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Jim Priest's Gravatar CFEclipse + Subversion + Ant = unbeatable combo!

Everything is stored in a remote Subversion repository. I develop on my local workstation and use Ant to push files out to development or production.
# Posted By Jim Priest | 6/18/07 9:17 PM
Chris Phillips's Gravatar I always develop locally.
And I think you should get the Aptana plugin for Eclipse. Then, you'll have good CSS, JS and HTML support. Plus it has Synchronization support via FTP. At a minimum, my Eclipse installs have CFEclipse, Aptana, and usually Subclipse.
# Posted By Chris Phillips | 6/18/07 9:33 PM
Rey Bango's Gravatar @Jim: When you say:

"Everything is stored in a remote Subversion repository. I develop on my local workstation and use Ant to push files out to development or production."

Do you mean that you have a complete copy of the remote files on your local PC? I'm trying to get more detail about the actual setup to see how I should consider setting mine up. Are you running CF locally on your deskpt or on a local dev server? Also, how do you configure Ant to push the files out? Is there a tutorial somewhere i can look at?

@Chris: Thanks for the feedback. I installed Aptana awhile ago because it just has the best suite of JS/Ajax/DOM editing tools. Its very cool. How does the Synchronization support via FTP work?
# Posted By Rey Bango | 6/18/07 9:52 PM
Chris Phillips's Gravatar Rey,

It's pretty easy. Just right-click the project and choose "Create New Synchronize Connection" from the Synchronize menu. Then you put in your FTP info (including the path if it's not in the FTP root). Test and save that. Then just right-click the project again and choose Synchronize->Synchronize and choose Upload or Download or Both. Then click "Preview" and it will show you what needs to go up or come down. If it looks good you choose "Synchronize". That's the basics. You can get or push files individually from the Synchronize menu also.
# Posted By Chris Phillips | 6/18/07 10:24 PM
Jim Priest's Gravatar All project files live in a remote SVN repository. I create a new project in CFEclipse then use Subclipse (or TortoiseSVN) to checkout a working copy to my local machine. Oracle scripts are also kept in SVN (and checked out to my workstation via a SVN external property). Workstation (Windows XP) has ColdFusion running locally. I can connect to our remote development Oracle instance from my workstation.

I've have several Ant scripts to build and populate my database (so I can go back to a known state at any time) and I have an Ant script which checks out a copy of my files from SVN (so I know I have the latest), writes the SVN version and date in my application.cfc, removes any files that don't need to be on the server, and copies everything over (and finally mails me a log!). Takes about 20-30 seconds (we do everything over the network locally so things are pretty quick) and there is no guessing if I forgot something or uploaded the wrong file. If I botch something - I can push up a different version from the repository.

I have a lot of Ant info on my wiki - if you have questions - let me know!

http://www.thecrumb.com/wiki/Ant
# Posted By Jim Priest | 6/18/07 10:24 PM
Jason Holden's Gravatar All my source files are in a remote SVN server, which doubles as my remote development server. I have CF and SQL running locally. I use Subclipse and TortoiseSVN to interact with the remote SVN server.

I write and test my code locally and the check it into the SVN server. I use TortoiseSVN on my remote development server to synchronize my source code. This could be automated with some ANT scripts, but I haven't been motivated to write them. Once I'm satisfied that my code is ready for production I use Beyond Compare to publish from my remote development server to my live server.

The caveat here is that I have complete access to my remote servers via RDP.
# Posted By Jason Holden | 6/18/07 11:07 PM
Rey Bango's Gravatar Thanks guys. Again, having worked via FTP to a remote server for so long, I find it so odd to hear folks saying that they're working locally and using CF & SQL Server on their local desktop. It sounds like everyday, you pull down a fresh version of the remote code to ensure that you have the most recent updates. How does that affect the working copy of the code that you checked out from SVN? Or do you make sure to check everything in before EOD?

@Jason: The way you describe your "remote development server" actually sounds like a staging server for testing purposes, especially since you mentioned that you code locally. Is that the case or do you actually use that server for development?
# Posted By Rey Bango | 6/19/07 12:18 AM
Matt Walker's Gravatar I'd love to see a solution that involves working directly on a remote server as well. Our site and developers are such that working via (S)FTP on a centralized remote development server is much more effective than maintaining a CF dev server for each developer on their local machine. We currently use Dreamweaver/CF Studio to mount the remote dev server via FTP. The FTP aspect of that setup works great, but I'd love to be able to use CFEclipse as my IDE. There's always the option of using third-party software like WebDrive to handle the FTP operations, but past experience has shown that to be problematic as well.
# Posted By Matt Walker | 6/19/07 4:14 AM
Jim Priest's Gravatar Yes - using Subversion we practice a 'commit early, commit often' routine here - and everyone should commit at EOD. Using Subversion and Ant I don't have to worry about accidently deleting files, forgetting to upload files, guessing if I have the correct file, etc. I've developed and deployed using FTP in the past and done all of those... :)

The more I can automate things and think less about them - the better. Push a button - go get a soda, done!
# Posted By Jim Priest | 6/19/07 8:19 AM
Erik-Jan Jaquet's Gravatar I too have struggled with FTP and Eclipse. But then I came across a blog post somewhere that mentioned that the FTP server that you are trying to connect to, must have a UNIX directory listing instead of a Windows one. Just right-click on your FTP site in the IIS manager, go to Properties - Home Directort and click on Directory listing style: Unix. When I changed that in the IIS ftp settings, it worked like a charm. I now use FTP/Webdav with Eclipse to sync my projects... Maybe this will help you too?
# Posted By Erik-Jan Jaquet | 6/19/07 11:22 AM
Tom Cornilliac's Gravatar I use the Aptana plugin for FTP support and synchronization inside Eclipse. It's free and it works quite well.
# Posted By Tom Cornilliac | 6/19/07 11:26 AM
Jason Holden's Gravatar @Rey: Yes you could definitely call it a staging server, but usually when my code works locally it works on the production server. So unless I just want to test how my code will behave on a Win2k3 server box I publish it immediately. We have only two developers on my team so it makes managing builds and code pretty easy. As the team grows larger it will require some formal processes and some automation.
# Posted By Jason Holden | 6/19/07 12:36 PM
Rey Bango's Gravatar Thanks so much for the feedback guys. I really appreciate it. I'd like to setup a SVN repo on my remote Win2k3 server. Anyone have any good links to setting up Subversion on Win2k3?
# Posted By Rey Bango | 6/19/07 12:47 PM
Jim Priest's Gravatar Rey - installing Subversion is fairly straightforward - the 1.4.x versions now include running SVN as a service - that used to be a pain in the older versions. The first decision you need to make is how you want to access the repository - via svnserve or http (Apache). Pros and cons to each method. I'd recommend reading the online Subversion book first: http://svnbook.red-bean.com

I also highly recommend people download and install TortoiseSVN and read their help file - VERY well written. Especially the "Daily Use Guide". They also have a good section on setting up a server.
# Posted By Jim Priest | 6/19/07 1:05 PM
Matt Walker's Gravatar Thanks to those who recommended Aptana. The SFTP client included with Aptana blows away the Eclipse client that I had used in the past. It's actually quick and responsive for working directly on a remote dev server. A vast improvement. Cheers!
# Posted By Matt Walker | 6/21/07 12:59 PM
tyGos's Gravatar I just downloaded Aptana from www.aptana.com, not the eclipse plug-in.
Mainly because of the screencasts on www.aptana.tv
Now I find out there are plug-ins for Aptana, and they are suing the Eclipse plugin architecture.
Quickly becoming confused, but I'ld like to thank Matt Walker for one, in his post directly above this for confirming Aptana's FTP utilities blow away the Eclipse client.
The problem with the plugins for a newbie is 1. you don't know what's already been added to the native functionality of the product, and 2. Installing too many thing's quickly becomes "too much".
It looks like the IDE's are ultimately extendable, that's a very good thing.
# Posted By tyGos | 10/23/07 1:41 PM
Derek's Gravatar Hey Rey,

I am in the same old school thinking like you. I've always developed like we did at ediets. Even here I do that.
But it's time to stop. I want to jump on the SVN, dev local, SQL remote bandwagon. I use DWCS3 cause I really don't like eclipse, but it seems it's the way to go.
I dunno. Stuck in my ways. I have all my snippets setup etc. arghh!! meh! I dunno.

D
# Posted By Derek | 2/14/08 12:09 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.