Signiant Support

13.4 Workflow Development Guide Print


Workflow Overview

A Workflow or Job Template is a series of sequential tasks that when linked together form a single job or business process. Workflow or Job Template components are sets of scripts and properties that execute a specific task (i.e. file transfer between two agents), or provide output values that other components use as inputs. Signiant enables users to create customized, automated by combining and linking Workflow or Job Template components.

Workflow Concepts

Signiant Workflows or Job Templates can vary in complexity from simple or as complex as your needs require. Creating a Signiant Workflow or Job Template involves the following tasks:

  • Creating the Job Template Library
  • Specifying/configuring the Workflow or Job Template start component

    A start component is required for all Workflows or Job Templates. The start component provides scheduling information to initiate the Workflow or Job Template.

  • Specifying/configuring components that are part of the execution
  • Specifying/configuring components for reports/results of the execution

Job Template Library

The Job Template Library is the container for the Job Template or Workflow that you create or modify to automate data transfer operations. Each Job Template or Workflow must belong to a unique Job Template Library. Once a Job Template Library is created, you can create and define your Job Template or Workflow graphically on the Workflow Canvas.

Workflow Canvas

The Workflow Canvas is where you can do the following:

  • Create new Workflows or Job Templates for specific tasks.
  • Edit and create Workflow or Job Template components.
  • Publish and run the reference Workflows or Job Templates (such as SmartJog, NexGuard, Agility, and so on) for which they are licensed.

Inputs/Outputs

Components can accept inputs and generate outputs. Workflow or Job Template designers can link components so that the output of one component (for example, a list of files) becomes the input of another component or components.

Conditions/Errors

Portions of a Workflow or Job Template can be configured to run only when certain conditions are met. The conditions controlling the flow of execution can be specified using the links joining them.

For example, conditional links allow you to build Workflows or Job Templates that send email messages when less than a certain threshold number of files are transferred or if a transfer fails entirely. Other uses might include testing a file type so that only video files are sent for watermarking while audio files are not. You can also configure a Workflow or Job Template to pause when a failure occurs.

Port Requirements

Ensure that port TCP 80 is open from the Source Agent to the Signiant Manager. Refer to the Signiant Manager System Requirements document for details on the default Signiant Manager port requirements.


Understanding the Job Template Library

A Job Template Library is the container for a Job Template or Workflow that you create or modify to automate data transfer operations. Each Job Template or Workflow must belong to a unique Job Template Library. Once a Job Template Library is created, you can create and define your Job Template or Workflow graphically on the Workflow Canvas.

To assemble a Job Template or Workflow, you drag components from a toolbox onto the Workflow Canvas, linking the components together to create a customized transfer and automation path. Once components are positioned on the Workflow Canvas they may be opened for modifications, or if needed, you can create your own components.

Creating a Job Template Library

The following section describes how to create and configure a Job Template Library:

  1. Select Jobs > Templates
  2. Click Add to create a new Job Template Library or click Edit to modify the properties of an existing Job Template Library.

Job Template Library configuration is composed of the following:

Configuration

To specify general configuration properties, do the following:

  1. On the Properties tab type the Name and Description of the Job Template Library.
  2. Use the Documentation field for any other notes.

Profiles

Job Template Library profiles allow you to provide meaningful names and descriptions for non-technical Media Exchange users. Media Exchange users who have access to these Job Template Libraries see these names and descriptions when they select a Package Template when creating a new Package. Job Template Library profiles are only associated with Media Exchange start components. If the Job Template Library does not contain any Media Exchange start components, you are not able to edit Job Template Library profiles. If you are not licensed for Media Exchange you are not able to edit Job Template Library profiles.

To edit a Job Template Library profile, do the following:

  1. Select the Job Template Library you want to modify and click Edit.
  2. In the Edit Job Template Library window, click Profiles.
  3. Select the parameter you want to edit and click Edit.
  4. Modify the profile parameters. To display a graphic image in the 'displayed as field' - use the following format:
    • Syntax: <img style="border: 0px none" src={path to image}>
    • Example: <img style="border: 0px none" src=http://www.signiant.com/portals/919/skins/signiant-2010/images/ signiant-logo.png>
  5. Click OK.

Job Template Library profiles cannot be deleted. If you want to hide a Job Template Library profile from a user's view, you need to revoke the user's "schedule" access control.

