[Looking for Charlie's main web site?]

Some hidden gems in ColdFusion Builder 2.0.1 for those who edit via FTP

Note: This blog post is from 2012. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Let me say this up front: I realize that some folks may well decry my pointing this out (hold that thought). But in the spirit of my tradition of pointing out "hidden gems" in things related to CF and CFBuilder, those who may edit files via FTP will want to know that there are some enhancements for that support in CF Builder 2.0.1, now in public beta.

Among the "other enhancements" mentioned at the bottom of the "New Features Notes" (PDF), note a few related to FTP:

  • New Upload On Save option on the FTP connector dialog box to upload a file by way of FTP when saved locally
  • Use shortcuts to perform Synchronize and Upload (Ctrl+Alt+W U)/Download (Ctrl+Alt+W D) simultaneously
  • Take advantage of the shortcut for Synchronize (Ctrl+Alt+W Y)

Those may be big news for some, which might be easily missed, and which are not likely to be pointed out in most posts on what's new in CFB 2.0.1. And some would even intentionally leave them out, so I'm "takin' one for the community" here by pointing these out. :-)

Why some may decry these features

Some folks, reasonably promoting better development practices, will have great disdain toward anyone who works this way, editing files via FTP within an editor, especially against a production server (I never do it myself, but I know many do.)

They would suggest that such folks ought to be using source code control and a process of migration instead, or at least testing locally and then deploying remotely. I do totally understand their position and agree that most folks should have far better development practices.

I just know that some folks may feel they have their hands tied, or they just won't be persuaded to change this approach (or, as Russ Michaels would point out, they may be doing it against a remote development or testing server. That said, I'm sure some would contend against doing that, too, and that people really should have a local development server. I'll address a common argument against that below here.)

Regardless of reason people may want to edit via FTP, my motivation in pointing out the new features related to it is that, if being able to edit via FTP is important to them, then enhancements to that may help motivate such folks to use CFB, and we can hope that over time they'd benefit from its many other features which CAN lead to better development practices.

It's not Adobe who added FTP support

Of course, folks who would decry the approach of editing via FTP would also lament that any IDE/editor would even ever offer such FTP support(!), as it "only enables these bad practices"(!).

To be clear, CFB has had FTP support from the beginning. All that's new is these couple of tweaks.

More than that, I'd point out that it's not Adobe who "added this evil FTP support". :-) The FTP support comes with the Eclipse plugin, Aptana, which ColdFusion Builder has integrated since it's initial release.

I don't know if these new couple of features come with an Aptana update built into CFB 2.0.1 or if they may well have been added by Adobe specifically. They have in fact added their own tweaks even to things Aptana builds in.

Indeed, one reason Adobe does tweak things is that there are certainly folks coming from Dreamweaver or HomeSite who had been used to certain features (including editing via FTP), and Adobe is aware of the benefit of giving them things they want, so that they will move to the many other better features of CFB.

And really, that's the reason I'm pointing out this enhancement to FTP support also: to remove one more obstacle from such folks considering CFB.

Overcoming licensing as a common excuse for editing remotely via FTP

Finally, one of the reasons people often pose for why they "have to edit remotely" and "can't setup a development environment" is the cost of buying CF. (I realize there can be some other configuration challenges also that motivate remote development.)

With respect to licensing, though, there's great news that many miss about free licensing for development (which has been true for years) and for testing servers (since CF9). That's really worthy of its own post, which I will do shortly.

For more content like this from Charlie Arehart: Need more help with problems?
  • If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
  • See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
Sure it may be bad practice to be developing directly against a live site, but the use of FTP does not mean this is what is happening. Most devs are most likely to be testing locally first before the code is ftp'd to the live server.

Also consider that not everyone will be publishing to a live server either, many use it for publishing to a dev or staging server first, which is a perfectly valid and acceptable use for uploading on save.

I know many folks who do not have a local dev server at all, they develop on a remote server, my cfmldeveloper.com users would be one prime example of this as they are developing on the cfmldeveloper servers and do not have cf installed locally, so upload on save would definitely be a useful feature for them.
Russ, I take your point, but then those developers you refer to who "are most likely to be testing locally first before the code is ftp'd to the live server" would not be the ones interested in that first feature I listed, to auto upload on save. It was really that which I had in mind most as what may raise the hackles of some readers. But I see how you could read me as somehow saying "all FTP operations are bad". I definitely did not mean even to imply that.

And sure, if they are FTPing instead to a dev/test server one may argue it's less problematic. I'll tweak the entry to make that point, crediting you.

That said, I'm not sure if your concluding point (about your users on cfmldeveloper.com) is making the same point, or in fact what I was suggesting some would warn against. If you mean that that server is for development/staging, then fair enough.

But if you mean you have production sites there, and developers who simply edit code live there, then you are in fact talking about the very thing some would warn against. Again, though, I did clarify that I understand some will, for whatever reason. Is that what you're saying? I want to clarify since you brought up the point.
Yes cfmldeveloper.com is for development/staging, it provides free cfml developer hosting to the community, it has been running for some 10 odd years now and is even listed on your cf411 site.

So this is a prime example of a situation where a developer would want to upload on save without is being a bad practice.

The reason being that if you are developing on a remote server then you need to upload your code there before it will execute. If you are not running ColdFusion locally or indeed a web server then you would not be able to run the code locally.

A lot of companies work in this way also where they have central dev/staging servers.
So the ability to upload on save would save the extra step of having to switch over to an FTP client to do this task. It is certainly a feature I find handy in dreamweaver.
# Posted By russ | 2/18/12 7:44 PM
Russ, you're preaching to the choir. Actually, to the choir director, if I may say so (with respect to this point, I mean). Remember, I'm the one who posted the entry, specifically because I knew it would be of interest to those who did remote editing of files. You don't need to persuade me of the feature's value. :-)

But you answered my question to you, which was, is cfmldeveloper used to host production sites. Sounds like you're saying no. Fair enough. I was just seeking context for others.

That said, you also don't need to remind me that it's been on the CF411.com site. I knew that. What I didn't know was that it was intended only for development and testing. The first line of the page says "CFMLDeveloper.com provides web space for developers to learn, develop and host CFML". That last point made me think it was about production hosting as well.

Now you may answer, "well yes, if people want to host a production site I won't stop them. I do warn them that I enable all these development-oriented features, but if they want to host a prod site I won't stop them". In that case, then you didn't really answer the question I'd asked. :-)

But look, let's leave it alone. The main points have been made. Any further clarification on that point won't really be germane to the blog's main topic. And anyway, you've gotten some extra PR here for the site. :-) Note that I never complained about that. I appreciated that you were trying to make a reasonable point. I updated the entry to reflect that. Let's please let it go at that.
Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting