Assign task step

The assign task step creates a work item and assigns it to a user or group. Along with assigning the task, the component also specifies the Adaptive Form or non-interactive PDF for the task. The Adaptive Form is required to accept input from users and non-interactive PDF or a read-only Adaptive Form is used for review only workflows.

You can also use the component to control the behavior of the task. For example, creating an automatic Document of Record, assigning the task to a specific user or group, specifying the path of the submitted data, specifying the path of data to be pre-populated, and specifying default actions. The Assign Task step has the following properties:

  • Title: Title of the task. The title is displayed in the AEM Inbox.

  • Description: Explanation of the operations being performed in the task. This information is useful for other process developers when you are working in a shared development environment.

  • Thumbnail Path: Path of the task thumbnail. If no path is specified, for an Adaptive Form a default thumbnail is displayed and for Document of Record, a default icon is displayed.

  • Workflow Stage: A workflow can have multiple stages. These stages are displayed in the AEM Inbox. You can define these stages in the properties of the model (Sidekick > Page > Page Properties > Stages).

  • Priority: Selected priority is displayed in the AEM Inbox. The available options are High, Medium, and Low. The default value is Medium.

  • Due Date: Specify the number of days or hours after which the task is marked overdue. If you select Off, then the task is never marked overdue. You can also specify a time-out handler to perform specific tasks after the task is overdue.

  • Days: The number of days before which the task is to be completed. The number of days are counted after the task is assigned to a user. If a task is not complete and crosses the number of days specified in the Days field, then if it is selected, a timeout handler is triggered after the due date.

  • Hours: The number of hours before which the task is to be completed. The number of hours are counted after the task is assigned to a user. If a task is not complete and crosses the number of hours specifies in the Hours field, then if it is selected, a timeout handler is triggered after the due hours.

  • Time-out after Due Date: Select this option to enable the Timeout Handler selection field.

  • Timeout Handler: Select the script to be executed when the assign task step crosses the due date. Scripts placed in the CRX-repository at [apps]/fd/dashboard/scripts/timeoutHandler are available for selection. The specified path does not exist in crx-repository. An administrator creates the path before using it.

  • Highlight the action and comment from the last task in Task Details: Select this option to display the last action that was taken and comment received on the task details section of a task.

  • Type: Choose the type of document to be filled when the workflow is started. You can choose an Adaptive Form, read-only Adaptive Form, a non-interactive PDF document.

  • Use Adaptive Form: Specify the method to locate the input Adaptive Form. This option is available if you select Adaptive Form or Read-only Adaptive Form from the Type drop-down list. You can use the Adaptive Form submitted to the workflow, available at an absolute path, or available at a path in a variable. You can use a variable of type String to specify the path.
    You can associate multiple Adaptive Forms with a workflow. As a result, you can specify an Adaptive Form on the runtime using the available input methods.

  • Adaptive Form Path: Specify the path of the Adaptive Form. You can use the Adaptive Form that is submitted to the workflow, available at an absolute path, or retrieve the Adaptive Form from a path stored in a variable of string data type.

  • Select input PDF using: Specify the path of a non-interactive PDF document. The field is available when you choose a non-interactive PDF document in the Type field. You can select the input PDF using the path that is relative to the payload, saved at an absolute path, or using a variable of Document data type. For example, [Payload_Directory]/Workflow/PDF/credit-card.pdf. The path does not exist in crx-repository. An administrator creates the path before using it. You require a Document of Record option enabled or form template based Adaptive Forms for using the PDF Path option.

  • For completed task, render the Adaptive Form as: When a task is marked complete, you can render the Adaptive Form as a read-only Adaptive Form or a PDF document. You require a Document of Record option enabled or form template based Adaptive Forms for rendering the Adaptive Form as Document of Record.

  • Pre-populated: The following fields listed below serve as inputs to the task:

    • Select input data file using: Path of input data file (.json, .xml, .doc, or form data model (FDM)). You can retrieve the input data file using a path that is relative to the payload or retrieve the file stored in a variable of Document, XML, or JSON data type. For example, the file contains the data submitted for the form through an AEM Inbox application. An example path is [Payload_Directory]/workflow/data.

    • Select input attachments using: Attachments available at the location are attached to the form associated with the task. The path can be relative to the payload or retrieve the attachment stored in a variable of a document. An example path is [Payload_Directory]/attachments/. You can specify attachments placed relative to the payload or use a document type (Array list > Document) variable to specify an input attachment for the Adaptive Form.

    • Request Attribute Mapping: Use the Request Attribute Mapping section to define the name and value of the request attribute. Retrieve the details from the data source based on the attribute name and value specified in the request. You can define a request attribute value using a literal value or a variable of String data type.

  • Submitted information: The following fields listed below serve as output locations to the task:

    • Save output data file using: Save the data file (.json, .xml, .doc, or form data model (FDM)). The data file contains information submitted through the associated form. You can save the output data file using a path that is relative to the payload or store it in a variable of Document, XML, or JSON data type. For example, [Payload_Directory]/Workflow/data, where data is a file.
    • Save attachments using: Save the form attachments provide in a task. You can save the attachments using a path that is relative to the payload or store it in a variable of array list of Document data type.
    • Save Document of Record using: Path to save a Document of Record file. For example, [Payload_Directory]/DocumentofRecord/credit-card.pdf. You can save the Document of Record using a path that is relative to the payload or store it in a variable of Document data type. If you select the Relative to Payload option, The Document of Record is not generated if the path field is left empty. This option is available only if you select Adaptive Form from the Type drop-down list.
  • Assignee > Assign options: Specify the method to assign the task to a user. You can dynamically assign the task to a user or a group using the Participant Chooser script or assign the task to a specific AEM user or group.

  • Participant Chooser: The option is available when the Dynamically to a user or group option is selected in the Assign options field. You can use an ECMAScript or a service to dynamically select a user or a group. For more information, see Dynamically assign a workflow to the users and Creating a custom Adobe Experience Manager Dynamic Participant step.

  • Participants: The field is available when the com.adobe.granite.workflow.core.process.RandomParticipantChooser option is selected in the Participant Chooser field. The field lets you select users or groups for the RandomParticipantChooser option.

  • Assignee: The field is available when the com.adobe.fd.workspace.step.service.VariableParticipantChooser is selected in the Participant Chooser field. The field lets you select a variable of String data type to define the assignee.

  • Arguments: The field is available when a script other than the RandomParticipantChoose script is selected in the Participant Chooser field. The field lets you provide a list of a comma-separated argument for the script selected in the Participant Chooser field.

  • User or Group: The task is assigned to a selected user or group. The option is available when the To a specific user or group option is selected in the Assign options field. The field lists all the users and groups of the workflow-users group.
    The User or Group drop-down menu lists the users and groups that the logged-in user has access to. The username display depends on if you have access permissions on the users node in the crx-repository for that particular user.

  • Send Notification Email: Select this option to send email notifications to the assignee. These notifications are sent when a task is assigned to a user or a group. You can use the Recipient Email Address option to specify the mechanism to retrieve the email address.

  • Recipient Email Address: You can store an email address in a variable, use a literal to specify a permanent email address, or use the default email address of the assignee specified in the profile of the assignee. You can use the literal or a variable to specify the email address of a group. The variable option is helpful in dynamically retrieving and using an email address. The Use default email address of the assignee option is only for a single assignee. In this case, the email address stored in the assignees user profile is used.

  • HTML Email Template: Select the email template for the notification email. To edit a template, modify the file located at /libs/fd/dashboard/templates/email/htmlEmailTemplate.txt in crx-repository.

  • Allow Delegation To: AEM Inbox provides an option to the logged in user to delegate the assigned workflow to another user. You are allowed to delegate within the same group or to the workflow user of another group. If the task is assigned to a single user and the allow delegation to members of the assignee group option is selected, then it is not possible to delegate the task to another user or group.

  • Share Settings: AEM Inbox provides options to share a single or all the tasks in the inbox with another user:

    • When the Allow assignee to share explicitly in inbox option is selected, the user can select the task in AEM Inbox and share it with another AEM user.
    • When the Allow assignee to share via inbox sharing option is selected and users share their Inbox items or allows other users to access their Inbox items, only tasks with the previously mentioned option enabled are shared with other users.
    • When the Allow assignee to delegate using ‘Out of Office’ settings is selected. The assignee can enable the option to delegate the task to other users along with other Out of Office options. Any new tasks assigned to the out-of-office user are automatically delegated (assigned) to the users mentioned in out-of-office settings.

    It allows other users to pick assignees tasks while is out of the office and unable to work on assigned tasks.

  • Actions > Default Actions: Out of the box, Submit, Save, and Reset actions are available. All the default actions are enabled, by default.

  • Route Variable: Name of the route variable. The route variable captures custom actions that a user selects in the AEM Inbox.

  • Routes: A task can branch to different routes. When selected in AEM Inbox, the route returns a value and the workflow branches based on the selected route. You can either store routes in a variable of array of String data types or select Literal to add routes manually.

  • Route Title: Specify the title for the route. It is displayed in the AEM Inbox.

  • Coral Icon: Specify an HTML attribute of a coral icon. Adobe CorelUI library provides a vast set of touch-first icons. You can choose and use an icon for the route. It is displayed along with the title in the AEM Inbox. If you store the routes in a variable, the routes use a default ‘Tags’ coral icon.

  • Allow assignee to add comment: Select this option to enable comments for the task. An assignee can add the comments from within the AEM Inbox at the time of task submission.

  • Save comment in variable: Save the comment in a variable of String data type. This option displays only if you select the Allow assignee to add comment checkbox.

  • Allow assignee to add attachments to the task: Select this option to enable attachments for the task. An assignee can add the attachments from within the AEM Inbox at the time of task submission. You can also limit the maximum size (Maximum File Size) of an attachment. The default size is 2 MB.

  • Save output task attachments using: Specify the location of the attachment folder. You can save output task attachments using a path relative to the payload or in a variable of an array of document data types. This option displays only if you select the Allow assignee to add attachments to the task checkbox and select Adaptive Form, Read-only Adaptive Form, or Non-interactive PDF document from the Type drop-down list in the Form/Document tab.

  • Use custom metadata: Select this option to enable the custom metadata field. Custom metadata is used in email templates.

  • Custom Metadata: Select a custom metadata for the email templates. The custom metadata is available in crx-repository at apps/fd/dashboard/scripts/metadataScripts. The specified path does not exist in crx-repository. An administrator creates the path before using it. You can also use a service for the custom metadata. You can also extend the WorkitemUserMetadataService interface to provide custom metadata.

  • Show Data from Previous Steps: Select this option to enable assignees to view previous assignees, action already taken on the task, comments added to the task, and Document of Record of the completed task, if available.

  • Show Data from Subsequent Steps: Select this option to enable the current assignee to view the action taken and comments added to task by subsequent assignees. It also allows the current assignee to view a Document of Record of the completed task, if available.

  • Visibility of data type: By default, an assignee can view a Document of Record, assignees, action taken, and comments that previous and subsequent assignees have added. Use the visibility of data type option to limit the type of data visible to the assignees.

