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