===== Do I Need The Java Shim (AKA Hatch) For My Browser Staff Client? ===== ==== Printing ===== === I need to print unmediated (without a dialog) to multiple printers, like receipt and label printers. === == You need Hatch == === I need to print to exactly one printer unmediated. === == You do NOT need Hatch == * Firefox and Chrome both provide mechanisms for dialog-free printing. * For example, in Firefox, it means adding an about:config boolean preference called "print.always_print_silent" with a value of "true". * Note: only activate silent printing after initial printer configuration. === I need to apply custom printer settings === == You do NOT need Hatch == * When printing via the browser, use the browser's native print configuration dialog instead of the Evergreen/Hatch print configuration tool. ==== Offline ==== === I create offline transactions === == You do NOT need Hatch == * NOTE: Offline data is stored in IndexedDB storage within the browser. This is separate and safer than localStorage, or cookie and cache storage. === I manage offline sessions (upload batches) === == You do NOT need Hatch == * See also note from above * NOTE: uploading externally created offline files will be handled via file upload, similar to the XUL client. ==== Storing Local Preferences ==== === I need to store local preferences (workstation, grid layout, other UI preferences) outside of the browser in a shared location === == You need Hatch == * Do this to persist preferences across multiple browsers * Do this to prevent tampering with preferences or the workstation name by staff via the browser developer tools. * Note: you can also do this by disabling access to the developer tools through browser configuration. (e.g. [[https://support.google.com/chrome/a/answer/2657289?hl=en|Chrome User Policies]]) === I'm fine storing all preferences directly in the browser === == You do NOT need hatch == * The browser's local storage will be used.