opsi Software On Demand - opsi-client-kiosk (free)

Introduction

With the module "Software-on-Demand" opsi administrators may give their users access to install a range of software-products. These software products may be selected and installed user-driven without the administrator needing to do anything. This documentation shows how the module "Software-on-Demand" works, describes it’s functions and how to configure it.

Conventions: When the opsi-client-kiosk/agent in general is mentioned, it refers to all OS versions (Windows/Linux) unless stated otherwise. When talking about packages or products then the opsi-client-kiosk/agent package/product is the Windows package/product and the l-opsi-client-kiosk or opsi-linux-client-agent package/product is the Linux package/product.

Prerequisites

There are some preconditions needed for the usage of this extension. The product-groups are needed, available with opsi 4.0. Furthermore the opsi-client-agent and the opsi-configed at version 4.0.1 are needed.

Windows: Starting with opsi-client-agent version 4.1.1.6-5 the kiosk is available as a standalone package (opsi-client-kiosk). It will be however installed during the installation of the opsi-client-agent if it’s not already present. For more details please check New opsi-client-kiosk application
Table 1. Required Packages
opsi-package version

opsi-client-agent / opsi-linux-client-agent

>=4.1.0.0-36, >=4.1.1.6-5** / >= 4.1.1.11-1

opsi-winst / opsi-script

>=4.10.8.12

python-opsi

>=4.1.1.71-1

opsi-server

>=4.0.1-2

opsi-configed

>=4.0.1.6-1

(l-)opsi-client-kiosk

>=4.1.1.7-6

**opsi-client-kiosk as a standalone package

Configuration

The configuration of this extension is based on product-groups and config-variables. The used config-variables are:

  • software-on-demand.active

  • software-on-demand.product-group-ids

  • software-on-demand.admin-mode

  • software-on-demand.installation-now-button

These config-variables are created with installing the opsi-server-package.

Since tne Kiosk version 4.1.1.11 and opsi-client-agent version 4.2.0.11-1 it’s now possible to configure which event (timer or on_demand) should be triggered via the Kiosk for installations.

If necessary, the Config must first be created on the server side, e.g. via Configed in Server Configuration. The value for the Config opsiclientd.control_server.process_actions_event can then be set via Configed (e.g. to on_demand).

Possible values are auto, on_demand and timer. auto is the default value. If auto is set then timer is used for WAN/VPN clients and on_demand for other clients.

Starting from kiosk version >= 4.1.1.11 and opsi-client-agent version >= 4.2.0.11-1 the kiosk uses by default the caching and synchronization methods of the WAN/VPN-client if running on a WAN/VPN-client and with the timer event. In this case the config-variable software-on-demand.installation-now-button has to be set to false. Otherwise display and messages of the kiosk are not synchronized with the current client status. To restore the old behaviour for WAN/VPN clients, the config opsiclientd.control_server.process_actions_event must be explicitly set to on_demand. Then WAN/VPN clients will also be triggered again by the on_demand event.

Managing Product Groups

The most comfortable way to create and manage product-groups is using the opsi-configed. There you have to change to the tab product configuration.

Since version 4.0.1.6 of the opsi-configed you can change to product configuration without choosing a client.

The product-group menu is above the product list.

configed productgroup en
Figure 1. product-group menue

With the drop down menu you can choose a product-group to edit it. If you have chosen a group, the corresponding products will be highlighted.
With a second icon, filter can be activated or deactivated. When a filter was activated, only the products of the activated product-group are seen.
Product-groups can be edited after activating the icon with the yellow packets (show editor / hide editor) next to the icon with the filter. In this view, a new group and it’s description can be added. Save the editing by activating the red check icon.
If some more products should be added to a group, select them and press the red check icon. (Press the <ctrl> button and select the products).

configure the module Software-On-Demand

The module can be configured, as mentioned above, with the config-variables described in the following table:

Table 2. overview of the config-variables of the module Software-on-Demand
Configuration Description Values

software-on-demand.active

activates or deactivates the module, is used as a flag for the migration (Nur Windows: Installation über einen alten opsi-client-agent der den alten Kiosk noch enthält). It’s irrelevant for the opsi-client-kiosk with version >=4.1.1.6-5.

true/false

software-on-demand.product-group-ids

Product-groups with software-products, that can be used for Software-on-Demand.

List of product-groups

software-on-demand.admin-mode

Enables specific functionality for admistrative purpose/setting icons/screenshots. Should be enabled only if needed (client-specific)

true/false

software-on-demand.installation-now-button

Enables to install products immediately. Do NOT use on WAN/VPN-clients

true/false

There are two ways to use these configuration objects. For the whole system or for each client. The following 2 chapters will explain both ways.