Permissions

Permissions allow you to control user and group access to management objects. By default, all users are able to read and edit their own properties. The following access permissions can be enabled:

  • Create Job Template or Workflow.
  • Delete Job Template or Workflow.
  • View Job Template or Workflow.
  • Schedule Jobs.

To add permissions, do the following:

  1. Select the Job Template Library you want to modify and click Edit.
  2. Select the Permissions tab.
  3. In the Available Users/Groups list, select a user or group to add to the Current Permissions list and click Select.
  4. Click the appropriate check boxes beside the corresponding permissions.
  5. To filter the list of users and groups displayed, in the Name column click the down arrow and select Filters. In the text box, type the partial or full name of the user or group you want to display.
  6. Click OK to save your changes.

To remove permissions, do the following:

  1. Select the Permissions tab.
  2. To remove a user or group from the Current Permissions list, select the user or group you want to remove and click Remove.
  3. To remove specific permissions from a user or group, in the Current Permissions list, deselect the enabled permission.
  4. Click OK to save your changes.

Defining the Job Templates or Workflows in a Job Template Library

To define the Job Templates or Workflows in a Job Template Library, do the following:

  1. Select a Job Template library and click Open Canvas .

    The Components toolbox and Workflow Canvas display the Job Templates or Workflows that belong to the Job Template library.

  2. Make changes to the Job Template(s) or Workflow(s) and click Save.
  3. In the toolbar, click Back to Job Template Libraries.

Note: For more information on creating Job Templates or Workflows, see: Creating A Workflow

Deleting a Job Template Library

To delete a Job Template Library, do the following:

  1. Select the Job Template Library you want to delete.
  2. Click Delete and click Yes at the confirmation prompt.

Note: If the Job Template Library has scheduled Jobs associated with it, a prompt appears warning users of this. To delete the Job Template Library, go to the Job Group(s) in which those scheduled Jobs are located and delete the scheduled Jobs. The error message lists the Job Group(s) where the scheduled Jobs are located. For information on deleting scheduled Jobs, see the Manager User's Guide.

Copying a Job Template Library

To copy a Job Template Library, do the following:

  1. Select the Job Template Library you want to copy.
  2. Click Save As.

    At the prompt type a Name for the new Job Template Library.

  3. Click OK.

    The name of the new Job Template Library is displayed in the Job Template Library list.

Alternatively, copy a Job Template Library by clicking Save As on the toolbar of the Workflow Canvas.

Importing a Job Template Library

To import a Job Template Library, do the following:

  1. Select Jobs > Templates.
  2. Click Import. The Import dialog is displayed.
  3. In the File To Import field, type the file name and location or click Browse to navigate to the file location.
  4. To add this file to a new Job Template Library, enable Add to a new Job Template Library and type a Name for the Job Template Library.

    OR

  5. To add this file to an existing Job Template Library, enable Use an Existing Job Template Library and choose the Job Template Library from the drop-down list.
  6. Click OK.

If an error occurs during the import, an error screen appears, with a link to the Job Template Library specified in the import.

Exporting a Job Template Library

Any Job Template Library can be exported in XML format. These can then be imported into the Manager database or a different one using the Manager Web Interface import function. Use the export function to create backup versions of important Job Template Libraries.

Note: when Yes is displayed in the Protected column, this option is greyed out for the selected job template library.

  1. Select the Job Template Library to export.
  2. Click Export.
  3. If you're exporting a Legacy Job Template Library, the Export Job Template dialog displays.
    • Select the type of export: Standard, Merged or Protected, write a short Description of the template and click Export.
  4. If you're exporting a non-legacy Job Template Library, you are prompted to save the file as XML, select Save File or you can open the Job Template Library in an XML file, click Open with and select an XML Editor from the dropdown menu.

Backing Up a Job Template Library

All Job Template Libraries can be backed up. This process is recommended to ensure you do not lose any data. The backup files are stored in: <backupDir>/jobTemplateLibrary/<JobTemplate_Name>/manualBackup/<Backup file name>.

Note: when Yes is displayed in the Protected column, this option is greyed out for the selected Job Template Library.

  1. Select the name of the Job Template Library to backup.
  2. Click Backup. The Backup dialog is displayed, optionally edit the Name and click OK.

Restoring a Job Template Library

