Madhusudan C.S | Implementation of Task-based GHOP-like work flow |
---|
Required background reading for GHOP, especially Google documents linked from the archives, is the GHOP Contest Administrative List.
A few big gotchas:
These things are what make it legally OK to run GHOP as a contest. GHOP has to be a contest since we are dealing with those under the age of majority. I do not understand why the world has decided it is ok to give money to kids through a contest but not in other fashions. I <3 our lawyers since they understand this so I do not have to do so.
Worth noting: tasks have assigned mentors, but GHOP is more about pooled mentoring resources. Any mentor should be able to review any task if they'd like to, but an assigned mentor is the person committing to be the go to person for student questions. No reason not to have more than one mentor per task.
It was a big old pain in the past that we did not track time estimates for tasks systematically. Organizations need to set a time limit for each task, though it is at their option to extend the amount of time a student can work on a given task if good work is in progress.
For example, if an organization says a task should take two days, then a clock counting down from 48 hours should begin counting down as soon as a mentor sets the task to claimed status. It would be awesome if we could email mentors about when a task is due, this is detailed in email notifications below.
Tasks are not scored, they are either done or not done. The task states below define different states along the not done to done spectrum.
There is now a wiki page LifeOfaGhopTask.
List of GHOP issues, including stories and closed issues.
List of open GHOP issues.
Madhu: Can we call a few of the org admins/mentors who participated in previous GHOP for a meeting (IRC?), so we can get their opinions on how to implement the new GHOP framework, what was wrong last time and stuff (or e-mail)
Edit hint: New page “New General Capabilities for GHOP” ?
Submitting Your Claim for Prizes Online and Submitting Your Parental Consent Form - instead of faxing or sending this forms via email to Program Administrator, student will have ability to upload scanned document to their GHOP profile account
We can accept files that are up to 1Mb in Google App Engine, patches usually are small, documentation too, the only probably we will have is screencast but we will figure it out. Due to GAE limitation we won't be accepting big files.
More about claiming prizes: http://groups.google.com/group/ghop-announce/web/how-to-claim-your-ghop-prizes
(Nice to Have) Using GHOP calendar and Calendar API mentors, admins, students would get reminders about important dates in the program, emails can be send to the program group or/and to users emails (same for GSoC, that way LH has less work and life is good)
Mentors and org admins should be able to setup task update notifications. Mentors/OAs should be able to add tags to tasks like needs rework or task closed because work was successfully completed. If the task is updated (status changed or comment posted) students, mentors get an email. We already have notification system in place for GSoC but this might need some additional work.
Task activity info: It should be possible to determine how many times a task has been reopened, how many students worked on it by anyone. This should also be easily available when generating reports.
If a student has requested to claim a task then, the task must be locked down so no one else requests it.
(NTH) Org Admins/Mentors should be able to bulk upload tasks from a CSV file.
(NTH) Org Admins/Mentors should be able to bulk download tasks into a CSV file.
(NTH) RSS/Atom feeds for keeping up with the progress of an Organization.
Org Admins should be able to bulk accept tasks - It can be a check box associated with each task in the list, and there should be a button to accept all checked tasks. Also they must have ability to accept all tasks created by a particular mentor by typing in his name.
Check boxes for list of filtered tags. User must be able to check all the required tags and subscribe to them.
(NTH) Repeatable Tasks
New Tags now in TagsInMelange
(Nice to Have) Progress variable for each task so that GHOP student can update the value of it during the time he works on the particular task (0%-100%), that will also allow mentor to track progress of students tasks, when task is 100% complete mentor can get email notification to take action on particular student task (Close it)
Each GHOP tasks should have public difficulty level, which can be later helpful in selecting grand prize winners and runner ups (not only amount of tasks counts but also quality of student work, task difficulty and other factors), organization has quick access to overview of what kind of tasks each student did and what‘s it’s total point sum etc., this might be also available only for admins and mentors just in order to make a Grand Prize winners choosing process easier. Closely related to the need for time estimates and time limits in number of hours after the task is assigned for all tasks. This might tie into the overall concept of tagging, but more likely it is a numerical measure of how many hours it is expected to take.
Task preparation (privately): Tasks should have a way to be hidden from the students until an org admin decides they are ready to be published.
Sorting of tasks based on tags should be allowed.
Program Administrator should have a special view to assign or tune the tasks list quota per project at any instant of time when the program is active. Note: An organization administrator should not be able to arbitrarily change their own task quota, as a sponsor is only committing to provide a certain amount of prize money.
There is no reason not to display the overall number of tasks that an organization can set out for contestants publicly. Let's do so.
All work on these tasks should be public, meaning claiming is public, it is public when review is needed, review comments are public, etc.
Selecting grand prize winner should be done via public views in the GHOP Melange project showing student tasks, tasks amount and difficulty level
(Required) Anyone should be able to track students progress, completed tasks, open/reopened tasks, claimed tasks, there will be special views for that with filter options (status of the tasks should be open to public)
Timeline logic already created for Summer of Code will be used for GHOP too. However the important dates for a GHOP based program need to be added to the respective TimeLine model. The extra dates are: Contest start, Contest End and “No more Claims” Deadline.
Q: Will we register dates with ‘timeline’, or will we derive a subclass?
A:
None for this GHOP? It's all in public trackers.
For_GHOP_20 Selecting grand prize (this process should be similar to how proposals are rated in GSoC but public)
For_GHOP_20 Additionally using special view org admin can setup number of runner ups and select them from participating students (this can be later on used to automatically generate list of both grand prize winners and runner ups)
More explanation of Automatic Prizes, which could be part of the dashboard, has been moved to For_GHOP_20.
Organization will just pick the grand prize winner student and runners ups in the web ui where they already have access to all the students and their tasks. That way we can easily generate a page which shows selected students.
Essential
Human not computer logic
Nice to have
Surveys are not required to run GHOP, nor are statistics, however, both features are highly desirable. Each contributes to making GHOP easier to run by giving more information about how GHOP is progressing. GHOP's requirements may influence some decisions about what order features of these GSoC projects should be tackled in and will help to shape the detailed requirements for these features.
Really, these are all nice to haves for now. Really nice to have, but NTHs nonetheless. We need to get core functionality working before we worry about running better reports and asking for feedback, etc. systematically. We need to focus on getting the core functionality running first. However our GSoC students are going to work Surveys and Statistics modules so we will make sure that they are generic enough to be reused for both GSoC and GHOP program types.