In database: user.global_prefs: XML, within tags may be empty; nonempty only if user has actually seen always includes element includes , elements if prefs came from another project user.project_prefs: XML, within tags always present. contains at least element In client: global_prefs.xml (present ONLY if have obtained from a server) same as user.global_prefs, but the following is inserted at start: stored in memory: in parsed form (as struct) account_XXX.xml same as user.project_prefs, but with the following added: stored in memory: in PROJECT struct master_url, authenticator, resource share parsed; project_specific_prefs raw XML (with enclosing tags) RPC request: includes global_prefs.xml if it's there RPC handling and reply: always send project prefs if request message includes global prefs if missing in DB, or request copy is newer: install in DB else if DB copy is newer include DB copy in reply else if present in DB, include in reply handling of RPC reply if includes global prefs insert , elements if missing write to global_prefs.xml parse into memory project prefs insert , elements, write to account_XXX.xml file parse; update resource share, project_specific_prefs in PROJECT struct "; page_tail(); ?>