Difference between revisions of "Resolve Action"

From MSX - Wiki
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
Each platform supports different video formats and codecs. This means that some videos can be played with the standard player, others require a plugin, others do not work at all. To deal with this, the <code>resolve:</code> action can be used, which has been developed to return a suitable format/codec depending on the current platform/player. This feature is available since version '''0.1.107'''.
+
Each platform supports different video/audio formats and codecs. This means that some videos/audios can be played with the standard player, others require a plugin, others do not work at all. To deal with this, the <code>resolve</code> action can be used, which has been developed to return a suitable format/codec depending on the current platform/player. This feature is available since version '''0.1.107'''.
  
'''Note: The resolve action can also be used for images.'''
+
The response data from a <code>resolve</code> action must contain a <code>url</code> property (of type <code>string</code>). If the resolve process failed, it should contain an <code>error</code> property (of type <code>string</code>). Since version '''0.1.145''', the response data can also contain a <code>label</code> property (of type <code>string</code>), a <code>background</code> property (of type <code>string</code>), and a <code>properties</code> property (of type <code>object</code>) to extend/override the corresponding video/audio info (e.g. to set up player buttons for specific plugins). Please note that indicated <code>properties</code> extend/override existing <code>properties</code> and do not completely replace them.
 +
 
 +
'''Note: The <code>resolve</code> action can also be used for images (that are loaded on the fly). Additionally, it can be used to generate temporary links or links with access tokens at runtime.'''
  
 
Please see following example.
 
Please see following example.
 
== Example ==
 
== Example ==
 +
This example uses a web service and an interaction plugin to resolve the assets. For the interaction plugin, please have a look at this implementation script: https://msx.benzac.de/interaction/js/resolve.js.
 +
 
=== Screenshot ===
 
=== Screenshot ===
 
[[File:resolve_action.png|thumb|640px|none|Example Screenshot (Resolve Action)]]
 