In the event that you do need to restore a Job Template Library, do the following:

Note: when Yes is displayed in the Protected column, this option is greyed out for the selected Job Template Library.

  1. Select the Job Template Library to restore.
  2. Click Restore. The Restore dialog is displayed.
  3. In the list of backed up Job Template Libraries, select the appropriate file and click Restore.

Job Templates or Workflows

Job Templates or Workflows are created graphically on the Workflow Canvas. To assemble a Job Template or Workflow, you drag components from a toolbox onto the canvas linking the components together to create a customized transfer and automation path

It is implied that components in a group are linked to the end of the group. The interface has two main areas:
  • A workflow object toolbox (contains reference components)

  • A workflow layout canvas (sequenced instances of components)

The components toolbox contains icons that represent objects that you can include in a workflow. These components represent tasks (such as schedule, file transfer, e-mail notification, and so on) that you combine to create the workflow by dragging an icon from the toolbox to the canvas.

All components have a set of properties that control their behavior. A property value can be either fixed, or a value that is passed into the component from a previous component in the workflow (an input). All components produce information as they execute, and can export information exposed by keywords as outputs.

Dragging an out node onto an in node links the nodes and components. You must have Component Editor privileges to edit existing components and create new ones.


Creating A Workflow

The following steps demonstrate how to create a simple "Hello World" Workflow or Job Template that performs a scheduled file transfer and sends an email notification when the transfer completes.

  1. From the Manager, select Jobs>Templates.
  2. In the toolbar, click Add.
  3. Type a name in the Name field and click Create. The Job Template Library canvas will appear. On the left is the Components toolbox.  On the right is the canvas.
  4. Expand the Foundation component menu, click the Scheduled Start component and drag it to the canvas.

    Link the HelloWorld component to the Scheduled Start component by clicking the arrow on the right of the Scheduled Start component and dragging the link line to the arrow on the left of the HelloWorld component:

  5. Expand the Notification area in the Components toolbox.

  6. Drag and drop the Email component onto the canvas.
  7. Link the HelloWorld component to the Email component.
  8. Double-click the HelloWorld component to see its properties that are exposed for mapping.
  9. Drag and drop the PrintHelloWorld property on the right side of the dialog to the ScheduledStart property on the left to create prompts.
  10. Drag and drop the Target Agents property on the right to the ScheduledStart property on the left.

    Not all inputs need to be mapped to a prompt. Values can be provided in the input screen on the right, in which case users are NOT prompted for these values.

  11. Click OK to close the mapping window.
  12. Double-click the Email component.
  13. Drag the Email To property from the right onto the ScheduledStart property on the left.
  14. Click in the Value field beside the Email Subject property on the right side of the screen and click the pencil/edit icon.
  15. Type the words "Was Hello World Printed:"
  16. Drag the "Was Hello World Printed" output on the left into the expression editor.
  17. Click Update.
  18. Click OK to close the Mapping Editor dialog.
  19. Click Save to save the workflow.

Workflow Error Handling

The following demonstrates the process to create a Workflow or Job Template to handle error conditions and send a success or fail email message. This example expands on the principals of a basic Workflow or Job Template scenario.

  1. Based on basic Workflow scenario, drag a new Email component from the Notification toolbox to the canvas.
  2. Link the Email2 component to the SigniantDistribute component by clicking the arrow on the right of the SigniantDistribute icon and dragging the line to the arrow on the left of the new Email component.
  3. Right-click the Else link and choose Error Path:. The link changes to red, and displays On Error.
  4. Select each Email component, right-click and choose Rename. Rename the two Email components to: Success_Email and Failure_Email.
  5. Double-click the Failure_Email component to map properties.
  6. To connect the previously created prompt to the value required by the new component drag the Email To output property from the left and drop it on the Email To input property on the right.
  7. In the Email Subject Value field, type WorkflowFAILED.
  8. In the Email Body Value field, type FailureBody.
  9. Click OK to save the changes.

    The same email address will appear regardless of success or failure, but the email subject and body will be different, even though the prompts appear only in the Success_ Email component. The following diagram illustrates the Success_Email component.


Grouping Components

