blob: ab06e9912801fcbb6b6d3a786eee22fa3afe3280 [file] [log] [blame]
#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).
* *logic* (described below)
* *mapreduce*
** Melange's code for making changes to all instances of a given type of data.
* *middleware*
** Melange's code for interacting with Django's Middleware and Blobstore systems.
* *models* (described below)
* *modules* (described below)
* *tasks*
** Melange's code for interacting with App Engine's tasks system.
** Email sending is handled by this code.
* *templates*
** Melange's HTML templates.
* *views* (described below)
=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