[OPEN-ILS-DEV] 3.2 Notes on browser client settings moving to server

Blake Henderson blake at mobiusconsortium.org
Fri Aug 3 15:57:38 EDT 2018


And there was much rejoicing!

-Blake-
Conducting Magic
MOBIUS

On 8/3/2018 1:23 PM, Bill Erickson wrote:
> Hi All,
>
> With special thanks to Kathy Lussier (and Chris Sharp), 
> https://bugs.launchpad.net/evergreen/+bug/1750894 was merged to master 
> today.  This change moves persistent browser client preferences / 
> settings out of the browser (localStorage / Hatch) to the server.  
> With this, preferences and settings will persist across browser 
> sessions and be shareable across multiple browsers.  Clearing 
> localStorage will no longer delete preference values.
>
> This code will impact administration and development of new features.  
> I wanted to review some of those here since it might impact active 
> development.
>
> Developers
>
> 1. New browser client settings/preferences that should persist across 
> browser sessions require a DB upgrade script to add the needed rows to 
> config.worksation_setting_type.
>
> 2. Settings that should only be stored locally (e.g. last retrieved 
> patron) should be stored using hatch.setLocalItem / getLocalItem or 
> the key prefix should be added to the list of special prefixes in 
> hatch.js => service.browserOnlyPrefixes.
>
> 3. Beware that storing preferences on the server means more API calls 
> are needed to load the data.  Whenever possible, make use of the 
> hatch.getItemBatch call to condense lookups into fewer API calls.
>
> Admins
>
> 1. Migration from browser storage to server storage should happen 
> seamlessly as each setting is accessed using the new code.
>
> 2. A workstation setting can be turned into a user setting by creating 
> a matching user setting type (same setting name) and removing the 
> workstation setting type.  Such settings will follow the logged user 
> account instead of the workstation.
>
> 3. No setting can be both a workstation and user setting. They are 
> mutually exclusive.
>
> 4. Org settings with the same name as a user/workstation setting act 
> as a fall-through value.
>
> 5. Org setting types that match a browser preference/setting where no 
> user/workstation setting type exists (or has been deleted) act as a 
> read-only configuration for the setting.  This can be useful, for 
> example, for applying a grid display configuration that cannot be 
> changed by staff.
>
> There are more UI improvements to make for this feature, especially 
> for managing org unit settings, but I wanted everyone to be aware the 
> pieces are in place to do these things on the back-end.
>
> -b
>
>



More information about the Open-ils-dev mailing list