Proposal for
CitySoft Standard Web Site Directory Structure

Meeting Date:April 13, 2001

Attendees:Karen Chen (NY SPM)

Jud Santos (NY Tech Lead)

Henry Yu (NY Network Administrator)

The standard directory structure for web sites will have three (3) tiers, with the following components:

TIER 1 — Location of HOME PAGE (index.cfm)

TIER 2

folders / descriptions
/_uploads / PDF, xls, doc files
/_images / all images required by TIER 2 pages
/_cftemplates / all cftemplates required by TIER 2 pages
/_database / Access database(s)
/_search / Verity search files
/section1 / public (user) pages
/section2 / public pages
/section3 / public pages
/section4 / public pages
/admin / non-public (administrator) pages – requires login

TIER 3

subsection of /admin folder above

folders / descriptions
/_images / all images required by TIER 3 pages
/_cftemplates / all cftemplates required by TIER 3 pages
/section1 / admin files for public section1
/section2 / admin files for public section2
/section3 / admin files for public section3
/section4 / admin files for public section4

The specifics of these components are outlined in the accompanying diagram, and in the notes below:

Home page (Tier 1):

  • IIS starts here. In other words, the root directory of a site should always sit here. This is the web server administrator's responsibility, not the developers'.

Folder names:

  • “Special” folders (such as those containing images, database, Verity search engines, etc.) will be named with an underscore to differentiate them from “content” pages
  • All “special” pages (those beginning with “_”) will have an index.cfm file in them, with a <CFLOCATION> tag that send the user back out to the home page (to prevent any attempts to view folder contents).
  • All user folders will be named using the Java naming convention. Sample folder names following this convention are:
  • /oneTwoThree
  • /imageManagement
  • /section1
  • /about
  • /aboutUs

Verity issues:

  • Verity searches should be programmed to output only templates that have the “title” variable (set by the <TITLE> tag). Searchable CF templates should thus have
    <!-- <TITLE>(Name of page goes here)</TITLE> -->
    within the document.
  • Verity searches should be programmed to output only templates that do not have the keyword “admin” or “keyword:admin”. All admin pages should thus have the keyword embedded within the code —
    i.e., “<!-- ADMIN -->“ or “<!-- KEYWORD:ADMIN -->“.
  • Verity searches should be programmed to see only file with the extensions “cfm”, “htm”, and “html”. All process and /_cftemplates pages will be named with the extension “xcfm”. .xcfm extensions will render these pages “invisible” to Verity.
  • Project Managers or Project Tech Leads must ensure that the web host (if other than CitySoft) is set up to recognize .xcfm pages as ColdFusion templates.

Process pages:

  • If the web host supports xcfm templates, all process pages will be named with the extension “xcfm”. .xcfm extensions will render process pages “invisible” to Verity. They will also make them easy to recognize by developers as process pages.

Nav bars and other links in /_cftemplates pages:

  • If the web host supports xcfm templates, all /_cftemplates pages (e.g., header, footer) will be named with the extension “xcfm”. .xcfm extensions will render process pages “invisible” to Verity. They will also make them easy to recognize by developers as pages usable only within <CFINCLUDE> tags.

Header files:

  • Each tier should have its own version of a header file (and other files that traditionally carry links, such as nav bars). Reason: If the links in a file are all relative (which they should be), they will behave differently in different tiers.

Admin pages (Tier 3):

  • All admin pages will have the keyword “admin” embedded within the code —
    i.e., “<!-- ADMIN -->“ or “<!-- KEYWORD:ADMIN -->“.
    Verity can (and should) thus be programmed to avoid searching pages with that keyword in them.