NOTE
The options to save the Assign Task step as draft and to retrieve the history of the Assign Task step are disabled when you configure an AEM workflow model for external data storage. Also, in Inbox, the option to save is disabled.

Convert to PDF/A step

PDF/A is an archival format for long-term preservation of the document’s content, by embedding the fonts and uncompressing the file. As a result, a PDF/A document is typically larger than a standard PDF document. You can use the Convert to PDF/A step in an AEM Workflow to convert your PDF documents to PDF/A format.

The convert to PDF/A step has the following properties:

Input Document: The input document can be relative to the payload, have an absolute path, can be provided as a payload or stored in a variable of Document data type.

Conversion Options: Using this property, the settings for converting PDF documents to PDF/A documents are specified. Various options available under this tab are:

  • Compliance: Specifies the standard to which the output PDF/A document must comply. It supports different PDF standards such as PDF/A-1b, PDF/A-2b, or PDF/A-3b.
  • Result Level: Specifies the result level as PassFail, Summary, or Detailed, for the conversion output.
  • Color Space: Specifies the predefined color space as S_RGB, COATED_FOGRA27, JAPAN_COLOR_COATED or SWOP, that can be used for output PDF/A files.
  • Optional Content: Allow specific graphic objects and/or annotations to be visible in output PDF/A document, only when a specified set of criteria is met.

