The Seagull Directory Structure

The Seagull directory structure has been organised with the unix filesystem in mind, following conventions set out in the Filesystem Hierarchy Standard. The following is a schematic of the directory structure:

  • seagull
    • etc: et cetera: basic configuration files, sql-files, etc…
    • lib: libraries:
      • SGL: Seagull core libraries
      • data: data files, mostly arrays, for things like countries, languages, states, etc
      • other: other libs
      • pear: PEAR libs
    • modules: for modules
      • faq: the faq module for example
        • classes: the module-specific classes
        • lang the module specific lang files
        • data the module specific sql-data
        • www the module specific www-data
          • css the module specific css-files
          • images the module specific images
          • js the module specific javascript-files
    • var: all temporary data goes here, must be writable by the webserver
      • cache
        • entities: DataObject entities
        • tmpl: Flexy’s compiled templates
          • default: the theme name, by default it’s called ‘default’
      • log: file-based logging goes here
      • tmp: sessions get stored in the tmp dir, when file-based handler is used
    • www: application webroot, only this dir should be viewable to the web, make sure to protect rest with .htaccess if otherwise
      • fck: wysiwyg tool for editing html
      • images: for uploaded images. Used by fck editor
      • js: all javascript goes here, regardless of module
      • themes: the themes go here
        • default: this is also for module templates
          • css: .css and .htc files
          • images
            • uploads
          • faq: the templates of the faq-module