#summary Overview of SoC
#labels Phase-Requirements,Contents-Skeleton,Featured

== 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.

----

[http://soc.googlecode.com/svn/wiki/images/SoCOverview.dot http://soc.googlecode.com/svn/wiki/images/SoCOverview.dot.png]

== Legend ==

|| *-------* || direct dependency (inheritance, method call, etc.) ||
|| *- - - -* || indirect dependency (call-back, etc.) ||

----

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