The SoC framework implements workflows that pass Proposals, Tasks, and other WorkItems from one user to another. These users can serve in one or more roles, and these roles define which RoleViews and WorkViews the user is able to see and interact with.
Each role is represented in the Google App Engine Datastore by an entity model. RoleModels summarizes the relationships between these models.
The Reviewer role is filled by a Person who reviews the work performed on Tasks done by a Contributor. Again, in Google Summer of Code, a mentor with an assigned, accepted student would be considered a Reviewer.
The Author role is filled by a Person who creates (or “authors”) Tasks for a Program. In Google Summer of Code, students who create applications to be reviewed for acceptance into the program are Authors. Contrast this with Google Highly Open Participation, where representatives of participating Organizations author the Tasks to be completed by the students.
The Administrator role is filled by a Person who:
The Host role is filled by a Person who:
The Developer role is the Melange super-admin, who:
This is not currently modeled in the User Model (but may be, as a new Property, in the future), but is instead managed via the Google AppEngine function
users.is_current_user_admin(). This solves the “chicken-and-egg” problem about how any “super-user” entities in the Melange application get created if there are no existing such entities.
Copyright 2008 Google Inc. This work is licensed under a Creative Commons Attribution 2.5 License.