.. /* * This file is part of the SavaPage project . * Copyright (c) 2026 Datraverse B.V. * Author: Rijk Ravestein. * * SPDX-FileCopyrightText: (c) 2020 Datraverse B.V. * SPDX-License-Identifier: CC-BY-SA-4.0 * * For more information, please contact Datraverse B.V. at this * address: info@datraverse.com */ .. _ch-webapp-admin-devices: Devices ------- .. contents:: |RST_TABLE_OF_CONTENTS| :depth: 2 :local: .. _ch-webapp-admin-devices-intro: Introduction ~~~~~~~~~~~~ A Device is a hardware component with a dedicated function. SavaPage defines devices of type :ref:`Terminal ` and :ref:`Network Card Reader `. They are identified by IP address and, in case of the reader, a port number. The combination of IP-address and Type must be unique. .. note:: Although most of the time an IP address will harbor one device type, this constraint *does* allow that Terminal and Network Card Reader are combined on a single physical device. - A Network Card Reader acts as *User Authenticator*, either at *Login* or *Proxy Print* time. - A Terminal device runs customized SavaPage Web App Sessions overriding *global* :ref:`User Authentication ` and :ref:`Proxy Print ` defaults. After a *tap* on the |RST_BUTTON_DEVICES| button in the main menu this panel is shown. See :ref:`Menu `. .. _ss-admin-devices-list: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-list.png :alt: Admin Web App: Device - List :width: 400 Admin Web App: Device - List All Devices are listed alphabetically by default. A different selection and sorting can be entered: see :ref:`Admin Web App: Device - Select and Sort `. Press the |RST_BUTTON_NEW_TERMINAL_3_DOTS| or |RST_BUTTON_NEW_CARD_READER_3_DOTS| button to create a new Device. Devices are marked with an icon and hold the following items: |image43| A Network Card Reader used for NFC Card Login at a Terminal. - The name of the Reader. - A referral to the Terminal. - The IP address, port, and location of the Reader. - A time-stamp of the last connection attempt with the status *connected* (green) or *disconnected* (orange). |image44| A Network Card Reader used for NFC Card *Proxy Print Authentication*. - The name, IP address, port, and location of the Reader. - A time-stamp of the last connection attempt with the status *connected* (green) or *disconnected* (orange). - The :ref:`Proxy Printer ` or :ref:`Proxy Printer Group ` for which this reader acts as authenticator. - The Print Mode of the proxy printer(s): Fast, Hold, Direct. |image45| A Terminal with custom settings. - The name, IP address and location of the Terminal. - The :ref:`Proxy Printer ` or :ref:`Proxy Printer Group ` for which this Terminal is entitled to print to. |image46| A Terminal with custom settings and a Network Card Reader used for NFC Card Login. - The name of the Terminal. - A referral to the Reader. - The IP address and location of the Terminal. - The :ref:`Proxy Printer ` or :ref:`Proxy Printer Group ` for which this Terminal is entitled to print to. .. note:: Due to :ref:`Admin Privileges ` certain buttons might *not* be visible. .. _ss-admin-device-select-and-sort: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-select-and-sort.png :alt: Admin Web App: Device - Select and Sort :width: 400 Admin Web App: Device - Select and Sort - Devices can be selected by entering the containing text (fragment) of their Name. So, entering "CARD-" will select both "CARD-READER-PAMPUS" and "CARD-READER-RPI". - Select the |RST_GUILABEL_STATUS|. The |RST_BUTTON_MINUS_SYMBOL| button will select both |RST_BUTTON_ENABLED| and |RST_BUTTON_DISABLED| devices. - Select the |RST_GUILABEL_TYPE|. The |RST_BUTTON_MINUS_SYMBOL| button will select both |RST_BUTTON_READER| and |RST_BUTTON_TERMINAL| devices. - The list can be sorted |RST_BUTTON_ASCENDING| or |RST_BUTTON_DESCENDING| on device name. - *Tap* the |RST_BUTTON_APPLY| button to (re)display the list. - A *tap* on the |RST_BUTTON_DEFAULT| button resets the selection and sort fields to their default values. .. _ch-webapp-admin-devices-card-reader: Network Card Reader ~~~~~~~~~~~~~~~~~~~ A Network Card Reader device runs the SavaPage :ref:`Network Card Reader Service ` . .. _ch-webapp-admin-devices-card-reader-custom-user-login: Custom User Login ^^^^^^^^^^^^^^^^^ .. _ss-admin-device-card-reader-terminal-auth-edit: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-card-reader-terminal-auth-edit.png :alt: Admin Web App: Devices - Network Card Reader - Custom User Login :width: 400 Admin Web App: Devices - Network Card Reader - Custom User Login - A reader is associated to a Terminal in the Terminal dialog. See :ref:`Custom User Login `. The associated |RST_GUILABEL_TERMINAL| is shown here with icon and name. - Tick |RST_CHECKBOX_DISABLED| to disable the Device definition. - The format of the |RST_GUILABEL_NFC_CARD_NUMBER| must be specified. See :ref:`Card Number Format `. .. note:: A Network Card Reader can be used as NFC Card Login authenticator by just one Terminal. .. _ch-webapp-admin-devices-card-reader-proxy-print-auth: Proxy Print Authentication ^^^^^^^^^^^^^^^^^^^^^^^^^^ A Network Card Reader can act as print job authenticator for a single :ref:`Proxy Printer ` or a :ref:`Proxy Printer Group `. When the reader device is placed next to the printer device this setup implements `Pull Printing `__. .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-card-reader-proxyprint-identity.png :alt: Admin Web App: Devices - Network Card Reader :width: 400 Admin Web App: Devices - Network Card Reader .. _ss-admin-device-card-reader-proxyprint-auth-edit: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-card-reader-proxyprint-auth-edit.png :alt: Admin Web App: Devices - Network Card Reader - Proxy Print Authentication :width: 400 Admin Web App: Devices - Network Card Reader - Proxy Print Authentication Checking the |RST_CHECKBOX_PROXY_PRINT_AUTHENTICATION| option shows all the detail options. The |RST_GUILABEL_PRINT_MODE| determines the authentication scenario. Basically there are three modi: :ref:`Fast `, :ref:`Hold ` and :ref:`Direct `. Fast Mode can be combined with Hold and Direct Mode. See :ref:`Combining Print Modes `. - Depending on the Print Mode, the name of a :ref:`Single Printer ` and/or :ref:`Printer Group ` |RST_GUILABEL_TARGET| must be selected. Which targets are needed is explained in the Print Mode subsections below. - The format of the |RST_GUILABEL_NFC_CARD_NUMBER| must be specified. See :ref:`Card Number Format `. .. note:: A Network Card Reader can be deployed for just one purpose. Either for Proxy Print Authentication or for :ref:`Custom User Login ` at a Terminal Device. .. important:: When using Proxy Print Authentication concurrently with the :ref:`User Web App ` and :ref:`User Client ` you are strongly advised to use an external database like PostgreSQL. See :ref:`Using an External Database `. .. _ch-webapp-admin-devices-card-reader-proxy-print-fast: Fast Print Mode ''''''''''''''' Fast Print Mode applies to a |RST_GUILABEL_SINGLE_PRINTER| and supports the following scenario: 1. User prints one or more jobs to |PRODUCT_NAME|. See :ref:`SavaPage as Printer `. 2. User walks to the printer. 3. User swipes NFC token along the reader. 4. As a result he gets one (1) printed copy of all SafePages jobs according to the default printer settings. .. note:: If :ref:`Inherit IPP options from print-in document ` is enabled, the :ref:`IPP Options from PostScript ` Driver Print-in document(s) are used. Expired SafePages documents are *skipped* and *cleared*. The expiry period is set in :ref:`Proxy Print `. A user can extend fast job expiry in the User Web App. See :ref:`Printer Selection `. Expired documents whose deletion is not triggered by Fast Print release are eventually deleted during :ref:`User Home Clean `. - A Fast Print clears *all* SafePages after printing. - This scenario does not need any action in the User Web App. Therefore, it is the shortest way to proxy print with |PRODUCT_NAME|. .. caution:: Fast Print Mode is meant for straightforward proxy printing without intervening editing. So, when users open the Web App and perform a :ref:`Delete ` or :ref:`Sort ` on their SafePages they are supposed to use Hold Print instead. When a Fast Print is tried on edited content, nothing is printed and all SafePages will be cleared as a result. .. important:: When Fast Mode is combined with :ref:`Hold ` or :ref:`Direct ` Mode, and a |RST_GUILABEL_PRINTER_GROUP| is specified, one of the printers from the group must be specified as |RST_GUILABEL_SINGLE_PRINTER|. .. tip:: For Fast Mode printers with a single tray holding A4 media, :ref:`PPD Extensions ` can be used to configure an extra virtual tray for Letter media. See :ref:`Fast Print A4 and Letter to Single Tray `. .. _ch-webapp-admin-devices-card-reader-proxy-print-hold: Hold Print Mode ''''''''''''''' Hold Print Mode applies to a |RST_GUILABEL_SINGLE_PRINTER| or |RST_GUILABEL_PRINTER_GROUP| and supports the following scenario: 1. User prints one or more jobs to |PRODUCT_NAME|. See :ref:`SavaPage as Printer `. 2. User opens the User Web App and :ref:`proxy prints ` to either the Single Printer or one of the printers from the Printer Group. 3. As a result the proxy print job is held. 4. User walks to the chosen printer. 5. User swipes NFC token along the reader. 6. As a result all hold jobs for the printer are printed. Expired hold jobs are *skipped* and *cleared*. The expiry period is set in :ref:`Proxy Print `. A user can delete hold jobs or extend expiry in the User Web App. See :ref:`Hold Print Jobs `. Expired hold jobs whose deletion is not triggered by print release or an active user session are eventually deleted during :ref:`User Home Clean `. .. _ch-webapp-admin-devices-card-reader-proxy-print-direct: Direct Print Mode ''''''''''''''''' Direct Print Mode applies to a |RST_GUILABEL_SINGLE_PRINTER| or |RST_GUILABEL_PRINTER_GROUP| and supports the following scenario: 1. User prints one or more jobs to |PRODUCT_NAME|. See :ref:`SavaPage as Printer `. 2. User opens the User Web App in their mobile device. 3. User selects either the Single Printer or one of the printers from the Printer Group. See :ref:`Printer Selection `. 4. User selects printer and job settings. 5. User walks to the chosen printer. 6. User presses the Print button in the Web App. 7. As a result a dialog pops up prompting the user to swipe an NFC Card for authentication. See :ref:`Direct Print Release `. User has a 10 second time limit to swipe their card. The time limit is set in :ref:`Proxy Print `. 8. User swipes NFC token along the reader. 9. As a result the job is printed. .. _ch-webapp-admin-devices-card-reader-proxy-print-combined-modes: Combining Print Modes ''''''''''''''''''''' Combining :ref:`Fast ` and :ref:`Hold ` Print Mode either in *one* proxy printer, or over *different* printers, needs special attention. Namely, if a user creates a Hold Print Job and does *not* delete the origin SafePages, the same SafePages will remain the target of a Fast Print, leading to duplicate prints. As this may be intended in rare cases, in the majority of cases this will not be intended by the user. To protect the user from unintended duplicate printing the following rules are applied: - If Hold jobs exist for **any** printer, a Fast Print is only done when Proxy Printing is configured to “Always remove SafePages after printing”. This way, because all SafePages are cleared after creating a Hold Job, we know for sure that present SafePages are not part of any Hold Print Job. See :ref:`Proxy Print `. - As a consequence, when Proxy Printing is **not** configured to “Always remove SafePages after printing”, *all SafePages will be ad-hoc cleared after a Hold Print release*. This will prevent that, after all Hold jobs are released at Hold-only printers, and no Hold jobs exist for **any** printer, remaining SafePages will be Fast Printed anyway. The Fast + Hold Print Mode supports the following scenario: 1. User creates a Hold Proxy Print Job. - All SafePages are removed after printing. 2. User prints one or more jobs to |PRODUCT_NAME|. 3. User walks up to the Fast + Hold target printer of the Hold Print Job. 4. User swipes NFC token along the reader. 5. As a result: 1. All Hold jobs for the printer are printed. 2. One (1) copy of all SafePages jobs is printed with the default printer settings. When a user created Hold Print jobs for different printers, each supporting Fast + Hold Print Mode, obviously the Fast Print occurs at the first printer visited. .. _ch-webapp-admin-devices-terminal: Terminal ~~~~~~~~ A Terminal runs customized SavaPage Web App Sessions on a specific device. .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-terminal-edit.png :alt: Admin Web App: Devices - Terminal :width: 400 Admin Web App: Devices - Terminal - The |RST_GUILABEL_IDLE_SECONDS_BEFORE_AUTO_LOGOUT| is targeted at public Terminals and is meant to protect users who forget to logout when done. Enter a number of seconds: the Web App will automatically logout after this period of inactivity. Enter 0 (zero) when no auto logout is desirable. .. _ch-webapp-admin-devices-terminal-proxy-printers: Custom |PROXYPRINT| ^^^^^^^^^^^^^^^^^^^ A Terminal can restrict printing to a single :ref:`Proxy Printer ` or :ref:`Proxy Printer Group `. This is usually done for printers that need to be secured according to *global* :ref:`Proxy Print ` defaults for Non-Secure Proxy Print. When the Terminal device is placed next to a (group of) printer(s), this setup implements `Pull Printing `__. .. _ss-admin-device-terminal-custom-proxy-print-edit: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-terminal-custom-proxy-print-edit.png :alt: Admin Web App: Devices - Terminal - Custom Proxy Print :width: 400 Admin Web App: Devices - Terminal - Custom Proxy Print Check the |RST_CHECKBOX_CUSTOM_PROXY_PRINT| option and search/select the name of a :ref:`Single Printer ` *or* :ref:`Printer Group ` |RST_GUILABEL_TARGET|. .. note:: A Proxy Printer assigned to a terminal, directly or by Printer Group membership, can not be accessed on other terminals. .. important:: Assigning printers to a terminal does not automatically imply that these printers are available to all users. Eventually, :ref:`Printer Access Control `, :ref:`User Roles `, :ref:`User Group Roles ` and :ref:`User Group Privileges `, determines whether or not a user sees a printer. .. tip:: A :ref:`Proxy Printer Group ` can have members that all point to the same printer device. By restricting access to each member with :ref:`Printer Access Control ` you can show a single printer with a tailored set-up to specific User Groups. .. _ch-webapp-admin-devices-terminal-custom-user-login: Custom User Login ^^^^^^^^^^^^^^^^^ Check the |RST_CHECKBOX_CUSTOM_USER_LOGIN| option to override *global* :ref:`User Authentication ` defaults just for this Terminal. .. _ss-admin-device-terminal-custom-user-auth-edit: .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-terminal-custom-user-auth-edit.png :alt: Admin Web App: Devices - Terminal - Custom User Login :width: 400 Admin Web App: Devices - Terminal - Custom User Login .. figure:: ../images/manual/screenshots/admin/sp-01-04-device-terminal-custom-user-auth-edit-default.png :alt: Admin Web App: Devices - Terminal - Custom User Login - Default :width: 400 Admin Web App: Devices - Terminal - Custom User Login - Default - The options in these section are identical to the ones in :ref:`User Authentication ` with the addition of the |RST_BUTTON_NETWORK_CARD_READER| option. - Enter the name of the Network Card Reader below the |RST_GUILABEL_NETWORK_NFC_CARD_READER| label. .. note:: A Network Card Reader can be deployed for just one purpose. Either for :ref:`Proxy Print Authentication ` or for Custom User Login at a Terminal Device. .. /* * Images */ :target: #preface-conventions-feature-preview .. |image43| image:: ../images/manual/device-card-reader-terminal-16x16.png :width: 16px .. |image44| image:: ../images/manual/device-card-reader-16x16.png :width: 16px .. |image45| image:: ../images/manual/device-terminal-16x16.png :width: 16px .. |image46| image:: ../images/manual/device-terminal-card-reader-16x16.png :width: 16px