Changes between Version 33 and Version 34 of DevProjects
- Timestamp:
- Nov 26, 2007, 3:02:36 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevProjects
v33 v34 19 19 Easy: 20 20 * Convert PHP code to use [PhpDb the new database abstraction layer]. 21 * Combine user page and profile 21 * Combine user page and profile. 22 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 * Convert team name HTML and team description to BBcode 25 * Use rich-text editing widget (e.g. Yahoo) wherever we allow BBcode 23 * Change default Q&A page to refer BOINC-specific questions to BOINC web site. 24 * Convert team name HTML and team description to BBcode. 25 * Use rich-text editing widget (e.g. Yahoo) wherever we allow BBcode. 26 26 27 27 Medium: … … 29 29 * The arrival of a private message, or a new post in a subscribed thread, maybe moderation events (and maybe other things we haven't thought of yet) produce "notification events". 30 30 * Notification events are shown on the Your Account (and maybe on any page that requires login). 31 * Notification events are exported as an RSS feed, so you can see them in an RSS reader 31 * Notification events are exported as an RSS feed, so you can see them in an RSS reader. 32 32 * The BOINC manager will (optionally) poll this RSS feed and show new items as alerts. 33 33 * You can optionally ask for email notifications, either one email per event or a daily digest. This will be separate from the "accept email newsletters from project", which is currently overloaded with PM notification. … … 37 37 Difficult/Complex: 38 38 * 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. 39 * Same for forum preferences 39 * Same for forum preferences. 40 40 * Add new profile features: 41 * ‘Buddy lists’ 42 * list of recent posts and threads this person created, on this and other projects 41 * ‘Buddy lists’. 42 * list of recent posts and threads this person created, on this and other projects. 43 43 * other features from social networking sites? 44 44 * 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. … … 48 48 == Applications == 49 49 Easy: 50 * Create Makefiles and project files to build the sample applications using MinGW and Dev C++.50 * Create Makefiles and project files to build the sample applications using MinGW and Dev-C++. 51 51 Medium: 52 * Write example FORTRAN application and Makefiles/ project files 52 * Write example FORTRAN application and Makefiles/ project files. 53 53 Difficult/Complex: 54 54 * Write an example compound application (and suggest API revisions to make this easier). … … 60 60 == Core client == 61 61 (Requires advanced C++ system programming experience) 62 62 63 Medium: 63 64 * Add a preferences for total download and upload in a month (many Australian ISPs have monthly limits), or per X hours of processing time (see email from Kevin Reed). … … 66 67 Hard: 67 68 * Have the core client sense CPU temperature and throttle CPU if it goes too high. [http://www.lm-sensors.org/ Open-source software for collecting sensor data (on Linux)] is available. 68 * Windows: get proxy config info directly from the OS 69 * Windows: get proxy config info directly from the OS. 69 70 * After an applications exits or is killed (for whatever reason) make sure (after a few second delay) that its subprocesses are gone too. Don't restart the job until this happens. Unix: use process groups and killpg(). 70 71 * More generally: make a better state machine for shutting down apps: tell them to checkpoint, wait a little, tell them to quit, clean up straggler processes. … … 78 79 * Vista: if get 'about to shut down' msg from OS, stop apps immediately (don't tell them to checkpoint). Investigate. 79 80 * XML stats: add lat/long to user record? 81 80 82 == BOINC Manager == 81 83 (Requires experience with !WxWidgets GUI toolkit) 82 84 83 85 Easy: 84 * If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere 86 * If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere. 85 87 Hard: 86 * Properties pages for projects, jobs 87 * Turn off alerts (Rom 's working on this)88 * Properties pages for projects, jobs. 89 * Turn off alerts (Rom Walton is working on this). 88 90 * Have the Manager do RPCs in a separate thread. 89 == Server/Back End == 91 92 == Server/Back End == 90 93 91 94 (Requires advanced C++/Unix system programming experience) … … 94 97 * When using HR, if the scheduler has sent one result of a WU using a particular app version, it should use the same app version for other results from that WU. 95 98 Hard: 96 * Implement a mechanism so that server software detects incompatible database format 99 * Implement a mechanism so that server software detects incompatible database format. 97 100 * Scheduler: implement mechanisms so that server: 98 101 * Attempts to send results from the same WU to hosts with similar turnaround time, so that a fast host doesn't have to wait weeks to get credit. 99 * Implement a ‘benchmark result’ mechanism: every host runs a benchmark result per app version, and the CPU time determines credit/CPU for future results 102 * Implement a ‘benchmark result’ mechanism: every host runs a benchmark result per app version, and the CPU time determines credit/CPU for future results. 100 103 101 104 Please check with [ProjectPeople area owner or David Anderson] before undertaking any of these.