Output Documents: Specifies the location to save the output file. The output file can be saved at a location relative to the payload, overwrites the payload, if the payload is a file, or in a variable of Document data type.

Send Email Step

Use the email step to send an email, for example, an email with a Document of Record, link of an Adaptive Form , or with an attached PDF document. Send Email step supports HTML email. HTML emails are responsive and adapt to the recipients’ email client and screen size. You can use an HTML email template to define the appearance, color-scheme, and behavior of the email.

The email step uses Day CQ Mail Service to send emails. Before using the email step, ensure that the email service is configured. Email support only HTTP and HTTPs protocols, by default. Contact the support team to enable ports to send emails and enable SMTP protocol for your environment. The restriction helps improve the security of the platform.

The email step has the following properties:

Title: Title of the step helps identify the step in the workflow editor.

Description: Explanation is useful for other process developers when you are working in a shared development environment.

Email Subject: Subject can be retrieved from a workflow metadata, specified manually, or retrieved from the value stored in a variable. Select from the following options:

  • Literal Manually specify a subject.
  • Retrieve from Workflow metadata - Retrieve the subject from a metadata property.
  • Variable - Retrieve the subject from the value stored in a variable of string data type.

HTML Email Template: HTML template for the email. You can specify variables in an email template. The Email Step extracts and displays all the variables included in a template for inputs.