[[File:resolve_action.png|thumb|640px|none|Example Screenshot (Resolve Action)]]
Line 19: Line 23:
 
     },
 
     },
 
     "items": [{
 
     "items": [{
             "badge": "Web",
+
             "badge": "Service",
 
             "icon": "msx-white-soft:movie",
 
             "icon": "msx-white-soft:movie",
 
             "title": "Video 1",
 
             "title": "Video 1",
 +
            "titleFooter": "Standard",
 
             "playerLabel": "Video 1",
 
             "playerLabel": "Video 1",
 
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=video&platform={PLATFORM}&player={PLAYER}"
 
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=video&platform={PLATFORM}&player={PLAYER}"
 
         }, {
 
         }, {
             "badge": "Web",
+
             "badge": "Service",
 
             "icon": "msx-white-soft:movie",
 
             "icon": "msx-white-soft:movie",
 
             "title": "Video 2 ",
 
             "title": "Video 2 ",
Line 32: Line 37:
 
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:video&platform={PLATFORM}&player={PLAYER}"
 
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:video&platform={PLATFORM}&player={PLAYER}"
 
         }, {
 
         }, {
             "badge": "Web",
+
             "badge": "Service",
 
             "icon": "msx-white-soft:movie",
 
             "icon": "msx-white-soft:movie",
 
             "title": "Video 3",
 
             "title": "Video 3",
 
             "titleFooter": "Unsupported",
 
             "titleFooter": "Unsupported",
 
             "playerLabel": "Video 3",
 
             "playerLabel": "Video 3",
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=unsupported&platform={PLATFORM}&player={PLAYER}"
+
             "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=unsupported"
 
         }, {
 
         }, {
             "badge": "Web",
+
             "badge": "Service",
 
             "offset": "0,0,0,-1",
 
             "offset": "0,0,0,-1",
 
             "icon": "msx-white-soft:music-note",
 
             "icon": "msx-white-soft:music-note",
 
             "background": "resolve:http://msx.benzac.de/services/resolve.php?type=image",
 
             "background": "resolve:http://msx.benzac.de/services/resolve.php?type=image",
 
             "title": "Audio 1",
 
             "title": "Audio 1",
 +
            "titleFooter": "Standard",
 
             "playerLabel": "Audio 1",
 
             "playerLabel": "Audio 1",
 
             "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=audio&platform={PLATFORM}&player={PLAYER}"
 
             "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=audio&platform={PLATFORM}&player={PLAYER}"
 
         }, {
 
         }, {
             "badge": "Web",
+
             "badge": "Service",
 
             "offset": "0,0,0,-1",
 
             "offset": "0,0,0,-1",
 
             "icon": "msx-white-soft:music-note",
 
             "icon": "msx-white-soft:music-note",
Line 56: Line 62:
 
             "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:audio&platform={PLATFORM}&player={PLAYER}"
 
             "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:audio&platform={PLATFORM}&player={PLAYER}"
 
         }, {
 
         }, {
             "badge": "Web",
+
             "badge": "Service",
 
             "offset": "0,0,0,-1",
 
             "offset": "0,0,0,-1",
 
             "icon": "msx-white-soft:music-note",
 
             "icon": "msx-white-soft:music-note",
Line 67: Line 73:
 
             "badge": "Interaction",
 
             "badge": "Interaction",
 
             "icon": "msx-white-soft:movie",
 
             "icon": "msx-white-soft:movie",
             "title": "Video 4",          
+
             "title": "Video 4",
 +
            "titleFooter": "Standard",
 
             "playerLabel": "Video 4",
 
             "playerLabel": "Video 4",
 
             "action": "video:resolve:request:interaction:video@http://msx.benzac.de/interaction/resolve.html"
 
             "action": "video:resolve:request:interaction:video@http://msx.benzac.de/interaction/resolve.html"
Line 90: Line 97:
 
             "background": "resolve:request:interaction:image@http://msx.benzac.de/interaction/resolve.html",
 
             "background": "resolve:request:interaction:image@http://msx.benzac.de/interaction/resolve.html",
 
             "title": "Audio 4",
 
             "title": "Audio 4",
 +
            "titleFooter": "Standard",
 
             "playerLabel": "Audio 4",
 
             "playerLabel": "Audio 4",
 
             "action": "audio:resolve:request:interaction:audio@http://msx.benzac.de/interaction/resolve.html"
 
             "action": "audio:resolve:request:interaction:audio@http://msx.benzac.de/interaction/resolve.html"

Latest revision as of 10:09, 21 February 2022

Each platform supports different video/audio formats and codecs. This means that some videos/audios can be played with the standard player, others require a plugin, others do not work at all. To deal with this, the resolve action can be used, which has been developed to return a suitable format/codec depending on the current platform/player. This feature is available since version 0.1.107.

The response data from a resolve action must contain a url property (of type string). If the resolve process failed, it should contain an error property (of type string). Since version 0.1.145, the response data can also contain a label property (of type string), a background property (of type string), and a properties property (of type object) to extend/override the corresponding video/audio info (e.g. to set up player buttons for specific plugins). Please note that indicated properties extend/override existing properties and do not completely replace them.

Note: The resolve action can also be used for images (that are loaded on the fly). Additionally, it can be used to generate temporary links or links with access tokens at runtime.

Please see following example.

Example[edit]

This example uses a web service and an interaction plugin to resolve the assets. For the interaction plugin, please have a look at this implementation script: https://msx.benzac.de/interaction/js/resolve.js.

Screenshot[edit]

Example Screenshot (Resolve Action)

Code[edit]

{
    "type": "list",
    "headline": "Resolve Action",
    "template": {       
        "type": "separate",
        "layout": "0,0,2,4",
        "color": "msx-glass"
    },
    "items": [{
            "badge": "Service",
            "icon": "msx-white-soft:movie",
            "title": "Video 1",
            "titleFooter": "Standard",
            "playerLabel": "Video 1",
            "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=video&platform={PLATFORM}&player={PLAYER}"
        }, {
            "badge": "Service",
            "icon": "msx-white-soft:movie",
            "title": "Video 2 ",
            "titleFooter": "Plugin",
            "playerLabel": "Video 2",
            "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:video&platform={PLATFORM}&player={PLAYER}"
        }, {
            "badge": "Service",
            "icon": "msx-white-soft:movie",
            "title": "Video 3",
            "titleFooter": "Unsupported",
            "playerLabel": "Video 3",
            "action": "video:resolve:http://msx.benzac.de/services/resolve.php?type=unsupported"
        }, {
            "badge": "Service",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:http://msx.benzac.de/services/resolve.php?type=image",
            "title": "Audio 1",
            "titleFooter": "Standard",
            "playerLabel": "Audio 1",
            "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=audio&platform={PLATFORM}&player={PLAYER}"
        }, {
            "badge": "Service",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:http://msx.benzac.de/services/resolve.php?type=image",
            "title": "Audio 2",
            "titleFooter": "Plugin",
            "playerLabel": "Audio 2",
            "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=plugin:audio&platform={PLATFORM}&player={PLAYER}"
        }, {
            "badge": "Service",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:http://msx.benzac.de/services/resolve.php?type=unsupported",
            "title": "Audio 3",
            "titleFooter": "Unsupported",
            "playerLabel": "Audio 3",
            "action": "audio:resolve:http://msx.benzac.de/services/resolve.php?type=unsupported"
        }, {
            "badge": "Interaction",
            "icon": "msx-white-soft:movie",
            "title": "Video 4",
            "titleFooter": "Standard",
            "playerLabel": "Video 4",
            "action": "video:resolve:request:interaction:video@http://msx.benzac.de/interaction/resolve.html"
        }, {
            "badge": "Interaction",
            "icon": "msx-white-soft:movie",
            "title": "Video 5",
            "titleFooter": "Plugin",
            "playerLabel": "Video 5",
            "action": "video:resolve:request:interaction:plugin:video@http://msx.benzac.de/interaction/resolve.html"
        }, {
            "badge": "Interaction",
            "icon": "msx-white-soft:movie",
            "title": "Video 6",
            "titleFooter": "Unsupported",
            "playerLabel": "Video 6",
            "action": "video:resolve:request:interaction:unsupported@http://msx.benzac.de/interaction/resolve.html"
        }, {
            "badge": "Interaction",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:request:interaction:image@http://msx.benzac.de/interaction/resolve.html",
            "title": "Audio 4",
            "titleFooter": "Standard",
            "playerLabel": "Audio 4",
            "action": "audio:resolve:request:interaction:audio@http://msx.benzac.de/interaction/resolve.html"
        }, {
            "badge": "Interaction",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:request:interaction:image@http://msx.benzac.de/interaction/resolve.html",
            "title": "Audio 5",
            "titleFooter": "Plugin",
            "playerLabel": "Audio 5",
            "action": "audio:resolve:request:interaction:plugin:audio@http://msx.benzac.de/interaction/resolve.html"
        }, {
            "badge": "Interaction",
            "offset": "0,0,0,-1",
            "icon": "msx-white-soft:music-note",
            "background": "resolve:request:interaction:unsupported@http://msx.benzac.de/interaction/resolve.html",
            "title": "Audio 6",
            "titleFooter": "Unsupported",
            "playerLabel": "Audio 6",
            "action": "audio:resolve:request:interaction:unsupported@http://msx.benzac.de/interaction/resolve.html"
        }]
}

Demo[edit]