My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
devArchitecture  
Framework Architecture
Updated Mar 23, 2012 by sosensible

Introduction

Part of organization anywhere is a place for everything and everything in it's place. This does not mean we are trying to be obtrusive but rather we have thought through some goals and created a minimal design guide for where things should go to achieve the collective objective of the SOS framework.

Basic File Structure

This is the grand scheme of where what files go from a folder perspective. You will see in the larger scope there are just four locations for files. More detail will come within each topic but the logic is layered to make things sensible in each layer.

(site root)

  • site
  • apps
  • share

Site Root

This is where mostly API type files go for the framework with the exception of course of the Application.cfc file. Most API files will be stored in the site folder and this is ones that make development easier and without cluttering the root folder.

site Folder

The site folder is made up of number of files. The files in this section are broken up into the following folders and files. (Note that any file starting with an underscore is blocked from being called directly in SOS. So this is secure design.)

  • cache
  • data
  • includes
  • media
  • modules
  • objects
  • templates
  • (settings.cfm)

apps

Each folder inside this directory is a bundled applicaiton written to run within the SOS framework. The application can be made up of the main app in addition to mulitiple sub apps. For instance a forum app may also have a admin app nested inside it. Doing this makes permissions management easier to achieve. It also makes logic easier to manage in many cases. The collection of one or more apps is called a 'Bundle' in SOS, or app bundles.

The design of the folders inside each bundle folder is determined by the methodology this app bundle is written in. With the release of version 7 of SOS there are 4 included methdologies (SAT, COOP, Switch, Classy).

share

The share directory is where we put files that are not specific to SOS. They may be essential but they are also written to run without SOS. This is part of our effort to support Open Source actively and enthusiastically.

Here is the basic directory structure inside the share directory folder.

  • js
  • objects
  • skins
  • tags


Sign in to add a comment
Powered by Google Project Hosting