Skip to main content
Participant
February 17, 2012
Question

Need Advice: Managing dev/prod servers and workflow.

  • February 17, 2012
  • 1 reply
  • 1406 views

Hello, thanks for your help.

I am currently running coldfusion dev server on my local machine, I use dreamweaver cs3 for coding/ftp, and have a shared hosting account with crystaltech.  I want to create a local test environment that runs on my coldfusion test server, nd be able to push those files to a live web address preferably with a dev.sitename.com extension. 

In dreamweaver I have a site called "sitename1".  I have created a "testing server" with the local root of \coldfusion9\wwwroot\sitename1, my "Local Info" root folder is off my C:\\websites\sitename1\, and my remote folder is the \test\ folder off my TLD.. so www.sitename1.com\test\. 

I can't seem to keep the files from the local testing server and my local info straight.  When I'm working in the local testing server and open a file I get "would you like to overwrite your local version of this file?"..  Also not all the files in the local testing environment we in the local info folder.

What's the best way to work in a dev environment where you have a testing server, local files and a shared host?  How do I set up dreamweaver for best workflow and file management?


Thanks for your help.

Steve

This topic has been closed for replies.

1 reply

BKBK
Community Expert
Community Expert
February 20, 2012

stephenvincent wrote:

Hello, thanks for your help.

I am currently running coldfusion dev server on my local machine, I use dreamweaver cs3 for coding/ftp, and have a shared hosting account with crystaltech.  I want to create a local test environment that runs on my coldfusion test server, nd be able to push those files to a live web address preferably with a dev.sitename.com extension. 

In dreamweaver I have a site called "sitename1".  I have created a "testing server" with the local root of \coldfusion9\wwwroot\sitename1, my "Local Info" root folder is off my C:\\websites\sitename1\, and my remote folder is the \test\ folder off my TLD.. so www.sitename1.com\test\. 

I can't seem to keep the files from the local testing server and my local info straight.  When I'm working in the local testing server and open a file I get "would you like to overwrite your local version of this file?"..  Also not all the files in the local testing environment we in the local info folder.

What's the best way to work in a dev environment where you have a testing server, local files and a shared host?  How do I set up dreamweaver for best workflow and file management?

I have no longer used Dreamweaver for some years now. I prefer Eclipse and ColdFusion Builder. However, some of the issues you mention are of a general nature, and apply to every developer, irrespective of the tool he uses.

It is vital to keep the files of your site and test site separate. In fact, I expected you to have partitioned the directories like this:

sitename1: c:\coldfusion9\wwwroot\sitename1\

Domain: www.sitename1.com

test_site: c:\coldfusion9\wwwroot\sitename1\test\

Domain: www.sitename1.com/test

Perhaps the most important aspect of separating the 2 sites is to give each its own Application.cfc file. The application  file for the site will be in the directory c:\coldfusion9\wwwroot\sitename1\ and will contain the code this.name="sitename1"; to name the application. The application  file for the test site will be in the directory c:\coldfusion9\wwwroot\sitename1\test and will contain the code this.name="test";.

You should not aim to synchronize the files of your site with those of your test site. Such synchronization will defeat the purpose of testing. You test because there are faults. If there is  an open door between the test environment and your site, uncorrected faults will soon find their way to the site.

I don't see any need for a "Local Info" site. The usual practice is to create a third environment, Acceptance, between Test and Site. Your workflow then proceeds as follows.

Test => Acceptance => Site (production)

In the Acceptance site, the aim is to mimic production before you actually go into production. You equip the tested code with application, configuration and other settings that mimic the production environment, and you test some more.

Document the main issues that arise at every stage of the process. Software is complex human work. It usually happens that you have to reverse what you've done. That's where documentation is vital. When everything is to your satisfaction, move the files from Acceptance to the site.

Participant
February 21, 2012

Thanks BK - your point about the application.cfm file is something I didn't think of.  Everything you said makes sense, just a couple of follow-up questions:

1. What's the best way to move and keep track of files between both "the testing server and accepetance" and "acceptance and production"?  The reason I wanted to have a "local" version off the C:\\ drive (in addition to the test server) was so I could push files from my test server to a set of "local files" that were synced with the server to my test location.  That still leaves the question of getting files from the "live test" location to the actual production location.  In Dreamweaver cs5.5 you can add multiple servers and I think it will make what I'm taking about much easier.. but interested to hear how you move files and keep the versions straight.

As you can tell I've never worked with a local test server and I want to make sure I start out with good habits for version control, workflow and allowing clients to view a test version of their site.

Thanks again.

BKBK
Community Expert
Community Expert
February 23, 2012

stephenvincent wrote:

Thanks BK - your point about the application.cfm file is something I didn't think of. 

That is the most natural way to set the boundary between ColdFusion applications. I prefer, and would recommend, Application.cfc.

1. What's the best way to move and keep track of files between both "the testing server and accepetance" and "acceptance and production"?  The reason I wanted to have a "local" version off the C:\\ drive (in addition to the test server) was so I could push files from my test server to a set of "local files" that were synced with the server to my test location.  That still leaves the question of getting files from the "live test" location to the actual production location.  In Dreamweaver cs5.5 you can add multiple servers and I think it will make what I'm taking about much easier.. but interested to hear how you move files and keep the versions straight.

As you can tell I've never worked with a local test server and I want to make sure I start out with good habits for version control, workflow and allowing clients to view a test version of their site.

As I said, I'm no longer into Dreamweaver. However, I am sure the following rules apply to any environment:

1) Aim (ideally) to keep the following 4 environments separate: development, testing, acceptance and production.

2) Use version control software to keep track of and to document changes.

3) The direction of the workflow will be something like Development <=> Testing <=> Acceptance => Production.

Developed files ready for testing are copied to the Testing environment. Software that fails the test goes back to Development. If the test is satisfactory, the software progresses to Acceptance. Ideally, your clients should be the ones to test the software in Acceptance. They should let you know whether it meets their specifications. If it does not, it will have to go back to Testing, possibly to Development. Only when the software successfully completes these stages does it go into Production.