Difference between revisions of "Live Object"

From MSX - Wiki
Jump to navigation Jump to search
Line 13: Line 13:
 
     "duration": 0,
 
     "duration": 0,
 
     "delay": 0,
 
     "delay": 0,
 +
    "id": "content_item_id",
 +
    "url": "http://link.to.media",
 
     "coming": null,
 
     "coming": null,
 
     "running": null,
 
     "running": null,
Line 51: Line 53:
 
* <code>"lifetime"</code>: The object is live for a specific lifetime (starting from the creation timestamp), indicated by a duration and delay (i.e. the <code>duration</code> and <code>delay</code> properties). Possible states: <code>"init"</code>, <code>"coming"</code>, <code>"running"</code>, and <code>"over"</code>.
 
* <code>"lifetime"</code>: The object is live for a specific lifetime (starting from the creation timestamp), indicated by a duration and delay (i.e. the <code>duration</code> and <code>delay</code> properties). Possible states: <code>"init"</code>, <code>"coming"</code>, <code>"running"</code>, and <code>"over"</code>.
 
* <code>"airtime"</code>: The object is live for a specific airtime (running for the visible time), indicated by a duration (i.e. the <code>duration</code> property). Possible states: <code>"init"</code>, <code>"running"</code>, and <code>"over"</code>.
 
* <code>"airtime"</code>: The object is live for a specific airtime (running for the visible time), indicated by a duration (i.e. the <code>duration</code> property). Possible states: <code>"init"</code>, <code>"running"</code>, and <code>"over"</code>.
* <code>"playback"</code>: The object is live if the corresponding content item is currently being played. Possible states: <code>"init"</code>, <code>"running"</code>, and <code>"over"</code>. This type can only be used if the corresponding content action is <code>video:{URL}</code> or <code>audio:{URL}</code>. Please note that the corresponding content action URL is compared with the current player URL to check the live state.
+
* <code>"playback"</code>: The object is live if the corresponding content item is currently being played. Possible states: <code>"init"</code>, <code>"running"</code>, and <code>"over"</code>. This type can only be used if the corresponding content action is <code>video:{URL}</code> or <code>audio:{URL}</code> (or the <code>url</code> property is set). Please note that the corresponding content action URL (respectively the <code>url</code> property) is compared with the current player URL to check the live state.
 
* <code>"setup"</code>: The object is never live and has only the state <code>"init"</code>, but the live action (i.e. the <code>action</code> property) is executed if the corresponding content item becomes visible.
 
* <code>"setup"</code>: The object is never live and has only the state <code>"init"</code>, but the live action (i.e. the <code>action</code> property) is executed if the corresponding content item becomes visible.
  
Line 75: Line 77:
  
 
'''Note: To use this property, the <code>type</code> property must be set to <code>"lifetime"</code>, otherwise this property is ignored.'''
 
'''Note: To use this property, the <code>type</code> property must be set to <code>"lifetime"</code>, otherwise this property is ignored.'''
 +
|-
 +
| <code>id</code> || <code>string</code> || <code>null</code> || No || data-sort-value=146|'''0.1.146''' ||
 +
The ID of the content item that should be used to create the playback resume key. By default (or if this property is set to <code>"context"</code>), the corresponding content item ID is used.
 +
 +
'''Note: To use this property, the <code>type</code> property must be set to <code>"playback"</code>, otherwise this property is ignored.'''
 +
|-
 +
| <code>url</code> || <code>string</code> || <code>null</code> || No || data-sort-value=146|'''0.1.146''' ||
 +
The URL of the content action that should be used to create the playback live state and/or resume key. By default (or if this property is set to <code>"context"</code>), this corresponding content action URL is used.
 +
 +
'''Note: To use this property, the <code>type</code> property must be set to <code>"playback"</code>, otherwise this property is ignored.'''
 
|-
 
|-
 
| <code>coming</code> || <code>object</code> || <code>null</code> || No || data-sort-value=70|'''0.1.70''' ||  
 
| <code>coming</code> || <code>object</code> || <code>null</code> || No || data-sort-value=70|'''0.1.70''' ||  

