Forms-centric workflow on OSGi forms-centric-workflow-on-osgi
Enterprises collect data from hundreds and thousands of forms, various back-end systems, and online or offline data sources. They also have a dynamic set of users to take decisions on the data, which involves iterative review and approval processes.
Along with review and approval workflows for internal and external audiences, large organizations and businesses have repetitive tasks. For example, converting a PDF document to another format. When done manually, these tasks take up much time and resources. Enterprises also have legal requirements to digitally sign a document and archive form data for later use in pre-defined formats.
Introduction to Forms-centric workflow on OSGi introduction-to-forms-centric-workflow-on-osgi
You can use AEM Workflows to rapidly build adaptive forms-based workflows. These workflows can be used for review and approvals, business process flows, to start document services, integrate with Acrobat Sign signature workflow, and similar operations. For example, credit card application processing, employee leave approval workflows, saving a form as a PDF document. Moreover, these workflows can be used within an organization or across network firewall.
With Forms-centric workflow on OSGi, you can rapidly build and deploy workflows for various tasks on the OSGi stack, without having to install the full-fledged Process Management capability on JEE stack. The development and management of workflows uses the familiar AEM Workflow and AEM Inbox capabilities. Workflows form the basis of automating real-world business processes that span multiple software systems, networks, departments, and even organizations.
Once set up, these workflows can be triggered manually to complete a defined process or run programmatically when users submit a form or correspondence management letter. With this enhanced AEM Workflow capabilities, AEM Forms offers two distinct, yet similar, capabilities. As part of your deployment strategy, you need to decide which one works for you. See a comparison of the Forms-centric AEM Workflows on OSGi and Process Management on JEE. Moreover, for the deployment topology see, Architecture and deployment topologies for AEM Forms.
Forms-centric workflow on OSGi extends AEM Inbox and provides extra components (steps) for AEM Workflow editor to add support for AEM Forms-centric workflows. The extended AEM Inbox has functionalities similar to AEM Forms Workspace. Along with managing human-centric workflows (Approval, Review, and so on), you can use AEM workflows to automate document services-related operations (for example, Generate PDF) and electronically signing (Acrobat Sign) documents.
The following diagram depicts end-to-end procedure to create, run, and monitor a Forms-centric workflow on OSGi.
Before you start before-you-start
- A workflow is a representation of a real-world business process. Keep your real-world business process and list of the participants of the business process ready. Also, keep the collateral (adaptive forms, PDF Documents, and more) ready before start creating a workflow.
- A workflow can have multiple stages. These stages are displayed in the AEM Inbox and help report progress of the workflow. Divide your business process into logical stages.
- You can configure the assign task step of AEM Workflows to send email notifications to the users or assignees. So, enable email notifications.
- A workflow can also use Acrobat Sign for digital signatures. If you plan to use Acrobat Sign in a workflow, the configure Acrobat Sign for AEM Forms before using it in a workflow.
Create a workflow model create-a-workflow-model
A workflow model consists of logic and flow of a business process. It is made up of a series of the steps. These steps are AEM components. You can extend workflow steps with parameters and scripts to provide more functionality and control, as required. AEM Forms provides a few steps in addition to AEM steps available out of the box. For a detailed list of AEM and AEM Forms steps, see AEM Workflow Step Reference and Forms-centric workflow on OSGi - Step Reference.
AEM provides an intuitive user interface to create a workflow model using the provided workflow steps. For step-by-step instructions to create a workflow model, see Creating Workflow Models. The following example provides step-by-step instructions to create a workflow model for an approval and review workflow:
Create a model for an approval and review workflow create-a-model-for-an-approval-and-review-workflow
Approval and review workflow are for the tasks which require human intervention to make decisions. The following example creates a workflow model for a mortgage loan application to be filled by a front-office banking agent. Once the application is filled, it is sent for approval. Later on, the approved application is sent to the applicant for electronic signatures using Acrobat Sign.
The example is available as a package attached below. Import and install the example using the package manager. You can also perform the following steps to manually create the workflow model for the application:
The example creates a workflow model a mortgage application to be filled by a front-office banking agent. Once filled the application is sent for approval. Later on, the approved application is sent to the customer for electronic signatures using Acrobat Sign. You can import and install the example using the package manager.
-
Open the Workflow Models console. The default URL is
https://[Server]:[port]/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models
-
Select Create, then Create Model. The Add Workflow Model dialog appears.
-
Enter the Title and Name (optional). For example, a mortgage application. Tap Done.
-
Select the newly created workflow model and tap Edit. Now, you can add workflow steps to build business logic. When you first create a workflow model, it contains:
- The steps: Flow Start and Flow End. These steps represent the beginning and end of the workflow. These steps are required and cannot be edited or removed.
- An example Participant step named Step 1. This step is configured to assign a work item to the admin user. Remove this step.
-
Enable email notifications. You can configure Forms-centric workflow on OSGi to send email notifications to the users or assignees. Perform the following configurations to enable email notifications:
- Go to AEM configuration manager at
https://[server]:[port]/system/console/configMgr
. - Open the Day CQ Mail Service configuration. Specify a value for the SMTP server host name, SMTP server port, and “From” address fields. Click Save.
- Open the Day CQ Link Externalizer configuration. In the Domains field, specify the actual hostname/IP address and port number for local, author, and publish instances. Click Save.
- Go to AEM configuration manager at
-
Create workflow stages. A workflow can have multiple stages. These stages are displayed in the AEM Inbox and report progress of the workflow.
To define a stage, tap the icon to open workflow model properties, open the Stages tab, add stages for the workflow model, and tap Save & Close. For the example mortgage application, create stages: loan request, loan request status, to be signed documents, and signed loan document.
-
Drag-and-drop the Assign Task steps browser to the workflow model. Make it the first step of the model.
The assign task component assigns the task, created by workflow, to a user or group. Along with assigning the task, you can use the component to specify an adaptive form or a 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 step to control the behavior of the task. For example, creating an automatic document of record, assign the task to a specific user or group, the path of the submitted data, the path of data to be pre-populated, and default actions. For detailed information about the options of the assign task step, see Forms-centric workflow on OSGi - Step Reference document.
For the mortgage application example, configure the assign task step to use a Read-only adaptive form and display PDF Document once the task is complete. Also, select to user group allowed to approve the loan request. On the Actions tab, disable the Submit option. Specify a Route Variable. For example, actionTaken. Also, add the Approve and Reject routes. The routes are displayed as separate actions (buttons) in AEM Inbox. The workflow selects a branch based on the action (button) a user taps.
You can import the example package, available for download in the starting of the section, for the complete set of values of all the fields of the assign task step configured for example mortgage application.
-
Drag-and-drop the OR Split component from step browser to the workflow model. The OR Split creates a split in the workflow, after which only one branch is active. This step enables you to introduce conditional processing paths into your workflow. You add workflow steps to each branch as required.
Open properties of the OR Split and add the following code snippets to Branch1 and Branch2. These code snippets help choose a branch based on the user action in AEM Inbox.
Code snippet for Branch 1
When a user taps Approve in AEM Inbox, Branch 1 is activated.
code language-none function check(){ var action = workflowData.getMetaDataMap().get("actionTaken",""); log.info("action " + action); return action=="Approve"; }
Code snippet for Branch 2
When a user taps Reject in AEM Inbox, Branch 2 is activated.
code language-none function check(){ var action = workflowData.getMetaDataMap().get("actionTaken",""); log.info("action " + action); return action=="Reject"; }
-
Add other workflow steps to build the business logic.
For the mortgage example, add a generate document of record, two assign task steps, and a sign document step to Branch 1 of the model, as displayed in the image below. One assign task step is to display and send to be signed loan documents to the applicant and another assign task component is to display signed documents. Also, add an assign task component to branch 2. It is activated, when a user taps Reject in AEM Inbox.
For the complete set of values of all the fields of the assign task steps, document of record step, and sign document step configured for example mortgage application, import the example package, available for download in the starting of this section.
The workflow model is ready. You can launch the workflow through various methods. For details, see Launch a Forms-centric workflow on OSGi.
Create a Forms-centric Workflow Application create-a-forms-centric-workflow-application
The application is the adaptive form associated with the workflow. When an application is submitted through Inbox, it launches the associated workflow. To make a Forms workflow available as an application in AEM Inbox and AEM Forms App, do the following to create a workflow application:
- On your AEM author instance, go to > Forms > Manage Workflow Application and taps Create.
- In the Create Workflow Application window, provide inputs for the following fields, and tap Create. A new application is created and is listed in the Workflow Applications screen.
Launch a Forms-centric workflow on OSGi launch
You can launch or trigger a Forms-centric workflow by:
Submitting an application from AEM Inbox inbox
The workflow application you created is available as an application in Inbox. Users who are members of workflow-users group can fill and submit the application that triggers the associated workflow. For information about using AEM Inbox to submit applications and manage tasks, see Manage Forms applications and tasks in AEM Inbox.
Submitting an application from AEM Forms App afa
The AEM Forms app syncs with an AEM Forms server and allows you to make changes to the form data, tasks, workflow applications, and saved information (drafts/templates) in your account. For more information, see AEM Forms app and related articles.
Submitting an adaptive form af
You can configure the submit actions of an adaptive form to start a workflow on submission of the adaptive form. Adaptive forms provides the Invoke an AEM Workflow submit action to start a workflow on submission of an adaptive form. For detailed information about the submit action, see Configuring the Submit action. To submit an Adaptive form through the AEM Forms app, enable Sync With AEM Forms App in the adaptive form properties.
You can configure an adaptive form to sync, submit, and trigger a workflow from AEM Forms app. For details, see working with a form.
Using a watched folder watched
An administrator (a member of fd-administrators group) can configure a network folder to run a pre-configured workflow when a user places a file (such as a PDF file) in the folder. After the workflow completes, it can save the result file to a specified output folder. Such a folder is known as Watched Folder. Perform the following procedure to configure a watched folder to launch a workflow:
- On your AEM author instance, go to Forms > Configure Watched Folder. A list of already configured watched folders is displayed.
- Tap New. A list of fields is displayed. Specify a value for the following fields to configure a Watched Folder for a workflow:
-
Tap Advanced. Specify a value for the following field and tap Create. The Watched Folder is configured to launch a workflow. Now, whenever a file is placed in the input directory of the Watched Folder, the specified workflow is triggered.
table 0-row-2 1-row-2 Field Description Payload Mapper Filter When you create a watched folder, it creates a folder structure in the crx-repository. The folder structure can serve as a payload to the workflow. You can write a script to map an AEM Workflow to accept inputs from the watched folder structure. An out of the box implementation is available and listed in the Payload Mapper Filter. If you do not have a custom implementation, select the default implementation. The Advanced tab contains more fields. Most of these fields contain a default value. To learn about all the fields, see the Create or Configure a watched folder article.
Submitting an interactive communication or a letter letter
You can associate and execute a Forms-centric workflow on OSGi on submission of an interactive communication or a letter. In correspondence management workflows are used for post processing interactive communications and letters. For example, emailing, printing, faxing, or archiving final letters. For detailed steps, see Post processing of interactive communications and letters.
Additional Configurations additional-configurations
Configure email service configure-email-service
You can use the Assign Task and Send Email steps of AEM Workflows to send an email. Perform the following steps to specify email servers and other configurations required to send email:
- Go to AEM configuration manager at
https://[server]:[port]/system/console/configMgr
. - Open the Day CQ Mail Service configuration. Specify a value for the SMTP server host name, SMTP server port, and “From” address fields. Click Save.
- Open the Day CQ Link Externalizer configuration. In the Domains field, specify the actual hostname/IP address and port number for local, author, and publish instances. Click Save.
Purge workflow instances purge-workflow-instances
Minimizing the number of workflow instances increases the performance of the workflow engine, so you can regularly purge completed or running workflow instances from the repository. For detailed information see, Regular Purging of Workflow Instances.