= Preferences implementation = == General preferences == General preferences are represented by an XML element of the form: {{{ http://setiathome.berkeley.edu/ http://setiboinc.ssl.berkeley.edu/sah_cgi/cgi 1140215730 3 60 0.1 2 60 100 50 0.1 75 0 0 3 60 0.1 2 60 100 50 0.001 75 0 0 }}} The first set of preferences are the default; each set of venue-specific preferences is enclosed in a element. The optional and elements indicate the source of the preferences. On the client, the global prefs are stored in global_prefs.xml (present only if they've been obtained from a server). A scheduler RPC request includes global_prefs.xml if it's present. If the request includes global prefs, the scheduler installs them in the DB if the DB copy is missing or older. If the DB copy is newer, it includes it in the reply. If the request has no prefs and they're present in the DB, they're included in the reply. When handling a scheduler RPC reply that includes global prefs, the client writes them to global_prefs.xml, prepending the project and scheduler URLs is absent. == Project preferences == Project preferences are represented by an XML element of the form: {{{ 50 Custom Pillars Rectangles 30 50 10 5 0.7 10 20 30 30 2000 40 Rainbow 0 1 1095011196 background http://setiweb.ssl.berkeley.edu/~davea/yosemite_08_04/800/P1010008.jpg 100 SETI@home classic Pillars Rectangles 30 50 10 5 0.7 10 20 30 30 2000 40 Rainbow 0 1 }}} On the client, the project prefs are stored in a file account_XXX.xml, which has the additional elements. A scheduler RPC reply always includes project prefs. When handling a scheduler RPC reply, the client writes them to the account_X.xml file, prepending the master URL and authenticator.