Revision as of 13:13, 27 May 2022

The live object can be used to periodically update content items (e.g. with live data, playback progress, etc.). It can have following states.

  • "init": The initial state. Possible next states: "coming", "running", or "over".
  • "coming": The object is not live yet or it was live before and can become live again. Possible next states: "running" or "over".
  • "running": The object is live. Possible next states: "coming" or "over".
  • "over": The object is not live anymore. Possible next states: "coming" or "running".
{    
    "type": "schedule",
    "from": 0,
    "to": 0,   
    "duration": 0,
    "delay": 0,
    "id": "content_item_id",
    "url": "http://link.to.media",
    "coming": null,
    "running": null,
    "over": null,
    "execute": null,
    "color": "msx-glass",
    "title": "Item Title",
    "titleHeader": "Item Title Header",
    "titleFooter": "Item Title Footer",
    "label": "Item Label",
    "icon": "blank",     
    "headline": "Item Headline",
    "text": "Item Text",
    "tag": "Item Tag",
    "tagColor": "msx-red",
    "badge": "Item Badge",
    "badgeColor": "msx-green",
    "progress": -1,
    "progressColor": "msx-yellow",
    "wrapperColor": "msx-blue",
    "image": "http://link.to.image",    
    "extensionIcon": "blank",
    "extensionLabel": "Item Extension Label",    
    "action": null,
    "data": null    
}
Property syntax of live object
Property Type Default Value Mandatory Since Version Description
type string null No 0.1.70

The type of the live object. If this property is not set, the current live object is removed.

  • "schedule": The object is live for a specific schedule time, indicated by a start and end timestamp (i.e. the from and to properties). Possible states: "init", "coming", "running", and "over".
  • "lifetime": The object is live for a specific lifetime (starting from the creation timestamp), indicated by a duration and delay (i.e. the duration and delay properties). Possible states: "init", "coming", "running", and "over".
  • "airtime": The object is live for a specific airtime (running for the visible time), indicated by a duration (i.e. the duration property). Possible states: "init", "running", and "over".
  • "playback": The object is live if the corresponding content item is currently being played. Possible states: "init", "running", and "over". This type can only be used if the corresponding content action is video:{URL} or audio:{URL} (or the url property is set). Please note that the corresponding content action URL (respectively the url property) is compared with the current player URL to check the live state.
  • "setup": The object is never live and has only the state "init", but the live action (i.e. the action property) is executed if the corresponding content item becomes visible.

Note: The live object is only evaluated if the corresponding content item is visible. If the corresponding content item is visible, the live object is evaluated every second, regardless of the current state. Since version 0.1.74, live objects of type "playback" can also have the state "coming" if the corresponding content item contains the extension property resume:key. Please also note that live objects are evaluated on an overlay/underlay page, even if the overlay/underlay page is hidden.

from number 0 No 0.1.70

The start timestamp of the live object in milliseconds. The value must be greater or equal than 0, otherwise it is ignored.

Note: To use this property, the type property must be set to "schedule", otherwise this property is ignored.

to number 0 No 0.1.70

The end timestamp of the live object in milliseconds. The value must be greater or equal than 0 and the start timestamp, otherwise it is ignored.

Note: To use this property, the type property must be set to "schedule", otherwise this property is ignored.

duration number 0 No 0.1.70

The duration of the live object in milliseconds. The value must be greater or equal than 0, otherwise it is ignored.

Note: To use this property, the type property must be set to "lifetime" or "airtime", otherwise this property is ignored.

delay number 0 No 0.1.70

The delay of the live object in milliseconds. The value must be greater or equal than 0, otherwise it is ignored.

Note: To use this property, the type property must be set to "lifetime", otherwise this property is ignored.

id string null No 0.1.146

The ID of the content item that should be used to create the playback resume key. By default (or if this property is set to "context"), the corresponding content item ID is used.

Note: To use this property, the type property must be set to "playback", otherwise this property is ignored.

url string null No 0.1.146

The URL of the content action that should be used to create the playback live state and/or resume key. By default (or if this property is set to "context"), this corresponding content action URL is used.

