Implementing Action Configuration and Execution Classes

Versioning in JEF

JEF enables you to run multiple versions of the same plugin concurrently. When defining the action configuration, you should provide the following definitions through annotations:

Example:

@ActionPlugin(
       uuid = "f2333a20-5557-48db-84fe-b54379e43c09",
       type = "example", plugin = "jef-email-action",
       version = "1.0.0",
       actionConfiguration = EmailActionConfiguration.class)
public class EmailActionExecutor extends ActionExecutor  {
…		
  • UUID: this stands for "Universally Unique Identifier" and is unique across all the action and resource configuration. This value is the same for subsequent versions.
  • Type: this is a string that groups together all the actions that are from the same family. For example: Transcode, Archive, Copy, Import, Ingest, and so on. If the same string is used in existing Enterprise types, the given action configuration will be added to the same type. For example: if a “Transcode” type already exists in Ooyala Flex Enterprise, any JEF actions that fit into that type will be added to the same transcode configuration as the other native Enterprise actions. Please see the Plugin Types section for a complete list of  current out-of-the box plugin types.
  • Plugin: this is the implementation of generic action types. For example: Elemental Transcode, DIVArchive, and so on. If the same string is used for existing Enterprise plugins, the given action configuration will be added to the same type. For example: if the Elemental Transcode plugin is used, JEF actions will be added to the same transcode type and two ‘“Elemental Transcode” names will be present. Please, see the “Plugin Types” section, for a complete list of current out-of-the box plugin types.
  • Version: this is a string with version numbering.
Note: At present there is no fixed schema for this version of JEF. Currently, string comparison is used to decide the latest version of an action plugin.
Note: Versioning is not yet supported on the Enterprise side in JEF 1.0. This means that Enterprise always executes new jobs using the latest version that has been deployed.
https://help.ooyala.com/sites/all/libraries/dita/en/media-logistics/flex/dev/60/jef_programming_guide_implementing_actionconfig_and_execution_classes.html

Was this article helpful?