# Workflow

## Introduction

The Agile e6 Workflow module enables you to design workflow processes as a sequence of consecutive activities and assignments of individual resources (users, groups, roles, or distribution lists). Workflow processes can help facilitate teamwork and cooperation for work groups involved in organizational processes. Moreover, workflow processes can improve task-oriented communications and accelerate execution of business processes.

The Workflow module sends information and Work items to individual users for execution. New Work items can be triggered through completion of a predecessor Work item. The processing order of Work items can be either sequential (serial) or in parallel. As soon as a Work item is marked as complete by the user responsible for this Work item, the follow-up Work item is forwarded to the Inbox of the responsible user.

The diagram below is a schematic representation of the steps from the definition of a Work Request to the completion of the Work Order. In this example, a Work Request (that specifies why some work is necessary/desirable) is released and thus promoted to a Work Order. Work Orders comprise possible solutions and reference to a specific workflow process. You can assign a workflow process to a Work Request. All affected objects related to a Work Order (items, processes, documents) are collected together in the Affected Objects tab, thus ensuring that all objects are processed together. In the messages sent out to individual users, predefined workflow activities are represented by Work items with descriptions of the work to be completed.

If the Workflow module is run in conjunction with the Enhanced Change Management module, affected objects related to a Work Order are (normally) replaced by detailed change operations in the Change Operations tab.

###

### Workflow Design

The Workflow Editor enables you to define workflow processes. Your processes are represented by nodes and connecting lines that can be added and edited using toolbars and buttons.

| The way process components are displayed can be defined in a style sheet. This style sheet can be customized to customer-specific requirements (corporate design, etc.). Therefore, the graphics used in the documentation can differ from your display!

###

### Workflow Services

The Workflow Services comprises the following components:

- Executor
- Notifier
- Messenger
- Watchdog

These components control:

- Automation of business processes in a workflow
- Process design in the Workflow Editor
- Execution of workflow applications in all Agile e6 clients
- Monitoring of Work items and due dates
- User notification management for new, due, or overdue Work items via e-mail and Inbox
- Notifications are forwarded to the Inbox of individual users. Work items can be sent to specific users or to all members of a group. Work items sent to a specific user can only be accessed and read by the recipient. User-specific configuration enables you to select if new Work Items are only placed in the Inbox or if the user is also notified by e-mail. The update cycles for external notifications can be set as hourly, daily, every two weeks, or once a month.

- Assignment of Work Items:

  - User defined
    A menu command in the Agile e6 system enables you to send e-mails with workflow-independent Work Item information to other users.
  - Automatic after process launch
    Conditional workflow process Work items are automatically initiated and forwarded by the workflow services. The aim is time-critical control and communication of processes (lifecycle of Work Requests / Work Orders or processing of activities) as part of the workflow processes. Work items must be completed by the recipient.

The following diagram illustrates the interaction of different workflow service components in the Agile e6 workflow module:

Executor

The Executor is the core component of the Agile e6 Workflow Services and has the following tasks:

- initialize, control and terminate processes
- regularly checks for completed activities
- delete Work items for completed activities
- identify follow-up activities for completed activities
- generate the Work items to be executed by assigned resources when activities are initialized and adds those Work items to the Work list (the list of all Work items) of the Inbox.
- triggers Subprocesses

Notifier

The notifier identifies new or changed Work items in the Work item list, checks whether a notification is desired or necessary and asks the Messenger to inform the corresponding user.

| The user must be defined and a user ID must have been assigned to the user. Users must have a valid e-mail address for e-mail notifications. Notification is not possible unless an e-mail address has been specified!
| After creating a new user, one of the Agile e6 business services must be reloaded in the user or role mask, before work in the workflow management can be continued. How to make newly created users available in the workflow management

Messenger

The messenger component is sending information to the user. In the moment only e-mail is supported. The messenger creates e-mails end sends them to the recipients. E-mail notifications contain predefined text and a reference to the appropriate Work item description. All e-mail notifications contain hyperlink references to the Inbox of the recipient.

| For the e-mail notification the Messenger uses html- or text-layout files. These files are stored in the following folder: Agile e6 root/axalant/lay/notifier Message: Used for notifications (newly created work items), forwarded and (after forward) rejected work items. InitReject: Used for inital rejected work items (reject to the system). Reminder1: Used for notifications to the user because of a due activity. Reminder2: Used for notifications to the user because of an overdue activity. ProcessResp: Used to inform the process responsible user because of an overdue activity. AlertUser: Used to inform the alert user instead of the process responsible user because of an overdue activity. InitialError: Used to inform the process responsible user because of an error during startup of a background activity or process. ProcessingActivityError: Used to inform the process responsible user because of an error during execution of a bachground activity. ProcessingProcessError: Used to inform the process responsible user because of an error during execution of a bachground process. GeneralError: Used to inform the Admin user if any error during messenging happend (e.g. missing email address etc.). The hyperlinks these files contain must be assigned!

| Since an ordinary user won't be able to handle general errors due to limited access rights, it is required to insert values for ADMIN_UIC in the messenger section of the abs.ini file! This admin user schould be able to enter, change or delete person data. Also this person should be allowed to suspend and resume processes and to change resource entries in the activity list of the process.
| For further information please refer to "privileges" in the Role Concept module.

Watchdog

The Watchdog component monitors due and overdue activities and handles background activities. The corresponding Work items for due activities are identified and the messenger component is triggered in order to notify the assigned resources by e-mail. If the Work item has not yet been accepted by a resource, the messenger component will notify all recipients of the Work item, otherwise only the resource which accepted will be notified. Once a Work item becomes due or overdue, an e-mail notification is sent to the user. In case of overdue additionally the so-called Alert User is notified or to the process owner of the workflow process if no Alert User has been defined for the corresponding activity.

The alert user helps to name an alternative resource if the user responsible for a process (the user who started the process) is not to be informed in case of Reminder2.

Since the release of Agile e6.0 the message templates don't exist of one single file any longer. This is to enable the collection and sending of news of the same tpye. Therefore, message templates now contain a header, a text part (which can appear several times) and a footer.

### Processes for Various User Types

Most important default values and definitions differentiate between the following user types:

- Workflow Designer
- Workflow Initiator
- Workflow Participant
- Workflow Administrator

The illustrations in the sections below are schematic representations of these user types.

Tasks of the Workflow Designer

The following questions should be answered prior to the software-based definition of a workflow process.

- Which are the objects involved?
  Which application elements/substructures (e.g. items, documents) are part of the workflow process?
- What are the activities that need to be completed?
  You need to capture all required activities to be executed as part of a workflow process and define all nodes and subordinate processes.
- Who needs to be informed?
  Who (users, groups, roles) needs to be informed automatically prior to, in the course of, or after a process element or document is processed?
- Who needs to approve?
  Who can approve or needs to approve a request and what are the effects of their approval?
- What information is required?
  Instructions for the user responsible for a Work Item must be prepared.

Once the preparation of a workflow process is completed it can be defined in Agile e6.

- create or edit process templates
- design or modify workflow processes

- create or edit activity templates
- edit the properties of an activity

Tasks of the Workflow Initiator

- automatic process generation and execution of Work Requests / Work Orders
- modify process definitions and resources

- manually create and initiate ad-hoc processes
- design or modify workflow processes
- create and start processes

Tasks of the Workflow Participant

- find and filter Work Items in the Work List
- execute Work Items

Tasks of the Workflow Administrators

- suspend, resume, and cancel workflow processes
- change resources
- reinitiate activities