Email Template Metadata: Value of the email template variables can be a user-specified value, the path of an asset on the author or the publish server, image, or a workflow metadata property.

  • Literal: Use the option when you know the exact value to specify. For example, example@example.com.

  • Workflow Metadata: Use the option when the value to use is saved in a workflow metadata property. After selecting the option, enter the metadata property name in the empty text box below the Workflow Metadata option. For example, emailAddress.

  • Image: Use the option to embed an image to the email. After selecting the option, browse and choose the image. The image option is available only for the image tags (<img src=“*”/>) available in the email template.

Sender’s / Recipient’s Email Address: Select the Literal option to manually specify an email address or select the Retrieve from Workflow metadata option to retrieve the email address from a metadata property. You can also specify a list of metadata property arrays for the Retrieve from Workflow metadata option. Select the Variable option to retrieve the e-mail address from the value stored in a variable of string data type.

  • File Attachment: The asset available at the specified location is attached to the email. The path of the asset can be relative to the payload or absolute path. An example path is [Payload_Directory]/attachments/.

Select the Variable option to retrieve the file attachment stored in a variable of Document, XML, or JSON data type.

File Name: Name of the email attachment file. The Email Step changes the original file name of the attachment to the specified file name. The name can be specified manually or retrieved from a workflow metadata property or a variable. Use the Literal option when you know the exact value to specify. Use the Variable option to retrieve the file name from the value stored in a variable of string data type. Use the Retrieve from a Workflow Metadata option when the value to use is saved in a workflow metadata property.

Generate Document of Record step

When a form is filled or submitted, you can keep a record of the form, in print or in document format. This record is referred as a Document of Record (DoR). You can use the Generate Document of Record step to create a read-only or interactive PDF version of an Adaptive Form. The PDF version contains information filled-in to the form along with the layout of the Adaptive Form.

The Document of Record step has the following properties:

Use Adaptive Form: Specify the method to locate the input Adaptive Form. You can use the Adaptive Form submitted to the workflow, available at an absolute path, or available at a path in a variable. You can use a variable of String data type to specify the path in the Select variable to resolve field.
You can associate multiple Adaptive Forms with a workflow. As a result, you can specify an Adaptive Form on the runtime using the available input methods.

Adaptive Form Path: Specify the path of the Adaptive Form. The field is available when you select the Available at an absolute path option from the Use Adaptive Form field.

