Converted UserRoles.md
diff --git a/UserRoles.md b/UserRoles.md new file mode 100644 index 0000000..5e8b651 --- /dev/null +++ b/UserRoles.md
@@ -0,0 +1,68 @@ +The [SoC framework](SoCOverview.md) implements workflows that pass +[Proposals](ProposalModel.md), [Tasks](TaskModel.md), and other WorkItems from +one [user](UserModel.md) 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](http://code.google.com/appengine/docs/datastore/) by an entity model. RoleModels summarizes the relationships between these models. + +## Person + +The Person role is a basic role from which all other user roles derive. This +role is represented in the [http://code.google.com/appengine/docs/datastore/ +Datastore] by [Person entities](PersonModel.md). + +## Contributor + +The Contributor role is filled by a [Person](UserRoles#Person.md) who contributes +progress on Tasks to a [Reviewer](UserRoles#Reviewer.md). In Google Summer of +Code, for example, an accepted student would be considered a Contributor. + +## Reviewer + +The Reviewer role is filled by a [Person](UserRoles#Person.md) who reviews the +work performed on Tasks done by a [Contributor](UserRoles#Contributor.md). Again, +in Google Summer of Code, a mentor with an assigned, accepted student would be +considered a Reviewer. + +## Author + +The Author role is filled by a [Person](UserRoles#Person.md) 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](PersonGroups#Organisation.md) author the Tasks to be +completed by the students. + +## Administrator + +The Administrator role is filled by a [Person](UserRoles#Person.md) who: + * submits an [Organization](PersonGroups#Organization.md) for participation in a Program + * approves [Reviewers](UserRoles#Reviewer.md) for that [Organization](PersonGroups#Organization.md) + +## Host + +The Host role is filled by a [Person](UserRoles#Person.md) who: + * manages the overall Program for a [Sponsor](PersonGroups#Sponsor.md) + * approves [Organizations](PersonGroups#Organization.md) for participation in a Program + +## Developer + +The Developer role is the Melange super-admin, who: + * manages the application deployment + * must create the [Sponsor](PersonGroups#Sponsor.md) and [Host](UserRoles#Host.md) + +This is not currently modeled in the [User Model](UserModel.md) (but may be, as a +new Property, in the future), but is instead managed via the +[Google AppEngine function](http://code.google.com/appengine/docs/users/adminusers.html) +`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](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html). +[](http://creativecommons.org/licenses/by/2.5/) \ No newline at end of file
diff --git a/UserRoles.wiki b/UserRoles.wiki deleted file mode 100644 index d9c5fca..0000000 --- a/UserRoles.wiki +++ /dev/null
@@ -1,69 +0,0 @@ -#summary Various user roles in Melange -#labels Phase-Requirements,Contents-Draft,Importance-Details - -The [SoCOverview SoC framework] implements workflows that pass -[ProposalModel Proposals], [TaskModel Tasks], and other WorkItems from -one [UserModel 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 [http://code.google.com/appengine/docs/datastore/ Google App Engine Datastore] by an entity model. RoleModels summarizes the relationships between these models. - -== Person == - -The Person role is a basic role from which all other user roles derive. This -role is represented in the [http://code.google.com/appengine/docs/datastore/ -Datastore] by [PersonModel Person entities]. - -== Contributor == - -The Contributor role is filled by a [UserRoles#Person Person] who contributes -progress on Tasks to a [UserRoles#Reviewer Reviewer]. In Google Summer of -Code, for example, an accepted student would be considered a Contributor. - -== Reviewer == - -The Reviewer role is filled by a [UserRoles#Person Person] who reviews the -work performed on Tasks done by a [UserRoles#Contributor Contributor]. Again, -in Google Summer of Code, a mentor with an assigned, accepted student would be -considered a Reviewer. - -== Author == - -The Author role is filled by a [UserRoles#Person 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 [PersonGroups#Organisation Organizations] author the Tasks to be -completed by the students. - -== Administrator == - -The Administrator role is filled by a [UserRoles#Person Person] who: - * submits an [PersonGroups#Organization Organization] for participation in a Program - * approves [UserRoles#Reviewer Reviewers] for that [PersonGroups#Organization Organization] - -== Host == - -The Host role is filled by a [UserRoles#Person Person] who: - * manages the overall Program for a [PersonGroups#Sponsor Sponsor] - * approves [PersonGroups#Organization Organizations] for participation in a Program - -== Developer == - -The Developer role is the Melange super-admin, who: - * manages the application deployment - * must create the [PersonGroups#Sponsor Sponsor] and [UserRoles#Host Host] - -This is not currently modeled in the [UserModel User Model] (but may be, as a -new Property, in the future), but is instead managed via the -[http://code.google.com/appengine/docs/users/adminusers.html 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_ -[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] \ No newline at end of file