Overview
Fortress sees the implementation of Application.cfc to replace Application.cfm/OnRequestEnd.cfm.
We've managed to sort out a mechanism that handles core, plugins and projects through Application.cfc. The details are complicated and I won't go into them here. Suffice to say we have engineered things such that the project Application.cfc effectively "extends" a core framework Application.cfc and is very simple to implement. Plus it allows for the inclusion of plugin specific behaviours.
Known Issues
Application Specific Mappings are a furphy and do not work as advertised in CF8. It appears that cfimport and "extends" do not adhere to application specific mappings as defined in Application.cfc in the same way they do to CFIDE based cf mappings. The two types of "mapping" despite having the same name are very different in practice. As we use inheritance and cfimport a great deal in FarCry this makes using this feature near impossible.
The latter leaves us in a difficult position moving forward in our desire to support stand-alone FarCry applications (ie. applications that do not need to refer to a separately located framework location) and multiple versions of FarCry under the same CF instance. We'd hoped both of these options would make "getting into FarCry" a lot easier. Not to mention significantly increased options for deploying in development and shared hosting environments.
Our last option is to re-engineer FarCry so that it operates under the webroot of your specific application. This would mean having no /farcry cf mapping on the server, and relying on /farcry being accessible from the webroot for all FarCry deployments. To accomplish this change we will have to make significant changes to the way in which the "webtop" is reached.
The upshot of all of this change, is that a series of significant project level code changes will be required for anyone upgrading from 4.0 to 4.1. Well significant in that we can't script the changes.
They will include at least:
- renaming /farcry web virtual to /webtop (or removing it entirely)
- removing Application.cfm and replacing with Application.cfc (a template would be provided with appropriate blanks to fill in)
Required 4.0 to 4.1 Project Changes
 | Watch this space... |
Target Deployment Configurations
In addition to the changes to the application framework, we are refactoring the code base to allow for deployment directly under the webroot. This should provide a variety of options for shared hosting deployments where the /farcry cf mapping is not always available.