CWIS Developer Documentation

- Home
- Main Page
- Namespaces
- Classes
- Files

CWIS Directory Structure

# Top-Level

These directories are at the top level of your CWIS installation.

`/data` - Static data distributed with CWIS.
`/docs` - Developer documentation (like this page).
`/include` - Included/required PHP files that do not define classes.
`/install` - Files used only during installation.
`/interface` - Primarily HTML files for individual pages.
`/lib` - Additional PHP libraries included with CWIS.
`/local` - Site-specific customizations.
`/objects` - Included/required PHP files that define classes.
`/pages` - PHP files for individual pages.
`/plugins` - Plugins distributed with CWIS.

# Site-Specific

These directories are where you would place HTML or PHP files to customize the user interface or add functionality. Their layout parallels the top-level directories with the same names, but files put into them will override (i.e. be loaded instead of) files in the top-level directories.

`/local/interface` - Site-specific user interfaces.
`/local/pages` - Site-specific PHP files for additional pages.
`/local/plugins` - Site-specific and third-party plugins.

# User Interface

`/interface` and `/local/interface` have subdirectories under them for each user interface. For example, files for the Figure Board interface are stored in `/interface/FigureBoard`.

Under each interface directory there may be two additional subdirectories, `images` and `include`. The `images` directory will contain (not surprisingly) any image (GIF, PNG, etc) files associated specifically with that interface. The `include` directory will contain any files for that interface that are not image files or page HTML files.

For more information about special file names in these directories and in what order files are loaded from each of these directories, please see Implementing CWIS Interfaces.