| ## 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/) |