Cyclone3 Skin

Directory structure

From Cyclone3 Wiki

Cyclone3 has a service-based directory structure with globalized functionality. This way a simple standalone change in a global part can affect all Cyclone3-based services on the server. However, you can localize certain parts and customize them for a certain service, so that it works different than other services.

Installation directory

A standard location for the Cyclone3 server installation should be /www/TOM. You can install the framework virtually anywhere, but this will help other users familiar with Cyclone3 to find it naturally. If you've got other services running on the same server, that are located in the /www directory, don't worry, everything Cyclone3-based is inside the TOM directory, core libs, config, modules and services, too.

Global directories

There is a few global directories, which divide functionalities and filetypes. Namely:


Is a default Cyclone3 service clone. When your HTTP server is properly configured, and Cyclone3 config is properly set up, this should run without you doing anything else inside.


Is the global media storage. It's mostly used for error pages' images, 404's and other stuff that should be the same on every service at this server.


Contains Cyclone3 executable scripts, that are used to run checks, maintenance crons, and other executable tools.


Contains the executables, that actually run Cyclone3 services - webpages, crons, ...


The main, global module repository. This is where the applications' functional modules reside.


Obviously, contains configuration of the Cyclone3 server instance, certificates, and other stuff.


Storage point for various data, which doesn't belong anywhere else.


Global repository of templates, service headers, localization and other output-related stuff.


Obvious :) logfile storage. There is quite a few global log types in here global cron logs, servercheck crons and most of all - server logs. The latter are standardly located at /_logs/httpd.


This is a location for global overlays. Mostly used for branding, or global customization of modules, templates and other functional parts of Cyclone3 - without having to edit/change the standard components (which might be overwritten when updating Cyclone3 from svn).


This is pretty much obvious, too, used for temporary data, and stuff you don't really depend on.


Global cron and services' service type files.

Service directories

You probably noticed after the svn checkout of Cyclone3, that there's one directory in the root, named !example.tld. This is a service directory, named after the standardized conventions. Let's explain the rules on an example.

Say, we're going to create a webpage. The first rule is to start with an exclamation mark.


then, we'll add the top-level domain name


for standard webpages, this is where we would stop. You're wondering where the www has gone? If you check out the content of !example.tld from the Cyclone3 svn repository into the one you've just created, you'll realize that the !www directory will be already there. (Check creating a new domain service for more info)

Now that we've got a default web, we might want to add more sub-domains to it. Now it depends on what type of subdomain we're creating. We're calling it the left side and right side types. For you would create:


and for xml exporting subsite you'd want


for both - you would again checkout the content of the !example.tld subversion directory.

After you checkout the service content, you'll probably notice, that there is a root folder, containing service configuration files, and:


containing directories for:

static media

  • static website imagery, backgrounds, logos, ...
  • stylesheets
  • flash movies
  • javascript scripts

and other user-defined directories. You can rename/extend these directories to your requirements, but it's nice to keep them in order for other Cyclone3 users ;)

dynamic media

  • uploaded images
  • videos
  • files

and other application-dependent data.

These directories can't be renamed and customized, as they're used by the administration system. Apart from these directories, there are also some more you have already seen somewhere else:


This is unused for standard services.


Same as the root - data, that doesn't belong anywhere else - just local.


Directory for the services' [service header] files (i.e. specifying XHTML header with scripts,css files and other header-related items) and [service body] files (specifying the topmost reusable page layout.


Logfiles relevant to this service.


Localized module templates, local modules and localization files.


Temporary files relevant to this service (i.e. expiring captcha codes, ...)


Local service types.