It is not usually a good idea to have all the files for an application sitting in the same directory/folder as this can quickly become unmanageable. Instead it is considered to be good practice to split the files across several directories, with a different directory for a different category of file.
On a web server all the files within or under the 'www' directory (known as the web root) are accessible via a URL which is passed to that web server. The directory structure which I use is as follows:
The INCLUDES directory should be moved outside of the [document root] folder so that it cannot be accessed via any URL. It is used to hold standard files used by the framework. It should be the first directory which is specified in the INCLUDE_PATH directive following '.;' (which signifies the current directory).
You may group the directories under the [document root] under another directory, such as "radicore", if that [document root] is already being used by another application, such as a public-facing website.
The DEFAULT directory is used to hold samples of all the files and scripts that will be used in the development of an application. The contents of this directory will be copied to the new subsystem directory when the Build Subsystem task is run. It has the following set of standard subdirectories:
[document root]/xsl
directory instead. This directory may also be used to create copies of the XML documents which are generated during the execution of each script (refer to Update Session to see how to turn this option on).It also contains the following scripts which may be altered as required:
css/default.css
file.Other subdirectories may be added if required, but none of the default directories should be removed.
The MENU directory holds the files for the Menu and Security system.
The AUDIT directory holds the files for the Audit Logging system.
The DICT directory holds the files for the Data Dictionary.
The WORKFLOW directory holds the files for the Workflow Engine.
The CSS directory holds a collection of CSS files which allow the appearance of all web pages in the application to be set to a predefined theme or style. The user can choose from the available themes by running the Update Session screen.
The ERROR_LOGS directory holds the errorlog.html
which is created by the error handler. This directory may need to be password protected as the error log will contain the output from debug_backtrace() which may contain sensitive data such as database login details.
The IMAGES directory holds all standard images used by the framework.
The LOGS directory holds the files created by background tasks. The contents can be viewed using the Show Batch Log File task.
The XSL directory is used to hold the standard XSL stylesheets and templates.