Using the kiosk (Version>= 4.1.1.11) on a WAN/VPN-client the config-variable software-on-demand.installation-now-button has to be set to false. Otherwise display and messages of the kiosk are not synchronize with the current client status.

Configuration for the whole system

The configuration here is the default system wide for every client. The configuration can be edited in the opsi-configed. Push the Button Server Configuration and change to the tab Host Parameter

configed serverconfiguration en
Figure 2. part of the module server configuration in the opsi configuration editor

Another possibility is to change the server-configuration with the following command:

opsi-setup --edit-config-defaults
editconfigdefaults
Figure 3. edit-config-defaults with opsi-setup
Administration is also possible with the opsi-python-API or with 'opsi-admin'

Configuration for a single client

The configuration for a single client - or client specific configuration - is useful if, for example, only some of the clients should have access to the Software-on-Demand extension. Or if you want to make several product groups available to some clients.

The configuration of the client specific host parameters can be edited in different ways:

The most comfortable way to edit the configuration is via 'opsi-configed'. Choose one or several clients (even all clients of a client group if you want to) and then navigate to the tab "Host parameters".

opsi configed hostparameters
Figure 4. edit hostparameter in the configuration editor

This editing overrides the system wide defaults.

New opsi-client-kiosk application

Windows

With the opsi-client-agent version (>=4.1.1.6-5) the kiosk is available as a standalone product (opsi-client-kiosk) and will be installed as such when installing the opsi-client-agent. It tries to migrate the existing kiosk settings.

Background of this changes are:

  • simpler maintenance of the opsi-client-agent package

  • Changes to the kiosk can be published independently from the opsi-client-agent package

  • Allows to apply new settings of the kiosk to the clients without the need to reinstall the opsi-client-agent

When installing the opsi-client-agent (>=4.1.1.6-5) on the depot, the opsi-client-kiosk package will be installed as well if necessary. For clients, when installing the opsi-client-agent (>=4.1.1.18-1) on the afore mentioned, the opsi-client-kiosk product is set to setup if necessary. For details see Installation über einen alten opsi-client-agent der den alten Kiosk noch enthält.
The old (web based) Kiosk client no longer works with the new opsi-client-agent/opsiclientd.

Linux

The opsi-client-kiosk is also available under Linux as l-opsi-client-kiosk package or product.

opsi-client-kiosk: Installation on a depot

If you invested time into customizing the kiosk, it’s recommended to backup the custom directory before installing a new opsi-client-kiosk/opsi-client-agent on the depot:
Kiosk as a standalone package (opsi-client-kiosk or l-opsi-client-kiosk): /var/lib/opsi/depot/(l-)opsi-client-kiosk/files/app/ock_custom

Kiosk still integrated in opsi-client-agent package (only windows): /var/lib/opsi/depot/opsi-client-agent/files/opsiclinetkiosk/app/ock_custom or /var/lib/opsi/depot/opsi-client-agent/files/opsiclinetkiosk/ock_custom
In rare cases also /var/lib/opsi/depot/opsi-client-agent/files/opsiclinetkiosk/files_to_copy/ock_custom

First installation / installation over an already existing (l-)opsi-client-kiosk product

Install the current (l-)opsi-client-kiosk package (available at download.uib.de) on the desired depot and update the opsi-(linux)-client-agent package if needed.

opsi-client-agent package >=4.1.1.6-5 had to be installed on the depot as well as on the respective client.

Windows only: Installation through an old opsi-client-agent which still contains the old kiosk (i.e. contains the directory opsiclientkiosk, or <=4.1.0.0)

To minimize the number of manual changes or interactions, it is attempt to migrate the kiosk settings automatically from the opsi-client-agent to the opsi-client-kiosk package and install it on the depot or the corresponding clients if needed. Usually this is done automatically without the need of further interaction.

For a better understanding of the process described here in more detail, it’s important to distinguish what happens during the installation of the opsi-client-agent on a depot and what happens during the installation on a client.

Installation of the opsi-client-agent Version (>=4.1.1.6-5) on a Depot

When installing opsi-client-agent on the depot, the opsi-client-kiosk package is installed on the depot if certain conditions are met. It tries to migrate the kiosk settings from the opsi-client-agent package to the opsi-client-kiosk package. This happens only if the following conditions are fulfilled:

  • the opsi-client-kiosk package is NOT installed on the depot.

  • the opsi-client-agent (>=4.1.1.6-5) is installed over an old opsi-client-agent that still contains the old kiosk (i.e. contains the directory opsiclientkiosk, <=4.1.0.0)

Installation of the opsi-client-agent Version (>=4.1.1.18-1) on a Client

