This project is not covered by Drupal’s security advisory policy.

This module allows certain clients from using different themes, based on a defined string in the User Agent. Based on that string, a theme will be assigned to that particular kiosk. The theme can be shared for a group of kiosks, or restricted for an individual kiosk.

Drupal's normal mode page caching is supported.

Comparison with Kiosk module

The kiosk module has similar high level goals, but different design and implementation. Here are the important differences:

  • Kiosk uses the IP address or a cookie to place a certain client in kiosk mode. Kiosk theme uses a certain string in the browser's user agent to assign a predefined theme.
  • Kiosk provides a theme variable that has to be checked within the theme to enabled/disabled certain features (e.g. a navigation menu). Kiosk theme enables a predefined theme that is different and separate from the main theme of the site for each kiosk or group of kiosks.
  • Both modules use a database prefix trick to do page caching and are incompatible with aggressive caching.

Configuration

There are two configuration settings, one is the regular expression to use to extract the the unique Kiosk. It is pre-configured for the SiteKiosk feature of Internet Explorer, but can be changed to accommodate other scenarios.

Then, depending on which themes you want kiosks to use, you have to assing a string:theme:id line for each.

You can assign each kiosk a separate theme that no other kiosk uses, or you can have a group of kiosks share a theme.

There is room for 15 kiosks to be defined. More can be defined with some code changes, and an uninstall/reinstall of the module.

Check the instructions on the settings page at admin/settings/kiosk_theme for more details.

Author

Khalid Baheyeldin of 2bits.com, Inc.

Sponsored Science Museum of Minnesota's Science Buzz.

The author can also be contacted for paid customizations of this module as well as Drupal consulting, installation, development, and customizations.

Project information

Releases