Calendar Tile: Design and JSON Schema

Version 4

    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

     

    With Jive 7, we have two types of calendar/events tiles: a manually configured tile, and an auto-populated events tile.  The auto-populated tile will only appear as an option if the Events Plugin is enabled in your instance.  It will use events from the plugin and automatically display them in the tile.  The manually configured tile allows you to place specific events into the tile for members of the place to view.  You can add up to 5 events with links, descriptions, and titles.  Additionally, you can rename the tile to focus on a particular subject, if desired.  And, like most tiles, you can add an additional link at the bottom of the tile to point to more details.

     

    Calendar Tile Examples

     

    Screen Shot 2013-10-02 at 12.17.36 PM.png Screen Shot 2013-10-02 at 12.21.32 PM.png

    Tile Style Name

     

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

     

    "style" : "CALENDAR"
    

     

    JSON Schema

     

    1.     "$schema":"http://json-schema.org/draft-03/schema#"
    2.     "title":"Calendar View Style"
    3.     "description":"JSON schema for external updates of tiles using the calendar view style."
    4.     "type":"object"
    5.     "properties":{ 
    6.         "title":{ 
    7.             "required":true
    8.             "type":"string"
    9.             "maxLength":50 
    10.         }, 
    11.         "events":{ 
    12.             "required":true
    13.             "type":"array"
    14.             "items":{ 
    15.                 "required":false
    16.                 "type":"object"
    17.                 "properties":{ 
    18.                     "start":{ 
    19.                         "required":true
    20.                         "type":"string"
    21.                         "format":"date-time"
    22.                         "description":"Event starting time" 
    23.                     }, 
    24.                     "duration":{ 
    25.                         "required":false
    26.                         "type":"string"
    27.                         "format":"time"
    28.                         "description":"Event duration" 
    29.                     }, 
    30.                     "location":{ 
    31.                         "required":false
    32.                         "type":"string"
    33.                         "maxLength":200 
    34.                     }, 
    35.                     "title":{ 
    36.                         "required":true
    37.                         "type":"string"
    38.                         "maxLength":50 
    39.                     }, 
    40.                     "description":{ 
    41.                         "required":false
    42.                         "type":"string" 
    43.                     }, 
    44.                     "attendees": { 
    45.                         "required":false
    46.                         "type":"integer" 
    47.                     }, 
    48.                     "action":{ 
    49.                         "required":false
    50.                         "description":"Object specifying embedded experience context data and/or a fallback URL"
    51.                         "type":"object"
    52.                         "properties":{ 
    53.                             "text":{ 
    54.                                 "required":false
    55.                                 "description":"Text of the action link"
    56.                                 "type":"string"
    57.                                 "maxLength":50 
    58.                             }, 
    59.                             "url":{ 
    60.                                 "required":false
    61.                                 "description": "URL of an alternate (non-embedded) experience"
    62.                                 "type":"string"
    63.                                 "format":"uri" 
    64.                             }, 
    65.                             "context":{ 
    66.                                 "required":false
    67.                                 "description":"Context to pass to embedded experience"
    68.                                 "type":"object" 
    69.                             } 
    70.                         }, 
    71.                         "dropAdditionalProperties": true 
    72.                     } 
    73.                 }, 
    74.                 "dropAdditionalProperties": true 
    75.             } 
    76.         }, 
    77.         "action":{ 
    78.             "required":false
    79.             "description":"Object specifying embedded experience context data and/or a fallback URL"
    80.             "type":"object"
    81.             "properties":{ 
    82.                 "text":{ 
    83.                     "required":false
    84.                     "description":"Text of the action link"
    85.                     "type":"string"
    86.                     "maxLength":50 
    87.                 }, 
    88.                 "url":{ 
    89.                     "required":false
    90.                     "description": "URL of an alternate (non-embedded) experience"
    91.                     "type":"string"
    92.                     "format":"uri" 
    93.                 }, 
    94.                 "context":{ 
    95.                     "required":false
    96.                     "description":"Context to pass to embedded experience"
    97.                     "type":"object" 
    98.                 } 
    99.             }, 
    100.             "dropAdditionalProperties": true 
    101.         }, 
    102.         "config":{ 
    103.             "required":false
    104.             "description":"Options to control the rendered view"
    105.             "type":"object"
    106.             "properties":{ 
    107.                 "locationDisplay":{ 
    108.                     "required":false
    109.                     "type":"boolean" 
    110.                 } 
    111.             }, 
    112.             "dropAdditionalProperties": true 
    113.         } 
    114.     }, 
    115.     "dropAdditionalProperties": true