[[PageOutline]]
= Per-app credit =
By default, BOINC maintains the credit granted to
teams, users, and hosts, both total and average.
You can optionally maintain credit for teams and users
on a per-application basis.
This information is stored in DB tables '''credit_user''' and '''credit_team'''.
Note: doing this will increase DB size and server load.
To maintain per-app credit, put
{{{
}}}
in your config.xml file.
== Displaying per-app credit ==
Per-app credit is displayed and exported in terms of '''sub-projects'''.
A sub-project is a named set of apps.
Define your sup-projects in ''html/project/project.inc'' in the form
{{{
$sub_projects = array(
array("name" => "Remote Test", "short_name" => "RT", "appids" => array(16)),
array("name" => "Uppercase", "short_name" => "UC", "appids" => array(1, 25)),
);
}}}
'''name''' is what's shown on web pages.
'''short_name''' is optional, and is used to form badge names (see below).
To display per-app credit on your web site
(in the user and team pages)
you must supply functions
{{{
project_user_credit($user)
project_team_credit($team)
}}}
in your '''html/project/project.inc'''.
These functions must generate table rows describing
the credit granted to each app for the given user or team.
The example file '''boinc/html/project.sample/project.inc'''
contains an example of how to do this.
Remove the '''if(0)''' and change the sub-project specs to suit your project.
== Exporting per-app credit ==
The [DbDump db_dump] program writes per-app credit in two files
'''user_work.gz''' and '''team_work.gz''' in your html/stats directory.
== Decaying per-app credit ==
Average credit is automatically decayed when credit is granted.
However, if a user or team stops getting credit, this won't happen;
you need to run a script '''decay_credit_by_app.php'''
to decay the credit of inactive users and teams.
Add something like this to your config.xml:
{{{
run_in_ops decay_credit_by_app.php
1 day
}}}
== Granting badges based on per-app credit ==
The script '''html/ops/badge_assign_custom.php''' grants badges based
on subproject credit totals.
See its comments for instructions.