3 Replies Latest reply on Aug 16, 2010 8:48 AM by charlie@carehart.org

    Deploying web applications

    fabio.bozzo Level 1

      Hi to all, I am a new Coldfusion developer coming from Java EE world.

      I am looking for hints on how to manage the deployment lifecycle of a CF website.

      Instead of direct editing (with Dreamweaver) cfml files on server, what are the best practices?

      I mean, I can use SVN to versioning my files, maybe using a test server on my LAN. But then...

      how to correctly deploy on my production environment?

      Moving raw files via FTP? I don't think so...

      what are the best practices for working with remote files/projects?

       

      (i will be glad for giving to me documentation, too)

      Thanks a lot

      FB

        • 1. Re: Deploying web applications
          Adobe Community Professional & MVP

          Fabio, you refer to using Dreamweaver. This is the ColdFusion Builder forum, which is about the new IDE for CF.

           

          While some may respond here with thoughts on remote development, it really isn't the best place for you to be asking your question. If you don't get satisfactory answers (or even if you do, but you want to open the discussion to a still wider audience), you should consider asking it on the main CF or DW forums:

           

          http://forums.adobe.com/community/coldfusion/coldfusion_general

          http://forums.adobe.com/community/dreamweaver/dreamweaver_general

           

          And really, since you're asking primarily about best practices with SVN, you would be well-served by asking on some SVN-specific forum, though admittedly some comments would apply readily regardless of the source code control solution one may use.

           

          While not a direct response to your question, I hope some of that's helpful.

           

          /charlie

          • 2. Re: Deploying web applications
            fabio.bozzo Level 1

            Not so helpful but maybe i didn't explain myself.

            My question is very simple:

             

            Dreamweaver => direct FTP/RDS connection to the website's files, editing on-the-fly

             

            CF builder => ?

             

            Obviously I can do the same but... what's the right way to work?

            I mean: I know I can do a project locally and work there but how do you work with remote website files?

             

            Thanks anyway

            • 3. Re: Deploying web applications
              Adobe Community Professional & MVP

              Oh, ok, thanks for the clarifications Fabio. Sorry you felt my last reply wasn't helpful. I just don't think it was not clear (to me) that you were asking for help in transitioning to doing development in CFBuilder. (Since there have been lots of recent requests in these forums from people asking general CF questions, I have been pointing such people to the other forums. Now that you've made yourself more clear, then yes this is a suitable place for the discussion.)

               

              I'm sure others will chime in, but the whole subject of remote development is one on which you'll get widely divergent opinions.

               

              - Some will assert one should never, ever edit files on a remote server, and that the only "right way" is to use a source code control system (as you're doing).

              - Others happily edit files remotely (yes, it is an option in CFB), though they do it at their peril if they make a mistake and don't have something to recover to.

              - Still others keep a local copy of code, and edit and test that, then push it up (without any source code control, though given the built-in "local history" feature of CFBuilder, they do have a poor-man's version for recovering old versions if needed.)

               

              All that said, I don’t' know that you'll get agreement on any one "best practice". Arguments can (and would) be made for either approach (and yes, though some don't realize it, you can do any of the approaches above in CFB).

               

              You say you're coming from JEE development. Did you use Eclipse for that? How did you work there? There's not really anything about CF development that would differ than what you may have done with Tomcat, JBoss, Glassfish, Jetty, Websphere, etc.

               

              And I now realize you said in your first note that you "can use SVN". I read that as if you were using it already. If you're saying you are not, then it sounds like you're open to alternatives.

               

              I think most would agree that the most mature software development practice is indeed to use some version control (whether SVN, GIT, CVS, or the like; and each of those has its vocal adherents who will swear that doing anything else is pitiful).

               

              And since CFBuilder is based on Eclipse, there are many plug-ins for Eclipse for working with any of these.

               

              Whether an individual developer should take up any one, and which plugin is best, is really a tough situation in which to make absolute recommendations--kind of like recommending "which framework is best". There are just so many variables.

               

              And really, your very point about pushing code to a remote server for deployment opens yet another can of worms that's not often covered in some books/articles/discussions about using source code control. Beware of that (as some resources are more focused on desktop app development, which is quite different).

               

              I realize this again hasn't "answered your question". I'm trying to say that you may have a hard time getting any one answer (and typically people answer only very briefly). This is not a new dilemma (how best to do version control with CF). Indeed, one of the very first CF presentations I gave was in 1998 was on the topic (with regard to a tool that was bundled with CF at the time--anyone remember Starbase Versions?) People have been trying, rejecting, recommending different solutions ever since.

               

              It's just a notoriously difficult question, with so many SCC alternatives, different deployment scenarios, different editors. I'll just say again that nothing about CFBuilder and CF is really that unique: you may get as much or more information asking about this on a more java-centric forum regarding Eclipse. The same concepts apply. That just may get you before a larger audience. Not only is CFBuilder new, but there is this tendency in CF for some people to got the easy route (direct remote editing). You're right to seek "the better way", but you may want to widen your field of research to find more people who've been down that road and can speak competently about the pros and cons of various routes.

               

              So do I have a recommendation myself? Not really. I don't do full-time development (I focus on CF server troubleshooting, and on helping people use various aspects of CFB, especially its connection to CF), so I have not had to engage in remote deployment from version control since moving to CFB, and I didn't use Eclipse before that. I'm sure that's "showing my stripes" a bit in the mind of some, but the point is that for the small amount of remote deployment I do, I get along fine with either local testing and FTP push, or just occasional direct editing. But I've offered the above as an observer of the playing field, who has seen many of the conversations come and go.

               

              Hope that's at least a little more helpful.

               

              /charlie

              1 person found this helpful