diff --git a/ProjectSpecificPrefs.md b/ProjectSpecificPrefs.md index 2dc7548..2f0c04a 100644 --- a/ProjectSpecificPrefs.md +++ b/ProjectSpecificPrefs.md @@ -1,17 +1,24 @@ +# Project-specific preferences + You can provide users with a set of project-specific preferences, controlled via a web interface. These preferences are stored in XML, in a field of the user table. -You determine the structure of this XML, and what it's used for. -On the client, the XML is passed to your application in the [APP_INIT_DATA structure](BasicApi#Communicatingwiththecoreclient). - -Examples of project-specific preferences include: - -* Graphics preferences: e.g., color scheme. -* [Application selection](AppFiltering): you can allow users to select which of your applications they will be sent work for. - -The PHP code related to project-specific preferences is in `html/project/project_specific_prefs.inc`. +The code related to project-specific preferences is in `html/project/project_specific_prefs.inc`. When you create your project, this is initialized to sample code. -To create your own project-specific preferences, edit this file -(and keep it under SVN or CVS somewhere). + +The sample code contains a number of preferences that you can enable +by setting the corresponding constant to true in your html/project/project.inc: + +* APP_SELECT_PREFS: + [Application selection](AppFiltering): users can select which of your applications they will be sent work for. +* MAX_JOBS_PREFS: users can limit the number of this project's jobs in progress +* MAX_CPUS_PREFS: users can limit the number of CPUs used by this project. +* NON_GRAPHICAL_PREF: users can choose to run non-graphical versions of apps if available. +* COLOR_PREFS: let the user select a color scheme for your application graphics. + (On the client, the XML is passed to your applications in the [APP_INIT_DATA structure](BasicApi#Communicatingwiththecoreclient); + your graphics app can parse this and changes it colors accordingly). +* GFX_CPU_PREFS: the user can limit the % of CPU used by the graphics app. + +To create your own project-specific preferences, edit this file (and keep it under version control somewhere). The functions you must supply are: * `project_specific_prefs_default()` @@ -20,4 +27,4 @@ The functions you must supply are: * `project_specific_prefs_show()` * `project_specific_prefs_parse()` -The sample code provides a working example. \ No newline at end of file +The sample code provides a working example.