FileSystem

From fCMS

Jump to: navigation, search

Contents

[edit] SiteSystem runtime

The SiteSystem runtime downloaded consists of two folders, one (v5.0) being a symbolic link to the other (v5.0.{releasedate}) (Note: When run on windows, the symlink won't work and your archiver (for example winrar) might get confused and destroy the files when extracting! Use an archiver fully supporting tar.bz2 in that case). The contents of the main folder is considered the "RUNTIME" to where the path defined in ServerConfig should point to.

  • includes
Sources from 3rd parties, general functionality that is not system relevant by definition or platform specific workarounds are stored within the includes directory
  • modules
All SiteSystem provided modules are stored in their respective folder under modules. Please be aware of the fact that plugins to modules are also stored in these folders.
  • system
Core functionality, various base classes and general system code are stored within the system folder directory structure.
  • soap
In case you want to provide a soap based webservice the classes actually implementing the functionality should be stored within this folder - along with the accompanying wsdl.

[edit] Website structure

Each website project should be bundled in a project specific base folder containing two sub elements: fcms and html. Even though this is not an enforced requirement - in fact you could have those two folders be placed anywhere within the local filesystem - it is highly recommended to stick with this pattern. In case you do not stick with this format, the constants FCMSBASE and DOCROOT (see ServerConfig for details) need to be adjusted.

[edit] Folder fcms

In the 'fcms' folder are all definitions, configurations and site control files located. It contains the following subfolder:

  • binary (binary control files)
Any binary content or json-rpc requests should be mapped into a binary call. Binary control.xml files are stored here.
  • cache (cache files)
This folder will be used in case the caching subsystem of the SiteSystem has been enabled or a file system based module cache is in use. This folder needs to be writable by the webserver user
  • conf (configuration files)
All configuration files should be located in this directory.
  • data (data directory)
Any module may have the need to save data files. This folder should be used to store content snippets or binary data generated by these modules. This folder needs to be writable by the webserver user
  • design (design files)
The main design files for all pages have to be placed in this directory.
  • mails (mail related files (texts, images, ...)
Every file, that is meant to be send via mail (fProcess-Mailhandler or other custom modules) should be placed in this directory.
  • parts (part files, xhtml)
Part files (xhtml snippets) are located in the parts directory.
  • php (php code)
This directory is used for project related modules, includes and plugins. See Developer documentation for details.
  • site (site control files)
All content pages are served up from this directory.
  • xsl (xsl templates)
The SiteSystem uses XSLT technology to transform xml structures generated by various modules. This folder will hold all those xsl templates.

[edit] Folder html

The html folder is the documentroot folder of your virtual host. All files within this directory (and its subdirectories) are directly accessible from outside. The file index.php is used to do an educated guess on the best matching language in case of a multilingual website and then does a redirect to a fitting index.xml page. In case of a single language site, you should replace its content by a single redirect as shown in the header of the source.

Except for the index.php as well as the files fsite.php, fbinary.php, fsoap.php and config.inc.php there are no SiteSystem relevant files within this directory. The predefined structure layed out in the skeleton archive (see Download) is optional and can thus be adjusted to your liking.

Personal tools