94855df792aef9f43194fd08f2d7291a56de3e78
[working/Evergreen.git] / docs / RELEASE_NOTES_NEXT / Client / workstation-server-settings.adoc
1 Browser Client Settings & Preferences Stored on the Server
2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 Browser cilent settings and preferences that should persist over time are
4 now stored as settings on the server.  This allows settings to follow
5 users and workstations and reduces problems associated with losing settings 
6 as a result of clearing browser data.
7
8 The browser client honors setting values stored as user settings, workstation
9 settings, and org unit settings, depending on which setting types are
10 locally configured.
11
12 Setting Types
13 +++++++++++++
14
15 * No setting can be both a user and workstation setting.  They are mutually
16   exclusive.
17 * Any setting can be an org unit setting in addition to being a user or
18   workstaion setting.
19
20 Read-Only Settings
21 ++++++++++++++++++
22
23 Read-only settings are useful for defining values that staff can use but
24 not modify.  For example, admins may wish to prevent users from locally
25 modifying the grid configuration for a given interface so it remains
26 consistent for all users.
27
28 A setting is read-only when an org unit setting type exists (regardless of 
29 whether a value is applied) and no user or workstation setting type exists.
30
31 Upgrade Notes
32 +++++++++++++
33
34 A new permission APPLY_WORKSTATION_SETTING has been added to control who
35 may apply values to workstation settings.  Use something like the following
36 to apply the permission to all staff accounts (mileage may vary):
37
38 [source,sh]
39 --------------------------------------------------------------------------
40 INSERT INTO permission.grp_perm_map (grp, perm, depth) 
41 VALUES (
42     (SELECT id FROM permission.grp_tree WHERE name = 'Staff'), -- name may vary
43     (SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
44     0 -- or 1, 2, etc.
45 );
46 --------------------------------------------------------------------------
47
48 Workstation setting types matching values previously stored in the browser
49 (via localStorage or Hatch) are created as part of this feature.  During
50 upgrade, admins should consider whether any of these new setting types 
51 should be transferred to user and/or org unit settings instead.  Setting
52 type changes can be made at any time, but when a setting type is deleted
53 all of its data is deleted, so a change in type means re-applying the 
54 settings in the browser client.
55
56 Values stored in the browser will automatically migrate to server settings
57 as each setting is accessed in the browser client.  Once migrated, the
58 in-browser copies are deleted.  
59
60 If a setting type does not exist where the browser expects one, the 
61 value is stored in-browser instead and a warning is issued in the console.
62
63