15 | | === Back-end === |
16 | | |
17 | | Requires advanced knowledge of PHP and MySQL. |
18 | | |
19 | | Easy: |
20 | | * Convert PHP code to use [PhpDb the new database abstraction layer]. |
21 | | * Combine user page and profile |
22 | | * Change the ops/ web pages to require login by a user with admin privileges. |
23 | | * Change default Q&A page to refer BOINC-specific questions to BOINC web site |
24 | | * As much as possible; separate back-end and front-end code, to enable front-end specialists to edit front-end code without having to know about, or deal with back-end code. |
25 | | |
26 | | Medium: |
27 | | * Add a mechanism where team members can be designated as ‘admins’, and have some of the powers of the founder. |
28 | | * Add a mechanism where joining a team or group requires approval of an admin. |
29 | | * Groups (sub-teams). New DB table with name, description, team ID, flags, forum ID. Group membership table. |
30 | | Difficult/Complex: |
31 | | * Propagate profiles between projects. When create or edit profile, if attached to other projects, show ‘propagate changes’ page, with checkboxes for other projects (must have same password on other projects). Add web RPCs for updating profile (args: user ID, profile, password hash). Implement this so that page doesn't block waiting for replies from RPCs. NOTE: this may not be a good idea — spammers could exploit it. |
32 | | * Same for forum preferences |
33 | | * Add new profile features: |
34 | | * ‘Buddy lists’ |
35 | | * list of recent posts and threads this person created, on this and other projects |
36 | | * other features from social networking sites? |
37 | | * Add ‘referral’ mechanism: new user creates account, enters email of ‘referrer’ (or goes to URL that has it embedded). Give referrer a fraction of credit (or a 1-time bonus). List referrals on user page (show only those still active). Add new referral table to DB. |
38 | | * Make it easy for teams to offer a client download that features their skin, and pre-register the user on that team for any projects he attaches to. |
39 | | |
| 53 | |
| 54 | === Back-end === |
| 55 | |
| 56 | Requires advanced knowledge of PHP and MySQL. |
| 57 | |
| 58 | Easy: |
| 59 | * Colaboration/consultation with front-end specialist(s) when wanting to alter front-end code due to back-end changes (see front-end section). |
| 60 | * Convert PHP code to use [PhpDb the new database abstraction layer]. |
| 61 | * Combine user page and profile |
| 62 | * Change the ops/ web pages to require login by a user with admin privileges. |
| 63 | * Change default Q&A page to refer BOINC-specific questions to BOINC web site |
| 64 | * As much as possible; separate back-end and front-end code, to enable front-end specialists to edit front-end code without having to know about, or deal with back-end code. |
| 65 | |
| 66 | Medium: |
| 67 | * Must reliably produce valid front-end code (mark-up). |
| 68 | * Add a mechanism where team members can be designated as ‘admins’, and have some of the powers of the founder. |
| 69 | * Add a mechanism where joining a team or group requires approval of an admin. |
| 70 | * Groups (sub-teams). New DB table with name, description, team ID, flags, forum ID. Group membership table. |
| 71 | Difficult/Complex: |
| 72 | * Propagate profiles between projects. When create or edit profile, if attached to other projects, show ‘propagate changes’ page, with checkboxes for other projects (must have same password on other projects). Add web RPCs for updating profile (args: user ID, profile, password hash). Implement this so that page doesn't block waiting for replies from RPCs. NOTE: this may not be a good idea — spammers could exploit it. |
| 73 | * Same for forum preferences |
| 74 | * Add new profile features: |
| 75 | * ‘Buddy lists’ |
| 76 | * list of recent posts and threads this person created, on this and other projects |
| 77 | * other features from social networking sites? |
| 78 | * Add ‘referral’ mechanism: new user creates account, enters email of ‘referrer’ (or goes to URL that has it embedded). Give referrer a fraction of credit (or a 1-time bonus). List referrals on user page (show only those still active). Add new referral table to DB. |
| 79 | * Make it easy for teams to offer a client download that features their skin, and pre-register the user on that team for any projects he attaches to. |