Gauge Tile: Design and JSON Schema

Version 6

    This document assumes you understand the basics about tiles. For an overview on tiles — what they are and how they work — refer to Tiles and Tile Styles.


    Overview

     

    In Jive 7, the gauge tile allows you to immediately give your users a visual representation of the status of a project, event, etc.  You can either set this status manually, or you can display external data in Jive using this gauge.  The uses are endless.  With the gauge tile, you can choose the the status of the gauge, number of segments, the current segment, and messaging.

     

    Gauge Tile Example

     

    Screen Shot 2013-10-01 at 3.10.09 PM.png

     

    Tile Style Name

     

    The tile style must be defined in the tile's definition.json file:

     

    "style" : "GAUGE"
    
    

     

    JSON Schema

     

    The JSON schema for the gauge tile is as follows:

     

    1.     "$schema": "http://json-schema.org/draft-03/schema#"
    2.     "title": "Gauge View Style"
    3.     "description": "JSON schema for external updates of tiles using the gauge view style."
    4.     "type": "object"
    5.     "properties": { 
    6.         "sections": { 
    7.             "required": true
    8.             "type": "array"
    9.             "minItems": 2
    10.             "maxItems": 10
    11.             "items": { 
    12.                 "required": true
    13.                 "type": "object"
    14.                 "properties": { 
    15.                     "label": { 
    16.                         "type": "string"
    17.                         "required": true
    18.                         "maxLength": 25 
    19.                     }, 
    20.                     "color": { 
    21.                         "required": true
    22.                         "type": "string"
    23.                         "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$" 
    24.                     } 
    25.                 }, 
    26.                 "dropAdditionalProperties": true 
    27.             } 
    28.         }, 
    29.         "activeIndex": { 
    30.             "required": true
    31.             "type": "integer" 
    32.         }, 
    33.         "status": { 
    34.             "type": "string"
    35.             "required": true
    36.             "maxLength": 25 
    37.         }, 
    38.         "message": { 
    39.             "type": "string"
    40.             "required": true
    41.             "maxLength": 500 
    42.         }, 
    43.         "action":{ 
    44.             "required":false
    45.             "description":"Object specifying embedded experience context data and/or a fallback URL"
    46.             "type":"object"
    47.             "properties":{ 
    48.                 "text":{ 
    49.                     "required":false
    50.                     "description":"Text of the action link"
    51.                     "type":"string"
    52.                     "maxLength":50 
    53.                 }, 
    54.                 "url":{ 
    55.                     "required":false
    56.                     "description": "URL of an alternate (non-embedded) experience"
    57.                     "type":"string"
    58.                     "format":"uri" 
    59.                 }, 
    60.                 "context":{ 
    61.                     "required":false
    62.                     "description":"Context to pass to embedded experience"
    63.                     "type":"object" 
    64.                 } 
    65.             }, 
    66.             "dropAdditionalProperties": true 
    67.         } 
    68.     }, 
    69.     "dropAdditionalProperties": true