There are two types of grouping mechanisms within a Workflow or Job Template:

  • Group: Job components can be grouped to address more complex data transfer requirements. When Job components are associated as a group, you can configure them to run in a sequence or concurrently, specify the path type, or associate commands and conditions with them. Note: It is implied that components in a group are linked to the end of the group.
  • Iteration Group: Similar to the standard group, the iteration group provides the ability to repeatedly execute the components inside the group. When Job components are associated as a group, you can configure them to run in a sequence or concurrently, specify the path type, or associate commands and conditions with them. Note: It is implied that components in a group are linked to the end of the group.

Groups

To create a Workflow or Job Template with grouped components, do the following:

  1. Select Jobs > Templates.
  2. In the toolbar, click Add. The Add Job Template Library screen is displayed.
  3. In the Name field, type Tutorial and click Create. The Workflow Layout screen is displayed.
  4. Under Components, expand the Foundation menu.
  5. Click the ScheduledStart component and drag it to the canvas.
  6. Expand the Transport menu.
  7. Drag two copies of SigniantDistribute to the canvas.
  8. Expand the Notification menu.
  9. Drag a JobReport component to the canvas.
  10. Drag a box around the two Distribute components, right click one of the components and select Group Components.
  11. To link the ScheduledStart component to the left side of the Group component, click the arrow on the right side of the ScheduledStart component and drag it to the first arrow on the left of the Group box.
  12. From within the Group component, click the arrow on the left side of the component, and drag it to the arrow on the left side of each of the SigniantDistribute components.
  13. Click the arrow on the right side of the Group component and drag it to the arrow on the left side of the JobReport component.

    Your canvas should be similar to the following. Note, by default, each path within a group is in parallel (they will both run at the same time, and when they are both complete, the Job Report component will run). Also the input to a component must be linked, but there is an implicit link from the outputs of each of the SigniantDistribute components to the arrow out of the group.

    Note: While a user can add an expression using the Edit condition on an "AND" statement, the expression will be ignored.
  14. To make the Distribute components run sequentially, right-click the bar at the top of the Group component and deselect Parallel Execution.

    Notice that the labels on the links change to If and Else. Also,the icon beside the Group component label changes to indicate that the group is now a sequential group.

  15. To add a new custom prompt select and right-click the ScheduledStart component and choose Edit Prompts.
  16. Click Add and in the Prompt Editor, do the following:
    • In Prompt Name type RunDistributeOne.
    • In the Prompt Type drop-down list, select Boolean.
    • In Required Field, enable Yes.
    • Accept the default Pixel Width.
  17. Click OK to save your change and exit the Prompts screen.
  18. Right-click the If link before the SigniantDistribute component and choose Edit Condition.
  19. Drag the RunDistributeOne prompt from the left-hand side to the Expression field on the right side of the dialog. You are prompted to insert the fully qualified name corresponding to this tree node as an expression into the expression editor at the cursor position. Choose Yes.
  20. Add eq yes to the end of the expression.

    (i.e. "%ScheduledStart.runDistrubteOne%" eq "yes"):

  21. Click OK. Note that the box surrounding the word If is green. This indicates that the link has an expression defined for it.
  22. In the canvas menu, click Save.

    When this workflow runs, the user is prompted whether to run SigniantDistribute. If the answer is "yes", then SigniantDistribute runs. If the answer is "no" then SigniantDistribute2 runs. The JobReport component runs in either case.

Iteration Group

To create a Workflow with an iteration group, do the following:

  1. Select Jobs > Templates.
  2. In the toolbar, click Add. The Add Job Template Library screen is displayed.
  3. In the Name field, type Iteration and click Create. The Workflow Layout screen is displayed.
  4. Under Components, expand the Foundation menu.
  5. Click the ScheduledStart component and drag it onto the canvas.
  6. Click the Command component and drag it onto the canvas.
  7. Click the Command component and drag it onto the canvas.
  8. Under Components, expand the Notification menu.
  9. Click the JobReport component and drag it onto the canvas.
  10. In the Canvas, right-click Command2 and select Group Component with Iteration.
  11. Draw an arrow from the ScheduledStart component to Command
  12. Draw an arrow from Command to the Iteration Group.
  13. In the Iteration Group component, click the inside connector arrow on the left side of the component and drag it to the arrow on the left side of Command2.
  14. In the Iteration Group component, click the outside connector arrow on the right side of the component and drag it to the arrow on the left side of JobReport.
  15. In the canvas, right-click Command and select Edit Component. The Component Editor is displayed.
  16. Select Outputs, click Add and configure the following:
    • In Name type myOutput.
    • Enable Is Output.
    • Enable Is Visible.

    Click OK.

  17. In the canvas, right-click Command2 and select Edit Component. The Component Editor is displayed.
  18. Select Inputs, click Add and configure the following:
    • In Name type myInput.
    • Enable Is Input.
    • Enable Is Visible.

    Click OK.

  19. In the canvas, right-click the heading for Iteration Group and select Map Inputs. The Inputs editor is displayed.
  20. In Outputs select myOutput and drag it to List in the Mapping panel. A line is displayed connecting the two selections. Click OK.
  21. In the canvas, right-click Command2 and select Map Inputs. The Inputs editor is displayed.
  22. In IterationGroup>Iteration select Value and drag it to myInput in the Mapping panel. A line is displayed connecting the two selections. Click OK.

