Introduction

JOC Cockpit is available for operation in kiosk mode which includes

  • unattended operation,
  • display of a number of pages each for a predefined period,
  • updating pages when new events arrive such as completion of jobs.


The feature is introduced with JOC-1981 - Getting issue details... STATUS

FEATURE AVAILABILITY STARTING FROM RELEASE 2.7.4

Roles and Permissions

Unattended operation exposes a minor security risk from the fact that the GUI session will not be subject to idle session timeout.

Kiosk mode requires a specific role to be created:

  • By default the name of role is kiosk. Users can modify the name of the role used for kiosk mode from the JS7 - Settings.
  • The kiosk role does not ship with JOC Cockpit by default. The role must be created by the user with read-only permissions for Controller and JOC Cockpit, for details see JS7 - Manage Roles and Permissions
  • The role must be the only one assigned an account used for kiosk operation.

Settings

The Settings page offers to modify

  • the name of the role assigned an account used for kiosk operation,
  • the duration per view that should be displayed for kiosk mode. This allows to exclude views from use for kiosk mode.

Automation

Automation for unattended kiosk mode is subject to configuration at the following levels:

  • Operating System
    • For Linux and Windows follow OS vendor instructions how to set up a server for kiosk mode.
    • The OS should be aware of kiosk mode to prevent popup messages or other applications to take focus in the foreground.
  • Browser
    • JOC Cockpit can be operated with a number of browser products, see JS7 - Browser User Interface.
    • Browser products can be started from the command line, typically indicating kiosk mode, user profile and the URL that should be opened.
    • The required start-up configuration is specific for the browser product.
  • Unattended Login
    • JOC Cockpit offers to remember credentials from the login screen. The option is active by default and can be disabled from the enable_remember_me setting, see JS7 - Settings. It is an option to manually perform login just once in order to store credentials with JOC Cockpit's browser cache. The cache is subject to clean-up by the browser. Other options include use of the browser's password management features.
    • Users are recommended to consider JS7 - JOC Cockpit - Secure Operation.

Example

A minmum example includes to start the browser and to login to JOC Cockpit from a PowerShell script. The script can be stored to a file such as js7-kiosk.ps1 and can be executed, for example on Windows using the OS autostart feature to run: powershell.exe C:\js7_kiosk.ps1

Example how to start the Firefox browser and how to login in unattended mode from PowerShell
Add-Type -AssemblyName microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms

Start-Process -FilePath "C:\Program Files\Mozilla Firefox\firefox.exe" -argumentlist "-P default","-fullscreen","-kiosk","-url http://localhost:4446/joc/#/login"
Start-Sleep -Seconds 5

[Microsoft.VisualBasic.Interaction]::AppActivate("Firefox")
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}");

Note: If you are using Firefox to open JOC Cockpit in Kiosk Mode, ensure that Firefox is set as your default browser. This helps prevent issues with opening links and ensures a seamless experience when launching JOC Cockpit in Kiosk Mode.

Explanations:

  • Line 1, 2: Load .NET assemblies used for window management. Related assemblies should be available from Windows by default.
  • Line 4: Start browser product from the command line. Arguments typically include to specify a profile, kiosk mode and the URLL that should be opened.
  • Line 5: Wait a few seconds for the browser to start up.
  • Line 7: Bring the browser window to the front. The application name is specific for the browser product.
  • Line 8: JOC Cockpit's login screen is assumed to be populated from the account and password of the kiosk account. Sending an Enter keystroke performs login with the given credentials

Troubleshooting




  • No labels