Changes between Version 14 and Version 15 of DevProjects


Ignore:
Timestamp:
Nov 2, 2007, 2:23:53 PM (16 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevProjects

    v14 v15  
    77To get started, find a small bug fix or enhancement to do (look at the BOINC bug database, the email lists, or message boards for ideas). Look at the source code and think about how you would implement it. Then communicate with the [ProjectPeople area owner], sketching what you want to do and how. Work with the the area owner to carry out and check in the work.
    88
    9 The following medium-to-large development projects are available:
     9The following development projects are available:
    1010
    11     * Applications
     11== Applications ==
     12
     13Easy:
     14          * Create Makefiles and project files to build the sample applications using MinGW and DevC++.
     15Medium:
     16          * Write example FORTRAN application and Makefiles/ project files
     17Hard:
    1218          * Write an example compound application (and suggest API revisions to make this easier).
    13           * Create Makefiles and project files to build the sample applications using MinGW and DevC++.
    1419          * Investigate the crlibm library for generating identical results across processors (or at least reducing the number of cases for HR).
    1520          * Java support: core client checks for the existence of JVM, reports version to scheduler. Write Java wrapper (runs JVM, gives it jar files). Note: Sztaki has already done some part of this.
    1621          * Same, .NET
    1722          * Distributed Python: Borrow or invent a notation for master/slave execution in Python. Develop a system that implements this on BOINC, i.e., creates WUs and applications, and harvests the results.
    18           * Write example FORTRAN application and Makefiles/ project files
    19     * Core client:
     23
     24 == Core client ==
     25Medium:
    2026          * 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).
     27          * Don't enforce RAM limits unless free RAM is low
     28          * GUI RPC to tell apps to checkpoint and quit.
     29Hard:
    2130          * Have the core client sense CPU temperature and throttle CPU if it goes too high. Open-source software for this (on Linux) is at http://www.lm-sensors.org/.
    2231          * Windows: get proxy config info directly from the OS
     
    2736          * Integrate !BitTorrent ([http://www.rasterbar.com/products/libtorrent/ libtorrent]?) with the core client.
    2837          * Do potentially slow RPCs and other tasks (such as computing disk usage) in a separate thread.
    29           * Don't enforce RAM limits unless free RAM is low
    3038          * Log result start/ends (for use by 3rd-party software like !BoincView).
    3139          * Prevent disk space usage from exceeding user preferences, and enforce resource shares, with file deletion according to project policy.
    3240          * Make messages of class MSG_USER_ERROR translatable.
    33           * GUI RPC to tell apps to checkpoint and quit.
    3441          * Vista: if get 'about to shut down' msg from OS, stop apps immediately (don't tell them to checkpoint). Investigate.
    3542          * XML stats: add lat/long to user record?
    36     * BOINC Manager:
     43==  BOINC Manager ==
     44Easy:
    3745          * If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere
     46Hard:
    3847          * Properties pages for projects, jobs
    3948          * Turn off alerts (Rom's working on this)
    4049          * Have the Manager do RPCs in a separate thread.
    41     * Server/Back End:
     50==  Server/Back End ==
     51Medium:
    4252          * 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.
     53Hard:
    4354          * Implement a mechanism so that server software detects incompatible database format
    4455          * Scheduler: implement mechanisms so that server:
    4556                * Attempts to send results from the same WU to hosts with similar speed, so that a fast host doesn't have to wait weeks to get credit.
    4657          * Implement a 'benchmark result' mechanism: every host runs a benchmark result per app version, and the CPU time determines credit/CPU for future results
    47     * Web features:
    48           * User flag: team admin.
    49           * Team flag: approval required.
    50           * Groups (sub-teams).  New DB table with name, description, team ID, flags, forum ID.  Flags:
    51           * Group membership table.
     58==  Web features ==
     59Easy:
     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
     65Medium:
     66          * Add a mechanism where team members can be designated as 'admins', and have some of the powers of the founder.
     67          * Add a mechanism where joining a team or group requires approval of an admin.
     68          * Groups (sub-teams).  New DB table with name, description, team ID, flags, forum ID. Group membership table.
     69Hard:
    5270          * 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.
    5371          * Same for forum preferences
    54           * Combine user page and profile
    5572          * Add new profile features:
    5673                * 'Buddy lists'
    5774                * list of recent posts and threads this person created, on this and other projects
    5875                * other features from social networking sites?
    59           * Change the ops/ web pages to require login by a user with admin privileges.
    6076          * 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.
    6177          * 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.
    62           * Change default Q&A page to refer BOINC-specific questions to BOINC web site
    63 
    64 Please check with [ProjectPeople David Anderson] before undertaking any of these.
     78Please check with [ProjectPeople area owner or David Anderson] before undertaking any of these.