| ## SoC, the Spice of Creation framework |
| |
| SoC is the software framework, implemented in [Python](http://www.python.org), |
| that underpins the [Melange](MelangeIntro.md) project. This framework is |
| designed to make it possible to host Melange applications, such as the |
| [Google Summer of Code](GSoC.md) <sup>TM</sup> and the |
| [Google Highly Open Participation](GHOP.md) <sup>TM</sup> Contest on the |
| [Google App Engine](http://code.google.com/appengine/). |
| |
| The framework follows a ModelViewController pattern. Entities of each |
| [Model](ModelsOverview.md) are stored in the |
| [Google App Engine Datastore](http://code.google.com/appengine/docs/datastore/). |
| Sharing the Models between different [Melange](MelangeIntro.md) 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 [Views](ViewsOverview.md) are implemented using Django templates |
| and forms. Other possible Views are implemented as |
| [GData APIs](GDataOverview.md) and [Atom feeds](FeedsOverview.md). 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 [Controllers](ControllersOverview.md) in the SoC framework |
| implement the "business logic" that actually forms the core of each separate |
| [Melange](MelangeIntro.md) web application. For each real-world program |
| (e.g. [GSoC](GSoC.md) or [GHOP](GHOP.md)), 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 [guidelines for contributors](ContributionTerms.md) 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_ |
| [Creative Commons Attribution 2.5 License](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html). |
| [](http://creativecommons.org/licenses/by/2.5/) |