= 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.
The set of keywords is decided by the community.
If you want a keyword that's not there, please contact David Anderson.
== 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.
The information in this file is exported in your project's get_project_config.php.
It's not currently used for anything.
It will be used for various project-browsing purposes in the future.