eoActions

Tie in custom actions into the editorial object actions menu. Also see the section on Actions.

Where in the UI

The EO Actions appear in the cog menu in the library sidebar:

Custom EO Action

They also appear in the collection builder:

Custom EO Action in the collection builder

Example

{
 "eoActions": [
   {
       // button label
       "label": "Do Something Err",

       // button icon
       "icon": "icon-magic",

       // all these filters have to match for the action to be shown on the EO
       "filters": [
        {
            "key": "objectType",  //restrict to these types
            "values": ["Notebook", "Draft"]
        },
        {
            "key": "categoryId",  //only show for this category
            "values": [60]
        },
        {
            "key": "status",        //do not show if status is DELETED
            "values": ["DELETED"],
            "modifiers": ["NOT"]
        },
        {
            "operator": "OR",
            "filters": [
                {
                    "key": "dummy",
                    "values": ["dummyval"]
                },
                {
                    "key": "dummy2",
                    "values": ["dummyval2"]
                }
            ]
        }
       ],
       "requiredRights": "LIBRARY_SHARE",

       // this defines what a click on the action menu item does in the client
       // A short overview is given in the sections below
       "clientCommand": "GenericEditorialObjectServiceWithDialog",

       // parameters passed to the client command, specific to clientCommand class
       "params": {
         "infoMessage": "This is a service that does nothing. It doesn't even exist!",
         "showProgressOnComplete": true,
         "service": "ftvippamsync",
         "serviceArguments": {
           "profile": [
             "EDL;dnxhd*",
             "EDL;avid*"
           ],
           "forceRedo": true,
           "wsdl": "http://somewhere:8080/services/Assets?wsdl",
           "user": "theuser",
           "password": "something",
           "path": "interplay://AvidWG/Projects/FTV-INTERPLAY/"
         }
       }
     }
  ]
}

Such an action will run a clientCommand, which is a predefined, hardcoded, command in the Limecraft Flow UI. Everything in params is passed to this command. See below which clientCommands exist.

clientCommand

GenericEditorialObjectService

Clicking the menu item will execute a POST to api/production/pId/eo/eoId/service/service, without user interaction.

{
    "params": {
         // the service to launch
         "service": "do-nothing",

         // arguments for the service to launch
         "serviceArguments": {
           "forceRedo": true
         }
    }
}

GenericEditorialObjectServiceWithDialog

Presents a dialog where the user can start a service. Progress / errors are shown on the dialog.

{
  "params": {
     // infoMessage is shown on the 'start' page of the dialog
     "infoMessage": "This is a service that does nothing. It doesn't even exist!",

     // false: (default) if a completed workflow is found, show start page of dialog
     // true: if a completed workflow is found, keep showing it (and its 'progress')
     "showProgressOnComplete": true,

     // the service to launch
     "service": "do-nothing",

     // arguments for the service to launch
     "serviceArguments": {
       "forceRedo": true
     }
  }
}

CommandEoMetadata

Show metadata attached to this Editorial Object.

CheckoutEO, CheckinEO

Similar to GenericEditorialObjectServiceWithDialog but with Eclair specific start page.

IngestEO

Similar to GenericEditorialObjectServiceWithDialog but with Eclair specific start page which requests user input.

CommandCustomEoStartCleanup

Executes a PATCH on the Editorial Object to set the status to CLEANUP_REQUESTED and to set systemFields.eclair_cleanupRequestedAt to the current time.

The status being saved is customizable via params.status and defaults to CLEANUP_REQUESTED.