Structuring an application

When you design a ColdFusion application, you must structure its contents into directories and files, also known as mapping the directory structure. This activity is an important step in designing a ColdFusion application. Before you start building the application, you must establish a root directory for the application. You can store application pages in subdirectories of the root directory.

The following sections describe how ColdFusion uses application-specific pages and how you can organize your application pages in a directory structure.

How ColdFusion MX finds and process application definition pages

ColdFusion MX uses the following rules to locate and process the Application.cfc, Application.cfm, and OnRequestEnd.cfm pages that define application-specific elements. The way ColdFusion MX locates these files helps determine how you structure an application.

Each time ColdFusion MX processes a page request it does the following:

  1. When ColdFusion starts processing the request, it does the following:
  2. ColdFusion MX processes the requested page’s contents.
  3. When the request ends, ColdFusion MX does the following:

The following rules determine how ColdFusion MX processes application pages and settings:

Note: If your application runs on a UNIX platform, which is case-sensitive, you must spell Application.cfc, Application.cfm, and OnRequestEnd.cfm with capital letters, as shown.

Defining the directory structure

Defining an application directory structure with an application-specific root directory has the following advantages:

Development The application is easier to develop and maintain, because the application page files are well-organized.

Portability You can easily move the application to another server or another part of a server without changing any code in the application page files.

Application-level settings Application pages that are under the same directory can share application-level settings and functions.

Security Application pages that are under the same directory can share web server security settings.

When you put your application in an application-specific directory hierarchy, you can use a single application definition (Application.cfc or Application.cfm) page in the application root directory, or put different application definition pages that govern individual sections of the application in different directories.

You can divide your logical web application into multiple ColdFusion applications by using multiple application definition pages with different application names. Alternatively, you can use multiple application definition pages that specify the same application name, but have different code, for different subsections of your application.

The directory trees in the following figure show two approaches to implementing an application framework: