Actions
All actions are indicated as strings and are used by content items to perform specific tasks (e.g. play a video, start a slideshow, etc.). Some actions use additional data, provided by the corresponding content item.
Note: The actions described here are the main actions that are perfectly adequate for the most media pages. However, if you want to create more complex and interactive media pages, please have a look at the Internal Actions.
Basic Actions[edit]
Syntax | Example | Since Version | Description |
---|---|---|---|
video:{URL}
|
video:http://msx.benzac.de/media/video1.mp4
|
0.1.0 |
Plays a video. The |
audio:{URL}
|
audio:http://msx.benzac.de/media/audio1.mp3
|
0.1.0 |
Plays an audio. The |
image:{URL}
|
image:http://msx.benzac.de/img/bg1.jpg
|
0.1.0 |
Shows an image. The |
image:context
|
image:context
|
0.1.0 |
Shows an image by using the current context. The image URL must be provided as |
link:{URL}
|
link:http://msx.benzac.de/info/
|
0.1.0 |
Opens a link. The |
link:window:{URL}
|
link:window:http://msx.benzac.de/info/
|
0.1.0 |
Opens a link in a separate window or in an external browser. The |
playlist:{URL}
|
playlist:http://msx.benzac.de/info/data/guide/videos.json
|
0.1.0 |
Loads a playlist without a corresponding content page. The Note: Please note that it is also possible to indicate request actions instead of URLs (e.g. |
playlist:data
|
playlist:data
|
0.1.0 |
Starts a playlist without a corresponding content page. The playlist data must be provided as Note: Please note that it is also possible to indicate the data inline as base64-encoded JSON (e.g. |
slideshow:{URL}
|
slideshow:http://msx.benzac.de/info/data/guide/images.json
|
0.1.0 |
Loads a slideshow without a corresponding content page. The Note: Please note that it is also possible to indicate request actions instead of URLs (e.g. |
slideshow:data
|
slideshow:data
|
0.1.0 |
Starts a slideshow without a corresponding content page. The playlist data must be provided as Note: Please note that it is also possible to indicate the data inline as base64-encoded JSON (e.g. |
menu:{URL}
|
menu:http://msx.benzac.de/info/data/guide/actions.json
|
0.1.0 |
Loads a menu. The Note: Please note that it is also possible to indicate request actions instead of URLs (e.g. |
menu:data
|
menu:data
|
0.1.0 |
Shows a menu. The menu data must be provided as Note: Please note that it is also possible to indicate the data inline as base64-encoded JSON (e.g. |
content:{URL}
|
content:http://msx.benzac.de/info/data/guide/videos.json
|
0.1.0 |
Loads a content page. The Note: Please note that it is also possible to indicate request actions instead of URLs (e.g. |
content:data
|
content:data
|
0.1.0 |
Shows a content page. The content data must be provided as Note: Please note that it is also possible to indicate the data inline as base64-encoded JSON (e.g. |
panel:{URL}
|
panel:http://msx.benzac.de/info/data/guide/panel.json
|
0.1.0 |
Loads a content page in a panel. The Note: Please note that it is also possible to indicate request actions instead of URLs (e.g. |
panel:data
|
panel:data
|
0.1.0 |
Shows a content page in a panel. The content data must be provided as Note: Please note that it is also possible to indicate the data inline as base64-encoded JSON (e.g. |
success:{TEXT}
|
success:This is a success message.
|
0.1.0 |
Shows a success message. The |
info:{TEXT}
|
info:This is an info message.
|
0.1.0 |
Shows an info message. The |
warn:{TEXT}
|
warn:This is a warning message.
|
0.1.0 |
Shows a warning message. The |
error:{TEXT}
|
error:This is an error message.
|
0.1.0 |
Shows an error message. The |
focus:{ID}
|
focus:content_item_id
|
0.1.0 |
Sets the focus to a specific item in the current context. The |
focus:index:{INDEX}
|
focus:index:0
|
0.1.0 |
Sets the focus to a specific item in the current context. The |
start
|
start
|
0.1.30 |
Sets up a new start parameter. The start parameter data must be provided as |
video:plugin:{URL}
|
video:plugin:http://msx.benzac.de/plugins/template.html
|
0.1.40 |
Plays a plugin video. The |
audio:plugin:{URL}
|
audio:plugin:http://msx.benzac.de/plugins/template.html
|
0.1.40 |
Plays a plugin audio. The |
HbbTV Actions[edit]
If you use the HbbTV version of Media Station X, you have additional actions available.
Syntax | Example | Since Version | Description |
---|---|---|---|
video:broadcast:current
|
video:broadcast:current
|
0.1.30 |
Plays the current broadcast channel. |
system:hbbtv:launch:{URL}
|
system:hbbtv:launch:http://msx.benzac.de/hbbtv.html
|
0.1.30 |
Launches a new HbbTV application. The |
For more information about the HbbTV specification, please visit: https://www.hbbtv.org.
Server Actions[edit]
It is possible to execute actions on server side. For this feature, you need programming skills, because you need to implement a service for your server. Server actions allow you to provide logins, member areas, parental controls, search queries, and more. All server actions are sent as HTTP POST requests. Parallel server actions are not allowed (only one server action can be running on application side).
Note: The Content-Type
header for all HTTP POST requests is set to application/x-www-form-urlencoded
(instead of application/json
) to ensure CORS support for simple services (by avoiding CORS preflight requests). Please ignore the Content-Type
header on your server and handle all incoming data from the Media Station X application as JSON objects. Since version 0.1.90, you can set an accurate:
prefix before {URL}
to use the accurate headers (e.g. execute:accurate:{URL}
, execute:code:accurate:{URL}
, execute:user:accurate:{URL}
, etc.). Since version 0.1.90, it is also possible to execute multiple server actions at the same time by using a service:
prefix (e.g. execute:service:{URL}
, execute:service:accurate:{URL}
, execute:service:user:accurate:{URL}
, etc.). However, to detect errors and avoid overloading, the maximum number of parallel service actions is limited to 128.
Syntax | Example | Since Version | Description |
---|---|---|---|
execute:{URL}
|
execute:http://msx.benzac.de/services/echo.php
|
0.1.30 |
Executes an action on server side and returns an action to be executed (e.g. to show a success/error message). The The returned action must be indicated as Note: If you return actions like Please see Responses for more information. |
execute:code:{URL}
|
execute:code:http://msx.benzac.de/services/echo.php
|
0.1.30 |
Executes an action on server side with an entered code and returns an action to be executed (e.g. to show a success/error message). The If the corresponding content item provides a
The returned action must be indicated as Note: If you return actions like Please see Responses for more information. |
execute:user:{URL}
|
execute:user:http://msx.benzac.de/services/echo.php
|
0.1.30 |
Executes an action on server side and returns an action to be executed (e.g. to show a success/error message). This action works in the same way as The
If you use HTTP sessions and your server manages them via cookies, you should always add the Note: For this action, the platform must support third-party cookies (a.k.a. cross-site tracking). Typically, this support can be enabled/disabled in the platform settings. Therefore, users should check whether this support is enabled on their platform before using this action. Additionally, please make sure you set the correct CORS HTTP header on server side (namely |
Extended Actions[edit]
These actions are useful when working with server actions (e.g. to perform a reload after login or to update content parts after successfully executing an action).
Syntax | Example | Since Version | Description |
---|---|---|---|
reload
|
reload
|
0.1.58 |
Reloads the application. |
reload:menu
|
reload:menu
|
0.1.58 | Reloads the current menu data.
Note: The menu data can only be reloaded if it has not been loaded at startup or set via a data action. Since version 0.1.134, you can reload the menu data that has been loaded at startup by using the |
reload:content
|
reload:content
|
0.1.58 |
Reloads the current content data. Note: The content data can only be reloaded if it has not been loaded at startup or set via a data action. Since version 0.1.134, you can reload the content data that has been loaded at startup by using the |
reload:panel
|
reload:panel
|
0.1.58 |
Reloads the current panel content data. Note: The panel content data can only be reloaded if it has not been set via a data action. Since version 0.1.144, you can replace (and reload) the panel content data that has been set via a data action by using the |
update:menu:{ID}
|
update:menu:menu_item_id
|
0.1.58 |
Updates the data of a menu item. The
Note: Only if the properties have been set (to a non Please see Menu Item Object for the data structure. |
update:content:{ID}
|
update:content:content_item_id
|
0.1.58 |
Updates the data of a content item. The
Note: Only if the properties have been set (to a non Please see Content Item Object for the data structure. |
update:content:overlay:{ID}
|
update:content:overlay:content_item_id
|
0.1.110 |
Updates the data of a content overlay item. The |
update:content:underlay:{ID}
|
update:content:underlay:content_item_id
|
0.1.112 |
Updates the data of a content underlay item. The |
update:panel:{ID}
|
update:panel:content_item_id
|
0.1.58 |
Updates the data of a panel content item. The |
update:panel:overlay:{ID}
|
update:panel:overlay:content_item_id
|
0.1.110 |
Updates the data of a panel content overlay item. The |
update:panel:underlay:{ID}
|
update:panel:underlay:content_item_id
|
0.1.112 |
Updates the data of a panel content underlay item. The |
data
|
data
|
0.1.58 |
This action can be used to execute multiple actions in a row. The actions must be provided as Note: If you use actions like |
[{ACTION}|{ACTION}|...]
|
[reload:content|info:Action executed.]
|
0.1.58 |
If an action starts with the character Note: If you use actions like |