This creates the foundation of an iteration group. To further customize this iteration group, you can edit Command and Command2 to specify inputs and outputs (for example, edit the Target command).

To manage error situations, Break on Error can be enabled or disabled from the Iteration Group right-click menu. By default this option is enabled. When enabled, the iteration group execution is terminated upon error detection.


Error Propagation Tutorial

This tutorial explains how to modify our existing Workflow or Job Template so that if the SigniantDistribute job fails an FTP job will run, and then a JobReport will be generated. The "Clear Error" option allows Workflow designers to handle errors and mark the error conditions as "handled" events. In this Workflow or Job Template, we want a Job Report to be sent only if the FTP component runs and is successful. The FTP component runs only if the SigniantDistribute component has an error.

  1. Open the Workflow you created in Grouping Components, expand the Transport toolbox and drag the FileList and FTPPut components into the group. An FTPPut component requires inputs to be created by a FileList component.

    You can select the group component and drag the side of it to make the group area larger.

  2. Expand the Notification toolbox and drag an Email component into the group.
  3. Drag another Email component to outside of the group.
  4. Link the SigniantDistribute component to the FileList component.
  5. Link the FileList component to the FTPPut component.
  6. Right-click the link between the SigniantDistribute and FileList components and choose Error Path.
  7. Link the SigniantDistribute2 component to the Email component.
  8. Right-click the link you just created between SigniantDistribute2 and Email and choose Error Path.
  9. Rename the Email2 component to Error_Email and link it to the left-side of the Group component.
  10. Right-click the link between the group and the Error_Email components, and choose Error Path.
  11. Right-click the error link between SigniantDistribute and FileList and choose Clear Error.Selecting the Clear Error option informs the Scheduler that the error is handled and the necessary steps have been taken to ensure a successful outcome.

    Note that the SigniantDistribute2 link does not have Clear Error checked. If this component runs and fails, it sends an e-mail, and follows the error path outside the group.

  12. To create prompts, double-click the SigniantDistribute component.
  13. Create prompts for the following inputs by dragging them from the Input column on the right to the ScheduledStart property on the left: Source Agent, Source Data,Target Agents, and Target Directory.
  14. Click OK to save the changes.
  15. Double-click the SigniantDistribute2 component, and map the following properties (drag from left to right): Source Agent, Source Data,Target Agents, and Target Directory.

    Dragging from the left to the right maps properties. Since you already created prompts in the ScheduledStart component when editing SigniantDistribute, you can map the properties (do NOT drag from right to left).

  16. Click OK.
  17. Double-click the FileList component and map the following properties (drag from left to right): Source Agent and Source Data and click OK.
  18. Double-click the FTPPut component and drag the following inputs to the ScheduledStart component (by dragging from right-to-left): FTP Server Hostname, Target Directory, FTP Username, FTP Password and Source Deletions After Successful Transfer.
  19. Right-click on each of these inputs and choose Prompt Editor.
  20. Drag the FileList output (listed under the "FileList" folder in the FTP Inputs screen) and drop it onto the Source Data Input (on the right). Drag the Source Agent output on the left onto the Target Agents input on the right.
  21. Click OK to save the changes.
  22. Double-click the Email component that appears within the Group component.
  23. Map the Email To property onto the Email To property (drag from left to right).
  24. In the Email Subject value field, type Distribute2Failed.
  25. In the Email Body value field, type Distribute2FailBody.
  26. Click OK.
  27. Double-click the Job Report component.
  28. Map the Email To property (drag from left to right).
  29. In the Email Subject field, type TutorialWorkflowComplete.
  30. Click OK.
  31. Double-click the Error_Email component.
  32. Map the Email To property (drag from left to right).
  33. In the Email Subject field, type TutorialWorkflowFailure.
  34. In the Email Body field, type WorkflowFailureBody.
  35. Click OK. In the Workflow Canvas menu, click Save.