Note: To use this property, the type property must be set to "playback", otherwise this property is ignored.

coming object null No 0.1.70

The state object that contains the live content properties (e.g. title, titleHeader, titleFooter, etc.) and the live action if the live object is in state "coming". If this object does not contain live content properties, the live content properties from the live object are used.

Note: To use this property, the type property must be set to "schedule", otherwise this property is ignored. The live action will only be executed once, if the live object enters the state "coming". Since version 0.1.74, live objects of type "playback" can also have this property.

running object null No 0.1.70

The state object that contains the live content properties (e.g. title, titleHeader, titleFooter, etc.) and the live action if the live object is in state "running". If this object does not contain live content properties, the live content properties from the live object are used.

This object can also contain following sub-state objects to use separate live content properties for specific quartiles.

  • quartile1: This sub-state object is used if the progress is in range of 0.0 to 0.25.
  • quartile2: This sub-state object is used if the progress is in range of 0.25 to 0.5.
  • quartile3: This sub-state object is used if the progress is in range of 0.5 to 0.75.
  • quartile4: This sub-state object is used if the progress is in range of 0.75 to 1.0.

Note: To use this property, the type property must be set to "schedule", "lifetime", "airtime", or "playback", otherwise this property is ignored. The live action will only be executed once, if the live object enters the state "running". The sub-state objects do not support live actions. Since version 0.1.74, live objects of type "playback" can also contain the sub-state objects inside the coming property.

over object null No 0.1.70

The state object that contains the live content properties (e.g. title, titleHeader, titleFooter, etc.) and the live action if the live object is in state "over". If this object does not contain live content properties, the live content properties from the live object are used.

Note: To use this property, the type property must be set to "schedule", "lifetime", "airtime", or "playback", otherwise this property is ignored. The live action will only be executed once, if the live object enters the state "over".

execute object null No 0.1.74

The execution object that contains the live action that is executed if the corresponding content action is set to "live" and the corresponding content item is executed.

Note: To use this property, the type property must be set to "schedule", "lifetime", "airtime", or "setup", otherwise this property is ignored. If this property is set inside a state object (i.e. coming, running, or over), it is used (instead of this one) if the live object has the corresponding state.

color string null No 0.1.70

The live content property of the corresponding content item.

title string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the title property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

titleHeader string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the titleHeader property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

titleFooter string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the titleFooter property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

label string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the label property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

icon string null No 0.1.70

The live content property of the corresponding content item.

Note: Only if the icon property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

headline string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the headline property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

text string|array null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the text property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

tag string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the tag property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

tagColor string null No 0.1.70

The live content property of the corresponding content item.

badge string null No 0.1.70

The live content property of the corresponding content item. This property supports Live Inline Expressions.

Note: Only if the badge property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

badgeColor string null No 0.1.70

The live content property of the corresponding content item.

progress number -1 No 0.1.70

The live content property of the corresponding content item.

Note: Only if the progress property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated. By default, this property is automatically updated if the live object is in state "running". If this property is set, it will not be updated automatically. Since version 0.1.74, this property is also automatically updated if the type property is set to "playback" and the corresponding content item contains the extension property resume:key.

progressColor string null No 0.1.70

The live content property of the corresponding content item.

wrapperColor string null No 0.1.70

The live content property of the corresponding content item.

image string null No 0.1.70

The live content property of the corresponding content item.

Note: Only if the image property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

extensionIcon string null No 0.1.70

The live content property of the corresponding content item.

Note: Only if the extensionIcon property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

extensionLabel string null No 0.1.70

The live content property of the corresponding content item.

Note: Only if the extensionLabel property has been set (to a non null value) in the origin data of the corresponding content item, it can be updated.

action string null No 0.1.70

The live action that is executed if the type property is set to "setup" and the corresponding content item becomes visible. The live action will also be executed if the type property is set to "playback", the live object is in state "running", and the corresponding content item is executed.

Note: If this property is set inside a state object (i.e. coming, running, or over), it is executed if the live object enters the corresponding state.

data object null No 0.1.70

The additional data of the live action that is used if the action is executed.

See also[edit]