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:

!example.tld

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.

!media

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.

.bin

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

.core

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

_addons

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

_config

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

_data

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

_dsgn

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

_logs

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.

_overlays

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).

_temp

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

_type

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 www.amazingsite.com webpage. The first rule is to start with an exclamation mark.

/!

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

/!amazingsite.com

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 clients.amazingsite.com you would create:

/!amazingsite.com/!clients

and for xml exporting subsite amazingsite.com/xml you'd want

/!amazingsite.com/xml

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:

/!media

containing directories for:

static media

  • static website imagery, backgrounds, logos, ...
/grf
  • stylesheets
/css
  • flash movies
/swf
  • javascript scripts
/js

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
/a501 
  • videos
/a510
  • files
/a542

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:

/_addons

This is unused for standard services.

/_data

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

/_dsgn

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.

/_logs

Logfiles relevant to this service.

/_mdl

Localized module templates, local modules and localization files.

/_temp

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

/_type

Local service types.