You may have read one of my previous posts regarding the nuances of working with Application Variables. In the first post I took great pains to point out that the application name is the anchor for all the variables in the application and that naming 2 separate applications the same results in them sharing the same scope. Now, thanks to Jim Davis of Depressed Press I have another "gotcha" to add to the conversation.
Try this little test. Create 2 folders on your CFMX server named "\A" and "\B". In both folders create a single template (it doesn't matter what it contains) and an "application.cfm" file. In the application.cfm file put the following code.
Now, open up the "A" folders template in your browser. In the dump you will see the testVar is "Hello World". Open up the "B" folder and you will see (as you no doubt expected) that the testVar is also "Hello World". That's because it is set in "A" and the CFIF keeps it from being reset in B because it has already been pre-defined in A. Still with me?
Go to "B" and change the name of the application from thisIsMyBlog to ThisIsMyBlog (in other words capitalize the "T"). Then open both folders again. What you will see is a major inconsistency in CFMX - which, like the Johny Fairplay of Ap servers, claims to be be case in-sensitive. As far as I know, any other variable that you set in CF will be case in-sensitive. Only the application name appears to be case sensitive. Mixing case in your application name will create an entirely different scope.
Why should it matter you ask? After all, wasn't the point of your previous post that the name of the application is an important item and should be unique? Well, that depends. There are some creative ways to use the application framework that depend on having applications of the same name. Such applications would share a set of "base" variables and other settings would "cascade" down from there. This may be more difficult to maintain, but it can also be helpful in certain cases. For example, when you want to migrate data sources. Changing 1 file sure beats changes 15 different application.cfm files - and keeps your data in synch. The problem is that if you are not aware of the case in-sensitivity issue you could run into a devilish problem where variables are not changing when they should - and it would be very difficult to track it down.