Select Input data using: Path of the input data for the Adaptive Form. You can keep the data at a location relative to the payload, specify an absolute path of the data, or retrieve data stored in a variable of Document, JSON, or XML data type. The input data is merged with the Adaptive Form to create a Document of Record.

Select Input attachment path using: Path of the attachments. These attachments are included in the Document of Record. You can keep the attachments at a location relative to the payload, specify an absolute path of the attachments, or retrieve attachments stored in a variable of array of Document data type.

If you specify the path of a folder, for example, attachments, all the files directly available in the folder are attached to Document of Record. If any files are available in the folders directly available in the specified attachment path, the files are included in Document of Record as attachments. If there are any folders in directly available folders, those folders are skipped.

Save Generated Document of Record using below options: Specify the location to keep a Document of Record file. You can choose to overwrite the payload folder, place the Document of Record at a location within the payload directory, or store the Document of Record in a variable of Document data type.

Locale: Specify the language of the Document of Record. Select Literal to select the locale from a drop-down list or select Variable to retrieve the locale from the value stored in a variable of string data type. Define the locale code while storing the value for the locale in a variable. For example, specify en_US for English and fr_FR for French.

Invoke DDX step

Document Description XML (DDX) is a declarative markup language whose elements represent building blocks of documents. These building blocks include PDF and XDP documents, and other elements such as comments, bookmarks, and styled text. DDX defines a set of operations, which can be applied on one or more input documents to generate one or more output documents. A single DDX can be used with a range of source documents. You can use the Invoke DDX step in an AEM Workflow to perform various operations, like Assembling Disassembling documents, Creating, and modifying Acrobat and XFA Forms, and others described in the DDX Reference documentation.

Invoke DDX step has the following properties:

Input Documents: Used to set properties of an input document. Various options available under this tab are:

  • Specify DDX Using: Specifies the input document relative to the payload, have an absolute path, can be provided as payload, or stored in a variable of Document data type.
  • Create Map from Payload: Add all the documents under the payload folder to Input Document’s Map for the invoke API in Assembler. The node name for each document is used as a key in the map.
  • Input Document’s Map: Option is used to add multiple entries using the ADD button. Each entry represents the document’s key in the map and the document’s source.

Environment Options: This option is used to set processing settings for invoke API. Various options available under this tab are:

  • Validate Only: Checks the validity of the input DDX document.
  • Fail on Error: Boolean value to indicate whether the invoke API service fails, if there is an error or not. By default, its value is set to False.
  • First Bates Number: Specifies the number, which is self-incrementing. This self-incrementing number is displayed on each consecutive page automatically.
  • Default Style: Sets the default style for the output file.
NOTE
Environment options are kept in sync with HTTP APIs.

Output Documents: Specifies the location to save the output file. Various options available under this tab are:

  • Save Output in Payload: Saves output documents under the payload folder, or overwrites the payload, in case, the payload is a file.
  • Output Document’s Map: Specifies the location to save each document file explicitly, by adding one entry per document. Each entry represents the document and the location, where to save it. If there are multiple output documents, this option is used.

Invoke Form Data Model (FDM) Service step

You can use AEM Forms Data Integration to configure and connect to disparate data sources. These data sources can be a web service, REST service, OData service, and CRM solution. AEM Forms Data Integration lets you create a Form Data Model (FDM) encompassing various services to perform data retrieval, addition, updating operations on the configured database. You can use the Invoke Data Model Service step to select a Form Data Model (FDM) and use the services of the FDM to retrieve, update, or add data to disparate data sources.

To explain inputs for fields of the step, the following database table and JSON file are used as an example :

Sample CustomerDetails table

PropertyValue
FirstNameSarah
LastNameRose
Customer ID1
Email Addresssrose@we.info

Sample JSON file

  {
    customer: {
     firstName: "Sarah",
     lastName:"Rose",
     customerId: "1",
     emailAddress:"srose@we.info"
   },
    insurance: {
     customerId: "1",
    policyType: "Premium,
    policyNumber: "Premium-521499",
    customerDetails: {
     firstName: "Sarah",
     lastName: "Rose",
     customerId: "1",
     emailAddress: "srose@we.info"
    }
   }
  }