Workflow Email Notifications

The email notification component allows you to send emails from with a Workflow or Job Template. Outputs from any previous component can be mapped as inputs to the email component. The "Body" input on the email component will be used as the body of the email notification that is to be sent. This can be a combination of static text and variables, just static text or just variables.

Creating Single-Component Workflow with Multi-Lined Email

To create a single-component Workflow or Job Template to send a multi-lined email notification, do the following:

  1. Create a Workflow or Job Template.
  2. Right-click Component_A and select Edit Component.
  3. In the left side of the Component Editor screen, select Outputs, right-click and select Add to create a new property.
  4. In the Component Editor, do the following:
    • In Name, type: emailBody.
    • In the Type drop-down list, select Textbox.
    • In Options, select Is Output.
    • Click OK.
  5. On the left side, under Commands, select Target Command.
  6. Edit the command to display a basic command script (in Perl) for a multi-lined e-mail. The following list provides extra information about the sample script displayed above:

    Line 3: Required Script Library (Default)

    Line 4: XML Library required for converting text to an XML format used by notification component.

    Line 6: Array of text strings.  The XML encoding expects an array of lines for the email body.

    Line 10: The text assigned to Array is converted to XML. This is then assigned to the outputVar variable.

    Line 12: outputVar contents are assigned to the emailBody output variable.

  7. Drag the emailBody property from Outputs and drop it onto the EmailBody input on the right.
  8. Save the Workflow or Job Template.

Workflow Publishing

Once you have created a Workflow or Job Template, you must publish and then run it. A published Workflow or Job Template appears as a menu item in the Manager, under the menu group in which you published it to.

Publishing Workflows

To publish the Workflow or Template, do the following:

  1. Select Jobs > Templates.
  2. Double-click the name of the Job Template Library that contains the Workflow or Job Template to be published.
  3. In the Workflow, right-click (control-click on Mac) the trigger component, for example, ScheduledStart.
  4. Select Publish Workflow.
  5. Click Publish It.

    A Publish Job Template dialog is displayed.

  6. Enter the Job Group name and edit the other fields if required.
  7. Click Publish Job Template.
  8. In the toolbar, click Save.

    The name of the published Workflow now appears in the Manager under the menu you specified. Refresh the page to see the published Workflow the first time after it is published.

Running a Published Workflow

To run the Workflow or Job Template, do the following:

  1. In the Manager, expand the menu where you published the Workflow.

    After you published the Workflow, its name appeared under the menu you specified (by default it appears under the Media Mover menu).

  2. Click on the name of the published Workflow.
  3. In the display area, click on the name of the Workflow.
  4. In the toolbar, click Add to open a prompt dialog.
  5. Depending on the configuration of the Workflow, enter the corresponding values for the prompts.
  6. Select the agent on which you want the Workflow to run.
  7. Click OK.
  8. In the display area, select the Workflow name and click Run.
  9. Click Run now.

    A progress bar shows that your Workflow is running.

Running a Workflow Through the Job Groups Menu

You can also run a Workflow job through the Job Groups menu. To do this, do the following:

  1. In the Jobs and Reports menu, choose Job Groups.
  2. Double-click the Job Group to which you want to add the Job and click Add.
  3. From the drop-down menu, select the Job Template Library in which the Job you want to add is located.
  4. From the drop-down, choose the Job Template Library you want to add to the Job Group.

    You can click Scheduled Jobs to display a list of scheduled Jobs associated with the selected Job Group.

  5. Change the name of the Job, if desired, and fill out any other information required.
  6. Click OK.

Workflow Management

Backing up a Workflow

You can back up a Workflow or Job Template by exporting the workflow and saving the resulting XML file in a secure place.

