|   | 1 | = Project-specific preferences = | 
                  
                          |   | 2 |  | 
                  
                          |   | 3 | You can provide users with a set of project-specific preferences, | 
                  
                          |   | 4 | controlled via a web interface. | 
                  
                          |   | 5 | These preferences are stored in XML, in a field of the user table. | 
                  
                          |   | 6 | You determine the structure of this XML, and what it's used for. | 
                  
                          |   | 7 | On the client, the XML is passed to your application in | 
                  
                          |   | 8 | the [BasicApi#Communicatingwiththecoreclient APP_INIT_DATA structure]. | 
                  
                          |   | 9 |  | 
                  
                          |   | 10 | Examples of project-specific preferences include: | 
                  
                          |   | 11 |  | 
                  
                          |   | 12 |  * Graphics preferences: e.g., color scheme. | 
                  
                          |   | 13 |  * Application selection: you can allow users to select | 
                  
                          |   | 14 |  which of your applications they will be sent work for. | 
                  
                          |   | 15 |  This is described [AppFiltering here]. | 
                  
                          |   | 16 |  | 
                  
                          |   | 17 | The PHP code that allows users to edit their project-specific preferences | 
                  
                          |   | 18 | is in html/project/project_specific_prefs.inc. | 
                  
                          |   | 19 | When you create your project, this is initialized to sample code. | 
                  
                          |   | 20 | To create your own project-specific preferences, edit this file | 
                  
                          |   | 21 | (and keep it under SVN or CVS somewhere). | 
                  
                          |   | 22 | The functions you must supply are: | 
                  
                          |   | 23 |  | 
                  
                          |   | 24 |  * project_specific_prefs_edit() | 
                  
                          |   | 25 |  * project_specific_prefs_parse_form() | 
                  
                          |   | 26 |  * project_specific_prefs_show() | 
                  
                          |   | 27 |  * project_specific_prefs_parse() | 
                  
                          |   | 28 |  | 
                  
                          |   | 29 | The sample code provides a working example. |