#summary Melange Modules
#labels 2013DeveloperDoc

=Static Modules (How Melange Is Organized In Source Control Directories)=

==The "app" Top-Level Directory==

The "app" top-level directory contains all source control-based resources that will go into the code package that will be uploaded to App Engine as part of Melange's release. It contains several third-party code directories, the "soc" directory that contains Melange's first-party production code, and the configuration files and outermost scripts that mediate App Engine's interaction with Melange's code.

==app/soc==

app/soc is the root of Melange's first-party (authored by Melange developers) code. It is divided into:
  * *cache*
  ** Melange's code that interacts with the App Engine memcache.
  ** Primarily used for XSRF tokens and determining which projects, organizations, and tasks are randomly featured on the home page.
  * *content*
  ** Melange's static content (mostly images).


=Dynamic Modules (How Melange Is Organized During Execution)=

Add your content here.  Format your content with:
  * Text in *bold* or _italic_
  * Headings, paragraphs, and lists
  * Automatic links to other wiki pages