= Job keywords =
[DesignKeywords Keywords] describe the attributes of jobs, such as:
* The area of science it contributes to
* The location of the research group that submitted it.
Keywords are used for various purposes in BOINC, such as
* Informational: volunteers can see job keywords in the BOINC Manager
and on the project web site.
* Preferences: volunteers can express preferences for keywords,
which limits what jobs are sent to the volunteer.
Currently this is supported in the account manager architecture;
it would also be possible to support it at the project level.
== Keyword headers ==
Keywords are identified by permanent integer IDs, and also by symbols mapped to these IDs.
The current list of keywords can be obtained as:
* [https://boinc.berkeley.edu/keywords.php an XML file]
* [https://boinc.berkeley.edu/keywords.php?header=python a Python header file]
* [https://boinc.berkeley.edu/keywords.php?header=c a C header file]
* [https://boinc.berkeley.edu/keywords.php?header=bash a Bash header file ]
* [https://boinc.berkeley.edu/keywords.php?header=php a PHP header file ]
== Keywords in job submission ==
The [JobSubmission job submission interfaces] let you associate keywords with jobs.
== Keyword scheduling ==
If you include
{{{
}}}
in your project's config.xml, score-based scheduling will include a keyword component:
if a volunteer has a "no" preference for keyword X,
they won't be sent jobs with keyword X,
and if they have a "yes" preference,
they will preferentially be sent jobs with that keyword.
== Project keywords ==
You can also associate keywords with your project as a whole.
Do this by creating a file "project_keywords.xml" in the project root directory.
This file has the format
{{{
4
{ .7 }
...
}}}
Include if not all jobs have that keyword.
The number express what fraction of your project's work (measured in FLOPs)
have that keyword.