To backup a Workflow or Job Template, do the following:

  1. In the Manager, select Jobs > Templates.
  2. Double-click the name of the Job Template Library where the Workflow or Job Template is saved.
  3. On the Workflow Canvas, click Export.
  4. In the File Download dialog, click Save.  

    The dialog might not appear with Mac users. The file may be saved directly to the desktop.

  5. In the Save As dialog, browse to your backup location and click Save.

Importing a Workflow

To import a Workflow or Job Template, do the following:

  1. In the Manager, select Jobs > Templates.
  2. Click Import.
  3. In the File To Import field, type the path in which the file is located or click Browse to search for the file path.
  4. Click in the Add to a new Job Template Library radio button and type a name for the Job Template Library in the field.

    The name is optional. If you do not supply a Job Template Library name, the filename will be used.

    OR

  5. Select the Use an Existing Job Template Library radio button, and choose the Job Template Library from the drop-down menu to add the Workflow or Job Template file to an existing Job Template Library.

    On the import of an existing Job Template Library, the existing Job Template Library is overwritten by the imported one. It is NOT a merge of the two. If you import a legacy Job Template Library (pre-8.0), then templates with matching names are imported as a new version of the template.

  6. Click Import.

    If an error occurs during the import, an error screen appears, with a link to the Job Template Library specified in the import.

Deleting a Property Mapping

To delete a property mapping, in the Map Inputs window, in the Value field click the x icon. This removes the value from the field and deletes the mapping. To reconnect the mapping, drag and drop the property from the left to the right.

Prompts and Outputs

This window displays the prompts and outputs for the selected Workflow or Job Template component. Inputs that have a check placed in the Prompt field are available as prompts when the Job runs. Click Add to add additional input properties. These properties are available as outputs in the Workflow component that is linked to this one. For example, a Workflow that has a ScheduledStart component linked to the SigniantDistribute component, displays the outputs from the SigniantStart component in the Inputs screen for the SigniantDistribute component.

The Prompt Editor window displays the name and type of prompt. Depending on the type of prompt selected from the drop-down list, different fields will appear in the Prompt Details area of the screen.

Mapping

The inputs window displays the outputs from the component to which the selected component is linked (the component that appears prior to the selected component in the workflow). For example, a Workflow or Job Template that has a ScheduledStart component linked to the SigniantDistribute component, displays the outputs from the SigniantStart component in the Inputs window for the SigniantDistribute component.

You can map inputs and outputs between the components by dragging and dropping them between the output and input columns. When you drag an input to the output column, the Prompt Editor window appears, allowing you to specify the property as an output. Dragging the property from the output to the input column provides the output value for that input.

Condition Screen

Double-clicking on the link between two components displays the Condition window. The Condition window allows you to define a condition on the path that, if fulfilled, will be executed on the path, on a downstream component.

Where, depending on a condition specified, the Workflow or Job Template goes down a different path. In the example, if the transfer is successful, the next step in the Workflow or Job Template is the SuccessEmail component, which specifies the e-mail addresses of users who should receive notification upon successful completion of the Job. If the transfer is not successful, the next step in the Workflow or Job Template is the FailureEmail. component which specifies the email addresses of users who should receive notification upon the failure of a Job.

Note that the If/Else labels are yellow when there is no condition defined. They turn green when a condition has been defined. The component condition is run from top to bottom. If you drag one of the components above the other, its label will change from "else" to "if". You can edit the condition labels to customize them with your own values, but once you edit it, the value will remain even if you drag the component to a different area of the screen. The component will still execute as the initial condition, but it will have the edited label (for example, "Else do this").

The Condition window enables users to create complex Workflow or Job Template executions.

The Expressions area of the window allows you to insert any regular conditional expression in Perl. You can double-click an input/output property on the left and it will insert the value in quotes (like a string) in the right side of the window, at the place where the cursor was. You can insert more than one condition as well.

String Comparisons

To execute a string comparison operator, you require two strings: one on either side of the operator.  The string variable must be encased with double quotations. Strings that contain double quotations or trailing back slashes will cause errors.

To test if string1 equals string2 type the following

%ScheduledStart.string1%" eq "%ScheduledStart.string2%

To test if string1 joined with string2 is less-than or equal to string3 type the following

%ScheduledStart.string1%%ScheduledStart.string2%" le "ScheduledStart.string3%

Any of the supported operators can be used in the above examples. The supported string operators are:

 

Operator Definition Description

gt

string greater-than

Compares whether left value comes alphabetically after right value.

