| #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] |