When installing the opsi-client-agent (>=4.1.1.18-1) on a client, the opsi-client-kiosk is set to setup under certain conditions. This happens when the following conditions are met:

  • the opsi-client-kiosk is NOT installed on the client

  • the config/host-parameter software-on-demand.active is set to true for this client

So in most cases the opsi-client-kiosk will be installed on the client automatically after the opsi-client-agent installation, due to the fact that the client PC will be rebooted and the opsi-clientd event gui_startup will be triggered which should be configured in most cases.

If the kiosk is not available on some clients, despite attempted automatic migration/installation, please check:

  1. if an opsi-client-kiosk package is installed on the depot the client is connected to, if not install the opsi-client-kiosk package or the current opsi-client-agent package, respectively

  2. if the opsi-client-kiosk is installed on the client, should that not be the case please set it to setup

opsi-client-kiosk: Installation on a client

The installation on a client is controlled by the following 'opsi-client-kiosk' product properties:

  • startmenu_entry
    The Start Menu entry for the opsi-client-kiosk (software on demand).
    Default=software on demand; editable

  • startmenu_folder
    The Start Menu folder for the opsi-client-kiosk (opsi.org)
    Default=opsi.org; editable

  • desktop_icon
    Create a desktop icon for opsi-client-kiosk ?
    Default=false

  • install_icon_collection
    For adminsitrative purposes an icon collection can also be installed. It is only recommended though if product icons are to be set on the client via the kiosk admin mode and you want to select some of them from the icon collection.
    Default=false

The used icon for the start menu / Desktop may be modified by storing a kiosk.ico file (Windows) or kiosk.png file (Linux) at /var/lib/opsi/depot/opsi-client-kiosk/files/app/ock_custom/skin/ (since opsi-client-kiosk version 4.1.1.7-2).

opsi-client-kiosk: Usage

Standard mode

Main window (standard mode)

After start of the kiosk all products which are assigned to the kiosk are shown on product tiles within the main window. The switch "All" is marked in the filter switch panel (Figure 5).

Main window with product tiles
Figure 5. Kiosk (standard mode) - Main window with product tiles. (1) Window panel. (2) Header panel. (3) Filter switch. (4) Opens the search mask. (4) Opens the help. (6) product tile

Window panel (1) and Header panel (2)
In the standard mode the version of the kiosk and, if applicable, the info that installations as from now are disabled are shown in the window panel (1) (see also dialogs for installation/uninstallation and update of the product). The header panel (2) is customisable. See section Corporate Identity of the opsi-client-agent for more details.

Filter switch (3)
By clicking on the filter switch (3) "Updates", "Not Installed" or "Actions" only products are shown with the choosen status.

Product tiles (4)
Products are displayed by product tiles. Product tiles show first information about the product. That are the name of the product, if set, a specific product icon otherwise a standard icon, as well as the status of the product and, if a action is set, the respective action.

Only if an action is set an action is displayed otherwise nothing is displayed.

After clicking on a product tile the tiles are hidden and detailed information of the selected product are shown (Figure 7).

Search (5)
Click on the magnifying glass to open a search field (Figure 6).

Search field of the kiosk
Figure 6. Search field of the kiosk

Use the search field to search for specific products. All fields of the product will be searched. Only products which fit to the search term will be displayed e.g. because the term is in the name or in the description of the product. Clicking on th "X" within the search field will clear the search field and all products are displayed again. The same effect has a click on the magnifying glass above the serach filed (Figure 5) but additionally the search field is hidden.

Help (6)
Via the button "help" the help window is reached.

Detailed product view

After clicking on a product tile the detailed product view is shown.

Detailed product view
Figure 7. Kiosk (standard mode) - detailed product view. (1) back to main window. (2) (Un)install product respectively removes action. (3) Info block (5) Updates the product. (6) Description and hints of the product.

Back (1)
Back to main window (Figure 5).

Install/Uninstall product or removes action (2)
Clicking on this button opens a dialog to install/uninstall the product or removes the action set before.

The functionallity of this button depends on the product state (installed/not installed, action set)

Info block (3)
The info block shows the installed version and the current available version as well as the respective action if it is set.

Screenshot (4)
Shows, if available, a screenshot of the product.

Ask your system administrator if no screenshot is displayed but you like to have one.

Update (5)
Opens a dialog to update the prodcut.

This button is only displayed if an update is available i.e. the installed version differs from the newest available version.

Description and Notes (6)
Here the prodcut description and notes are presented.

The prodcut description and notes are only as good as they are incorporated into the opsi-products. Ask your system administartor or package manager if they are not understandable.
Dialogs for installation/uninstallation and updating of products

A dialog is displayed after clicking on the respective button within the detailed prodcut view. Either you are directly prompt for confirmation of the action (Figure 8) or an additional dialog is shown where you can select the starting point of the requested action (now or later after standard event e.g. reboot, Figure 9)

