I discovered an odd problem in Dreamweaver 8 at work a few weeks ago. I’ve contacted Macromedia about this issue. During the first week I sent a few e-mails back and forth describing the problem. After the first week I stopped receiving e-mails so I sent another message asking what the status of my support ticket was. Several days later I had a reply with another suggestion that didn’t apply to my issue. I reiterated the full problem.
Several days passed into the next week and no reply. So I sent another e-mail asking what was going on with the call. A few days later I received an e-mail stating the ticket had been handed to another technician. So I was back to square one and had to explain the problem again. I have yet to receive a reply and often wonder if it’s because I used one of the two free support incidences that are available within 90 days of purchasing Dreamweaver. I’ll probably have to send another inquiry.
I generally avoid discussing work in my blog for several personal reasons and several that are, well, common sense. But this issue is something that other designers may be interested in. I have consistently reproduced this problem in Dreamweaver 8 on two different Windows XP Pro systems and on one OS X system.
I was working with templates and noticed that the images referenced with absolute URLs were loading on a coworkers screen but not on mine. My first concern was that it was an issue with the templates. However, after a couple of days I had some time to look into this issue further and figured out that it’s all related to site definitions and seems to point to an internal method the authors of Dreamweaver 8 used to implement the handling of absolute URLs and it’s an odd one.
For this example we have Site A and Site B. Both sites are on the same server. One site is actually just a sub-folder of Site A. In this case, we’re developing a site for a department (Site B) and they don’t need to have full-access to Site A. In order to guarantee that I’m working with the site in the same manner they will I define my sites with the following configuration:
HTTP Address: http://www.domain.com/
Local Folder: C:\Documents and Settings\username\My Documents\Web Sites\Site A\
HTTP Address: http://www.domain.com/siteb/
Local Folder: C:\Documents and Settings\username\My Documents\Web Sites\Site B\
Perhaps it might make sense to nest local files for Site B within Site A. Personally, to me it does not make sense in this case as the department will not have this same structure since they won’t have access to Site A. They can only access their folder on the server and I want to test developing pages exactly as they would have them configured.
The following information is where it gets interesting. The default assumption on the part of the Dreamweaver 8 programmers was that anyone with a site definition for a Web site would have the files in that site. To clear up any confusion I’ll state that you will not see this problem (though you may experience a related problem) if you have the files for Site A on your local computer or if you do not have a definition for Site A.
The problem occurs when you have a definition for Site A, but you don’t have the files for Site A. In other words, your local version of the site is empty. Granted, few people will use this configuration and indeed I simply hadn’t pulled the files to my machine at that time. This is also probably why there isn’t any documentation or technical postings regarding this manner.
I think the determining factor in this problem is the value that you have entered for your site’s HTTP address. The problem is that Dreamweaver 8 appears to check each site definition for local copies of the files referenced using absolute URLs, even site definitions outside of the one that you are working in!
Here’s a summary of what I have determined:
When you use an absolute URL for an image in Site B that points to an image in Site A and you have a local copy of Site A, the images will be pulled from the local site and displayed in Dreamweaver.
When you use an absolute URL for an image in Site B that points to an image in Site A and you do not have a site definition for Site A, the images will be pulled from the Web site and displayed in Dreamweaver.
When you use an absolute URL for an image in Site B that points to an image in Site A and you have a site definition for Site A but do not have the local files, the images will not display in Dreamweaver. Dreamweaver 8 checks the local site definition for the images and if it cannot find them it does not continue to pull them from the Web site referenced in the absolute URL. It simply stops.
Another interesting problem this exposes is that even when you do have local copies of the images on your machine it might not be displaying the images you expect to see. Suppose that you have an older (or newer) version of the images on Site A then are actually on the Web? You proceed to build a child site for someone and after you’ve been working for a while you suddenly realize the design you had constructed around those images doesn’t match what is actually there!