lt

string less-than

Compares whether left value comes alphabetically before right value.

ge

string greater-than or equal to

Compares whether left value is equal to or comes alphabetically after right value.

le

string less-than or equal to

Compares whether left value is equal to or comes alphabetically before right value.

eq

string equality

Compares whether left value is exactly the same as the right value.

ne

string inequality

Compares whether left value is at all different from the right value.

Integer Comparisons

To execute an integer comparison operator, you require two integers: one on either side of the operator.

To test if number1 is greater-than number2 type the following:

%ScheduledStart.number1% > %ScheduledStart.number2%

To test if number1 joined with number2 is less-than or equal to number3 type the following:

%ScheduledStart.number1%%ScheduledStart.number2% <= %ScheduledStart.number3%

Any of the supported operators can be used in the above examples. The supported integer operators are:

 

Operator Definition Description

>

arithmetic greater-than

Compares whether left value is greater than right value.

<

arithmetic less-than

Compares whether left value is smaller than right value.

>=

arithmetic greater-than or equal to

Compares whether left value is equal to or greater than right value.

<=

arithmetic less-than or equal to

Compares whether left value is equal to or less than right value

==

arithmetic equality

Compares whether left value is equal to right value.

!=

arithmetic inequality

Compares whether left value is not equal to right value.

Show Web Services Information

Right-click on any Workflow or Job Template start component and choose Show Web Services Info, a window is displayed that lists the information (such as variable names) you need to include when making Web Service (SOAP) calls.

Start Component Commands

When you right-click on the Start component, the following options are displayed:

  • Edit Prompts: opens the Prompts and Outputs window for the component. Use this window to Add, Edit and Delete prompts.
  • Delete: deletes the component.
  • Rename: type a new name and click Enter.
  • Publish Workflow: opens the List Published Workflows window. This window displays published workflows and enables you to Add, Edit and Delete published workflows.
  • Edit Component: opens the Component Editor for the component. Use this window to Add or Delete component attributes.
  • Publish Component: opens the Publish Component window.
  • Show Web Services Info: displays the qualified name to use when creating and starting jobs with SOAP parameters.
  • Preview Prompts: opens the prompt window for the job.
  • Create Job: Opens the Add Job window.

Troubleshooting A Workflow

If you encounter errors while running a Workflow or Job Template, recreate the Workflow by deleting the existing component and dragging a new one to the Workflow Canvas. You will then need to edit the new component.

Be sure to define all desired prompts on the Start component; ensure that the prompt type and associated attributes are all specified appropriately for the given workflow. New "Start" components can be based on "ScheduledStart" or "DropBoxStart" (or from the instances of those in Sample_Workflows). Be sure to add appropriate "TextDisplay" properties so that the job scheduling form has a consistent appearance with our published & sample solutions/workflows.

Ensure that all prompted properties are mapped to appropriate component inputs; ensure that the property types of the prompted property and the mapped input property are the same.

Ensure that all non-mapped component input properties have the appropriate static value.

Ensure that all any required component output properties are mapped to appropriate downstream component inputs.

For conditional links between components, ensure that there is valid Perl code defined on each link which implements the given condition.

For Workflows or Job Templates containing a number of components in sequence, any of which may fail and for which the Workflow needs to resume at a downstream point (i.e., at a JobReport component) scope the "middle" components within a component group. For example: StartComponent --> Transfer_A --> Command_A --> JobReport. In such a Workflow or Job Template, the components "Transfer_A" and "Command" should be placed in a group otherwise a failure in either will be considered the end of the Workflow or Job Template, in which case the JobReport component would not be executed.

If you receive a Perl error message in a workflow that contains an FTP component, ensure that you are using the FTP component in the supported way. You must always place a FileList component before the FTP component.

Restricted Components and Versioning

Agents that have exchanged trusts and imposed access entity restrictions on components require special treatment when you modify the script in any of the restricted components in the workflow. Because of the nature of the trust relationship between the agents and the versioning of the component, workflow jobs will fail between the agents unless both agents have exactly the same component in their workflows. If one organization modifies a command/script in one of the components, that organization must publish a new version of the component, export it and e-mail the zip file to the second organization.

The second organization must install the new component (through the applications page, as though you are installing a new application), and change the grants on the agent involved in the workflow so that it has permission to access the new component.