Dialog for confirmation of the requested action
Figure 8. Kiosk - Dialog for confirmation of the requested action.
Dialog to select the starting point of the requested action
Figure 9. Kiosk - Dialog to select the starting point of the requested action.
The dialog for selecting the starting point of the requested action is only shown if the installation as from now is not disabled by your system administrator
Help window

The help window (Figure 8) displays information about the opsi client kiosk. Via the help window it is also possible to launch this manual. In addition the kiosk can be put into the expert mode from here.

Help window
Figure 10. Kiosk - Help window. (1) Info block. (2) opsi manual. (3) Check box for expert mode

Info block (1)
Here information about the opsi client kiosk are shown. Via the links it is possible to launch the uib or opsi webpage in your preferred browser.

opsi manual (2)
Link to the opsi manual.

Expert mode (3)
Activation of the check box activates the expert mode.

Expert mode

Main window (expert mode)

Is the expert mode activated (activation via the help Help) you can switch between the tile view of the standard mode and a list view. In the list view the prodcuts are displayed in a table among each other. The additional buttons 'Installation now' and 'Reload' are displayed (Figure 11).

Only if the installation as from now is not disabled the button 'Installation now' is shown.
Kiosk - Experte mode (List view)
Figure 11. Kiosk (expert mode) - List view. (1) Check box to toggle view. (2) List view of the products. (3) Button for installing products (as from now). (4) Button for synchronisation with the server. (5) Detailed information of the product.

Toggle view (1)
Using the check box you can toggle between list view and the tiles view.

List view (2)
In the list view the products are displayed in a table among each other. In the column ActionRequest an action request can be set.

Depending on product state the actions which can be set in the column ActionRequest may differ. Setting the action to setup yields to the installation or update of the product. The action none is for resetting an action which was set but was not executed until now.

Installation now (3) - only available if the installation as from now was not disabled
Clicking on the button 'Installation now' opens a seperate window showing the actions set. You can choose if the actions shall be execute now or later at next standard event (Figure 12).

Window for the execution of the actions set
Figure 12. Kiosk (Expert mode) - Window for the execution of the actions set.
Window for the execution of the actions set

At this window (Figure 12) you can execute an installation as from now (button Installation now). In this case it would be advisable to close all other applications (i.e. to save your data) because the started installations may come in conflict with currently running applications.
Using the button Install at next standard event (e.g. reboot) closes the window and the actions will be proceed later at next standard event.

Admin mode

To execute the kiosk in the admin mode the config software-on-demand.admin-mode = true had to be set. In addition the kiosk must be executed as administrator.

Using the kiosk in admin mode allow to set product icons and screenshots for the products. Therefore you need to click with the rigth mouse button on the icon or screenshot or its respective placeholder. This opens a file dialog from which the desired image can be chosen. This works within the main window as well as in the detailed prodcut view. A click on the button opsi client kiosk save on depot (Figure 13) opens a dialog to save the icons/screenshots on an opsi depot which means that these icons/screenshots are than also available for other kiosk installations.

Kiosk - Admin mode
Figure 13. Kiosk (Admin mode).(1) Click on this button opens a dialog to save the icons/screenshots on an opsi depot.
After setting icons and screenshot within the kiosk the icons and screenshots are saved on the client only locally. To make these images available for kiosk installations on other clients they had to be copied to the ock-custom folder (e.g with the kiosk as described above).
The config software-on-demand.show-details from opsi 4.0.7 has no effect on the kiosk anymore and can be deleted.

Logs of the opsi-client-kiosk:

The program logs to C:\opsi.org\applog.

Characteristics

The following apply to the software-on-demand module:

  • Dependencies are resolved automatically

    • Software that depends on software from the Demand group, will automatically be set to setup (install), without interaction from the user..

opsi-client-kiosk: Customizable to Corporate Identity

The header bar of the main window (1) is customizable. Three files in the ock_custom directory (/var/lib/opsi/depot/opsi-client-kiosk/files/app/ock_custom/skin) are key:

  • header.png

  • logo.png

  • opsiclientkiosk.ini

The header.png contains the image which is loaded to the left of the logo in this area, logo.png the logo.

The opsiclientkiosk.ini defines the text and its display, which will be shown in this area (Since opsi-client-kiosk version 4.1.1.7-2).

Example:

[TitleLabel]
Text= Softwarebasket
FontName = Arial
FontSize = 20
FontColor = $00ffffff
FontBold = true
FontItalic = false
FontUnderline = false

The applied desktop/startmenu icon can be changed by placing a kiosk.ico file (Windows) or kiosk.png file (Linux) in the ock_custom/skin directory (starting with opsi-client-kiosk version 4.1.1.7-2).