In computing, a plugin is a software component that adds a specific feature to an existing software application. When an application supports plugins, it enables customization. In the context of Ooyala Flex, various parts of the platform allow for the development and configuration of plugins. This guide provides an overview of the existing plugins. This guide does not cover customer-specific plugins. It covers all plugins that are bundled with every deployment of Ooyala Flex.
Internal Plugins: Internal plugins run inside Ooyala Flex and are configured and managed within the Ooyala Flex console. Examples are the transcode action and the storage resource.
Adapter Plugins: Adapter plugins are internal Ooyala Flex components that translate Ooyala Flex commands to other product interfaces. Adapters help jobs to translate internal Ooyala Flex messages to messages recognised by external resources such as transcoders and QC systems.
Apps: Apps are external web and mobile apps that are deployed in other applications or run in web browsers and connect remotely to Ooyala Flex via Ooyala Flex’s API. Examples of apps are the Adobe CQ player plugin and the Adobe Premiere and Prelude Partner Panel plugins which communicate with Ooyala Flex via REST.
Internal plugins reside within Ooyala Flex. Ooyala Flex’s architecture is designed to ensure that powerful plugins can be created with minimal coding effort. Ooyala Flex’s configuration model allows for configuration of plugins as well as scriptable fields. This ensures that your plugin will be versatile and easy to reuse.
Internal plugins comprise two functionalities :
Plugin Code: Custom Java code written against Ooyala Flex’s API.
Plugin Configuration XML: A Ooyala Flex Metadata XML file with details about configuration parameters used to configure the plugin once installed.
The screen shots below show what a plugin configuration file looks like inside a plugin and also once loaded in the UI.
Ooyala Flex’s plugin configuration is managed by metadata definitions. As such, each parameter has a field type. For a full list of field types, please see the field types section.
The following internal plugin types are supported.
Actions - Plugins for Ooyala Flex action types
Event Handlers - Plugins for Ooyala Flex event types
Players - Plugins for Ooyala Flex players
Resources - Plugins for Ooyala Flex resource types
Quotas - Plugins for Ooyala Flex quotas
Timed Actions - Plugins for Ooyala Flex timed actions
Wizards - Plugins for wizards
Adaptor plugins are special low-level internal plugins that translate Ooyala Flex commands into messages that communicate with external resources. Examples of adapater plugins in Ooyala Flex are the transcode adapter and the QC adapter.
Adapters are extremely useful when resources from different vendors are required to work in tandem. For example, one may wish to use an Elemental transcode resource and also a Telestream transcode resource. Without a transcode adaptor, one would require two separate transcode action types, two separate transcode profile types and two separate transcode resource plugins. With an adapter in place, one can use the default transcode plugin and the built in Ooyala Flex transcode profile to transcode using two competing products from different vendors at the same time. So in essence, the transcode Adapter does the work of translating messages at a low level to communicate to each external resource.
With adapters, supporting new vendor solutions is as simple as updating a single adapter rather than implementing a range of new plugins.
The following internal adapter plugins are supported:
Apps are created using other software APIs and typically connect to Ooyala Flex through Ooyala Flex’s REST API.
Some example of apps created are as follows:
Editing - Plugins for external editing software
Logging - Plugins for external logging software
CMS - Plugins for external content management systems
For each plugin, we provide the following information in addition to the name and description. Please note not all fields are shown for all plugins as some are not relevant in some cases.
|Icon||[ ]||Plugin icon|
|Sub-type||Publish||Sub-type of this plugin|
|Deployment||Internal||Whether the plugin is deployed inside Ooyala Flex or within another product|
|Supports Configuration||Whether this plugin supports configuration|
|Supports Scripting||Whether configuration supports scripting|
|Scripting Context||User, asset||What Ooyala Flex objects can be referenced from within the scripting context|
|Compatibility||5.x||What versions of Ooyala Flex this plugin works for|
|Lifecycle||Stable||Maturity of this plugin (Experimental, Unstable or Stable)|
If the plugin supports configuration, then the configuration properties are provided:
|Username||string||0..1||The username for the account|
In this section we list the vendor solutions that Ooyala Flex plugs in to through its plugin framework.
Please note that we integrate with a wider range of solutions than those listed below. Many solution vendors support integration via standard protocols, for example, FTP, SMB/CIFS, REST, SOAP etc. In addition, Ooyala Flex’s API can be used by developers to create their own script-based or Java-based plugins.
|QC||Telestream FlipFactory Loudness Plugin|
|Storage Solutions||Amazon AWS S3|
|Storage Solutions||Microsoft Azure Blob Storage|
|Storage Solutions||Google Cloud Storage|
|Creative tools||Adobe Premiere|
|Creative tools||Avid Interplay|