1 |
Note: this is slightly modified version of: post [0] on my blog. |
2 |
|
3 |
Coding for Google Summer of code has ended on Monday so here is a quick |
4 |
overview of what application can do. It’s pretty basic web application, |
5 |
but should do the work in the beginning I’ll continue working on it so |
6 |
some shiny features I (and not only I) wanted in the application shall |
7 |
get here in the future. |
8 |
Users |
9 |
|
10 |
Each user in application has a role. Role can be guest, recruit, mentor |
11 |
or recruiter. There are also two groups with additional permissions: |
12 |
project leads and administrators. Every role has different permissions. |
13 |
User who is not logged in is guest, who can only view some questions and |
14 |
read question descriptions. After creating account user will be recruit |
15 |
or mentor. To be mentor after registration user should use OpenID |
16 |
https://dev.gentoo.org/~nick to register. Recruiters can promote |
17 |
recruits to mentors and demote mentors to recruits. Administrators can |
18 |
demote recruiters to recruits or mentors and promote recruiters to |
19 |
administrators. User must be recruiter to be administrator. |
20 |
|
21 |
Mentors and recruiters must be Gentoo developers for at least 6 months |
22 |
so application requires them to provide their nicks. Application can |
23 |
check if mentors provided nick of Gentoo developer and if developer with |
24 |
this nick is with Gentoo long enough. |
25 |
|
26 |
Application can also fetch list of (sub)*project leads from gentoo.org |
27 |
and mark users who are project leads as project leads. |
28 |
Questions |
29 |
|
30 |
Any signed up user may create a question. Questions created by |
31 |
administrators are public: all users can view them and answer them. |
32 |
Questions created by non-administrators are private (or suggested) |
33 |
questions: only creator and recruiters can view those questions. |
34 |
Administrator can approve suggested question and then it becomes a |
35 |
public question. |
36 |
|
37 |
Questions belong to categories and groups. It probably could use a |
38 |
better wording to avoid confusion (as I explain below they are quite |
39 |
different things but names may be confusing). |
40 |
|
41 |
Recruiters tell users questions in which categories they should answer. |
42 |
They do so by adding relationships between users and categories. |
43 |
|
44 |
Question in group are alternative questions – user should answer only |
45 |
one question from every group. Application choses randomly question user |
46 |
should answer from every question group. Guests can’t see grouped |
47 |
questions – but they can see description of group (so they can prepare |
48 |
to answer question). Recruits can see only those grouped questions they |
49 |
should answer. Mentors can see grouped questions their recruits should |
50 |
answer. Recruiters can see all questions. |
51 |
|
52 |
Question can have content of one of three types: |
53 |
|
54 |
* Text questions. recruits write their answers. Recruiters and |
55 |
mentors then check answer. Mentor of recruit who gave the answer can |
56 |
make comments to help recruit improve answer. Recruiters can give |
57 |
reference answers for questions (only recruiters can see reference answers). |
58 |
* Multiple choice questions. When recruit answers all multiple |
59 |
choice questions [s]he should [s]he will see a message on the home page |
60 |
indicating if all answers were correct or if there was at least one |
61 |
wrong. Application checks if answer is correct by comparing it to |
62 |
reference answers. All multiple choice questions should have reference – |
63 |
if there is no reference answer for question application will assume |
64 |
recruits answer was correct |
65 |
* Email questions. To answer email question recruit sends email to |
66 |
application. The email should match specified conditions (not visible to |
67 |
recruits). |
68 |
|
69 |
Email notifications |
70 |
|
71 |
Application sends email in few cases: When recruit gives a new answer or |
72 |
changes existing answer application sends notification to mentor of the |
73 |
recruit. When mentor comments answer application sends notification to |
74 |
user who gave the answer. When new public question appears application |
75 |
sends notifications to recruits who should answer it. |
76 |
OpenID |
77 |
|
78 |
It’s possible to sign up and login with OpenID. |
79 |
Feedback |
80 |
|
81 |
When answering questions recruits can express their opinion about |
82 |
documentation. |
83 |
|
84 |
[0] |
85 |
http://ahenobarbi.wordpress.com/2010/08/19/gsoc-gentoo-recruiters-web-app-summary/ |