Skip to content

Configuring sign users

A sign user is used to authenticate a signage client. They need to be configured in two places: the database and awesign.yaml. You can use the web UI to create a new sign user, which handles the database configuration for you.

Properly configuring a sign user

Once the user is created and designated as a sign user in the database, it can be configured under sign_users in awesign.yaml.

A sample configuration looks like this:

sign_users:
  - email: sign1@example.com
    default_sign: sign1
  - email: sign2@awesign.cse.buffalo.edu
    default_sign: sign2
    location:
      building: some_building
      floor: 1
      point_id: abcde
      rotation: 90
    enable_accessibility_controls: true
    screensaver:
      dynamic_sign: slideshow
      delay: 30
      text:
        text: "Tap to explore!"
        font_size: 3
        font_color: "#ffffff"
        background_color: "#000000bb"
        inset:
          top: 80
          bottom: 10
      inset:
        right: 30
      background_color: "#00000044"

Default signs

Each sign user has a default sign, which should be the name of a sign configured in the signs section.

Location configuration

The location field is optional. If specified, a building (string), floor (int), point_id (string), and rotation (int/float in degrees), must be provided. This is used to place the "you are here" location on interactive floor maps in the correct location when viewed on that sign. Learn more about locations in Configuring buildings and Creating floor maps

For rotation, 0 points upwards, 90 points right, etc.

Accessibility controls

The enable_accessibility_controls field is optional (defaults to false). If true, the sign will display physical accessibility controls to lower the entire sign to the bottom half of the display or scale the whole sign down to the bottom middle of the display. This is ideal to make large touch screens accessible to people in wheelchairs or young children. Don't enable this for non-interactive displays.

Screensavers

The screensaver field is an optional screensaver configuration. The screensaver will be shown on top of the sign's content after a configurable period of inactivity. The screensaver consists of a dynamic sign and an optional text overlay. Both of these components are highly configurable.

  • dynamic_sign is the name of the dynamic sign (as configured in dynamic signs) to display when the sign is idle
  • delay (optional float/int; default: 60) is the number of seconds that the sign must be idle for before the screensaver will be shown
  • text is an optional configurable text component to display over the screensaver
    • text is the string that will be shown
    • font_size (optional float/int; default: 3) scales the text relative to the width of the display. 3 is a safe default.
    • font_color (optional string; default: "white") specifies the text color. This can be any CSS color, such as "red", "#ff0000", or "#ff000088" (opacity supported)
    • background_color (optional string; default: "transparent") specifies the color of the box behind the text. Same rules as `font_color. Translucent black ("#00000044") works well.
    • inset (optional floats/ints; defaults to all zeros) allows specifying the margin around each dimension of the text box from the edge of the screen as a relative percent of the screen's height/width. Each axis pair should sum to below 100.
      • right (optional; default: 0) the margin, as a percentage of the display's width, on the right of the text box
      • left (optional; default: 0) the margin, as a percentage of the display's width, on the left of the text box
      • top (optional; default: 0) the margin, as a percentage of the display's height, on the top of the text box
      • bottom (optional; default: 0) the margin, as a percentage of the display's height, on the bottom of the text box
  • inset (optional floats/ints; defaults to all zeros) specifies the margin around the dynamic sign relative to the dimensions of the display. See the detailed explanation above in text.inset. This allows placing the screensaver in a custom position on the display. You can keep part of the original sign visible and/or prevent covering the screensaver's dynamic sign content with the textbox.
  • background_color (optional string; defaults to "transparent") specifies the color to put behind the screensaver dynamic sign and textbox if they don't fill the entire display. See the detailed explanation of allowed values above in text.font_color.

Zombie sign users

A user designated as a sign user in the database but without a configuration is called a "zombie sign user." Zombie sign users can be used for remote authentication, but they naturally won't have a configuration, so certain operations will not work.

Unauthorized sign users

A user configured as a sign user in the configuration file, but not designated as a sign user in the database, is considered an "unauthorized sign user." Such users will be treated as human users and won't be able to authenticate as a sign.