| #summary Overview of SoC | 
 | #labels Phase-Requirements,Contents-Draft,Importance-Overview | 
 |  | 
 | == SoC, the Spice of Creation framework == | 
 |  | 
 | SoC is the software framework, implemented in [http://www.python.org Python], | 
 | that underpins the [MelangeIntro Melange] project.  This framework is | 
 | designed to make it possible to host Melange applications, such as the | 
 | [GSoC Google Summer of Code] ^TM^ and the | 
 | [GHOP Google Highly Open Participation] ^TM^ Contest on the | 
 | [http://code.google.com/appengine/ Google App Engine]. | 
 |  | 
 | The framework follows a ModelViewController pattern.  Entities of each | 
 | [ModelsOverview Model] are stored in the | 
 | [http://code.google.com/appengine/docs/datastore/ Google App Engine Datastore]. | 
 | Sharing the Models between different [MelangeIntro Melange] web | 
 | applications not only promotes code reuse, it also permits similar | 
 | real-world programs to import and export entites and share them. | 
 |  | 
 | A variety of [ViewsOverview Views] are implemented using Django templates | 
 | and forms.  Other possible Views are implemented as  | 
 | [GDataOverview GData APIs] and [FeedsOverview Atom feeds].  Since the | 
 | Views are accessing entities of common Models shared amongst Melange | 
 | web applications, much of the code is reused.  In most cases, only | 
 | Django templates need to be modified to customize these existng Views | 
 | for a specific real-world program. | 
 |  | 
 | The different [ControllersOverview Controllers] in the SoC framework | 
 | implement the "business logic" that actually forms the core of each separate  | 
 | [MelangeIntro Melange] web application.  For each real-world program | 
 | (e.g. [GSoC GSoC] or [GHOP GHOP]), a web application is created, built on | 
 | top of a new Controller that is derived from one of the similar existing | 
 | Controllers in the framework.  This pattern encourages code sharing between | 
 | the different Melange web applications used to run these different | 
 | real-world programs.  Reuse of Controller code is further enhanced by the | 
 | Models and Views that are shared between Melange web applications. | 
 |  | 
 | === Contributing === | 
 |  | 
 | Please see the [ContributionTerms guidelines for contributors] if you are | 
 | interested in contributing to the design and development of the SoC | 
 | framework. | 
 |  | 
 | ---- | 
 | _Copyright 2008 Google Inc._ | 
 | _This work is licensed under a_ | 
 | [http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License]. | 
 | [http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png] |