The Invoke Form Data Model (FDM) Service step has the below listed fields to facilitate Form Data Model (FDM) operations:

  • Title: Title of the step. It helps identify the steps in the workflow editor.

  • Description: Explanation useful for other process developers when you are working in a shared development environment.

  • Form Data Model Path: Browse and select a Form Data Model (FDM) present on the server.

  • Errors and Validations: The option lets you capture error messages and specify validation options for data retrieved and sent to data sources. With these changes, you can ensure data passed to the Invoke Form Data Model (FDM) Service step adheres to the data constraints defined by the data source. For more details, see Automated validation of input data

  • Validation level: There are three categories of validations: Basic, Full, and OFF:

    • Full: All the constraints are validated.
    • Basic: Only required and nullable constraints
    • OFF: No validation takes place.
  • Terminate Workflow on Failure: When a constraint fails to validate, the workflow is stopped.

  • Store Error Code in Variable: You can store an error code in a String type variable.

  • Store Error Message in Variable: You can store an error message in a String type variable.

  • Store Error Details in Variable: You can store an error detail in a JSON type variable.

  • Service: List of the services that the selected Form Data Model (FDM) provides.

  • Input for services > Provide input data using literal, variable, or workflow metadata, and a JSON file: A service can have multiple arguments. Select the option to obtain the value of the service arguments from a workflow metadata property, a JSON object, a variable, or directly enter the value in the provided text box:

    • Literal: Use the option when you know the exact value to specify. For example, srose@we.info.

    • Variable: Use the option to retrieve the value stored in a variable.

    • Retrieve from Workflow Metadata: Use the option when the value to use is saved in a workflow metadata property. For example, emailAddress.

    • Relative to Payload: Use the option to retrieve the file attachment saved at a path relative to the payload. Select the option and specify either the folder name which includes the file attachment or specify the file attachment name in the text box.

      For example, if the Relative to Payload folder in the CRX repository includes a file attachment at the attachment\attachment-folder location, specify attachment\attachment-folder in the text box after selecting the Relative to Payload option.

    • JSON Dot Notation: Use the option when the value to use is in a JSON file. For example, insurance.customerDetails.emailAddress. The JSON Dot Notation option is available only if Map input fields from the input JSON option are selected.

    • Map input fields from input JSON: Specify the path of a JSON file to obtain the input value of some service arguments from the JSON file. The path of the JSON file can be relative to the payload, an absolute path, or you can select an input JSON document using a variable of JSON or Form Data Model (FDM) type.

  • Input for services > Provide input data using variable or a JSON file: Select the option to obtain values for all the arguments from a JSON file saved at an absolute path, at a path relative to the payload, or in a variable.

  • Select Input JSON document using: The JSON file containing values for all the service arguments. The path of the JSON file can be relative to the payload or an absolute path. You can also retrieve the input JSON document using a variable of JSON or Form Data Model (FDM) data type.

  • JSON Dot Notation: Leave the field blank to use all the objects of the specified JSON file as input for service arguments. To read a specific JSON object from the specified JSON file as input for service arguments, specify dot notation for the JSON object, for example, If you have a JSON similar to the one listed at the start of the section, specify insurance.customerDetails to provide all the details of a customer as input to the service.

  • Output of service > Map and write output values to variable or metadata: Select the option to save the output values as properties of the workflow instance metadata node in crx-repository. Specify the name of the metadata property and select the corresponding service output attribute to be mapped with the metadata property, for example, map the phone_number returned by output service with the phone_number property of workflow metadata. Similarly, you can store the output in a variable of Long data type. When you select a property for the Service output attribute to be mapped option, only variables capable of storing data of the selected property are populated for the Save the output to  option.

  • Output of service > Save output to variable or a JSON file: Select the option to save the output values in a JSON file at an absolute path, at a path relative to the payload, or in a variable .

  • Save Output JSON document using below options: Save the output JSON file. The path of the output JSON file can be relative to the payload or an absolute path. You can also save the output JSON file using a variable of JSON or Form Data Model (FDM) data type.