|
devArchitecture
Framework Architecture
IntroductionPart 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 StructureThis 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 RootThis 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 FolderThe 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.)
appsEach 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). shareThe 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.
| |