#summary Overview of the various work items in Melange
#labels Phase-Requirements,Contents-Draft

The [SoCOverview SoC framework] implements workflows that pass
[ProposalModel Proposals], [TaskModel Tasks], and other WorkItems from
one [UserModel user] to another.  These work items can be created,
[WorkViews viewed], and manipulated by users.

Each work item is represented in the
[http://code.google.com/appengine/docs/datastore/ Datastore] by an entity
model.  WorkModels summarizes the relationships between these models.

== Work ==

The Work item is a basic item from which all other work items derive.  This
item is represented in the [http://code.google.com/appengine/docs/datastore/
Datastore] by [WorkModel Work entities].

== Proposal ==

The most basic derived Work is the [ProposalModel Proposal].  A Proposal
contains details related to what is being proposed, such as a description.
Proposals may be created by either Reviewers or Contributors, depending on the
actual workflow of the Program.  See the [WorkItems#Task Task description] for
more details.

== Review ==

The [ReviewModel Review] is an abstract derived Work that is not used
directly, but is instead used to "adorn" [WorkItems#Proposal Proposals] and
[WorkItems#Task Tasks].

== Survey ==

A [SurveyModel Survey] is a "sub-class" of a [WorkItems#Review Review] (but is
implemented as more of an envelope-letter arrangement).  That is, a
[WorkItems#Review Review entity] "contains" (among other possibilities) a
reference to a [SurveyModel Survey].

_*TODO: perhaps Review and Survey should be combined, with a generic
one-question survey available for a free-text comment.  For that matter,
perhaps the as-yet-defined Commenting and Scoring systems should just use the
combined Review/Survey result.*_

== Task ==

A [TaskModel Task] is a [WorkItems#Proposal Proposal] that has been "promoted"
to the state of a task underway (and eventually completed, aborted, discarded,
rejected, etc.).  Proposals are converted to Tasks when claimed by
Contributors (in the case of Reviewer-created Proposals), or when selected by
Reviewers (in the case of Contributor-created Proposals).

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