# Workflow

## Notifier Configuration

| ## Layout
| The layout of the e-mails is used to inform the user about Work Items that can be configured individually. Use the html-file templates in the <environment name>\lay\notifier folder.
| Please consider the variables tagged with <AXA> ... </AXA> :
| PersonPrefix (first name, defined in person data record) PersonName (last name, defined in person data record) Text (mailtext, defined in Work Item or activity)) Entity=WorkItem, Field=OID (T_MAIL.DAT.C_ID) Entity=ActivityId, Field=OID (T_ACT_DAT.C_ID) UserName (receiver name (DEMOEP,....)). FROM (sender e-mail-address)
| Additional possible variables are: always: all attributes of the Entities: Process, Activity, WorkItem if the process was initated via Work Request or Work Order: all attributes of the Entity Work Order or Work Request if the process works with additional project or organization filter: the project name or company name
| To add an additional attribute use the following construction: <AXA>Entity=<entity name>, Field=<field name> </AXA>
| If the value does not exist, the construction will be replaced by "--"!
| Example: To add the value of T_ACT_DAT.ACT_STATE to the mail template... search the field name ACT_STATE in ABS_<env-name>.ini: [Repository\ObjTypes\Activity\Attributes\Phase] name=Phase mapping=ACT_STATE mappingType=STRING The construction should lool like: <AXA>Entity=Activity, Field=Phase</AXA>
| In case your field does not exist inside ABS_<env name>.ini, add it by yourself. Example: Field T_PRC_DAT.PRC_TYPE, currently not inside ABS_<env name>.ini...
| Create a new repository entry (the mapping name, here Type, should be unique for this entity): [Repository\ObjTypes\Process\Attributes\Type] name=Type mapping=PRC_TYPE mappingType=STRING
| ### Redeploy your application
| During the creation of mails, the new attribute will be also collected. To use this new attribute, see the example of construction above: <AXA>Entity=<entity name>, Field=<field name></AXA>
| To change this for all environments, use tpl_ABS_env.ini and redeploy all applications!
| #### File ABS<environment name>.ini
| Configure timing and mailing settings of the notifier in the <ep_root>\build\tpl_app\tpl_ABS_env.ini file. The following parameters with values in <...> are set automatically during the installation: The other parameters can be changed manually.
| A short functional explanation is written after the :
| ... [EciServer] Port=<PLMEciPort> : eci server port of PLM application ... [Watchdog] ... Time0=12:30 : first time, the watchdog checks for due and overdue activities, activated by removing PeriodBase and Period Time1=15:00 : second time.... Time2=4:00 : third time... PeriodBase=12:00 : base time for calculative reasons Period=0:08 : time period of regular intervals BatchPeriod=0:02 : time period of regular intervals for background activities MaxBatchStartupTime=0:30 : the time, when the responsible user for the process gets an e-mail that this status remains MaxBatchCallNumber=5 : the maximum number of simultaneously running processes (background processes) JaDeHost=<JaDeHost>: java daemon host name JaDePort=<JaDePort>: java daemon port [WorkflowExecutor] [Notifier] delay=1000 : defines the time period the notifier is inactive between two active phases calculated from the start of the Business Service [Messenger] HOST=<MAIL_RELAY>: mail server that is used to sends mails from the messenger FROM=workflow@agile.com: sender e-mail-adress the notifier uses to send e.g. information about new Work Items. Admin_UIC=<Admin_UIC>: UIC of the user who is designated for the ADMIN with privileges for the workflow module and manager rights to create persons or change user data. axalantSender=axalant@agile.com: e-mail-adress the notifier uses in case of using the External E-Mail Integration axalantWebHost=<HTTP_HOST>:<HTTP_PORT> : Oracle http server host name and port used for web client axalantWebApplication=<WebApplication> : context root of the web client axalantJaccHost=<JCL_HOST>:<JCL_PORT> : Oracle http server host name and port used for java client web start JaccContextRoot=<JCL_CNXT_ROOT>: context root of the java client web start JaccApplication=<JaccApplication> : used application name XMLSwitch=false : switch to choose mail generation by templates (default = false) or xml generator (true)
| ## Timing
| The section [Notifier] contains delay=<value in seconds>. This entry defines the time delay between two active phases of the notifier calculated from the start of the Business Service. During an active phase, e-mails are sent for the new work items immediately the notifier starts with delay. ... [Watchdog] ... Time0=12:30 : first time, the watchdog checks for due and overdue activities, activated by removing PeriodBase and Period Time1=15:00 : second time.... Time2=4:00 : third time... PeriodBase=12:00 : base time for calculative reasons Period=0:08 : time period of regular intervals BatchPeriod=0:02 : time period of regular intervals for background activities ... [Notifier] delay=1000 : defines the time period the notifier is inactive between two active phases calculated from the start of the Business Service ...
| When using the Notifier in productive environments, set the time periods to at least 1000 sec (~ 15minutes) or higher (e.g. delay=2000). Lower access intervals for the Notifier will lead to performance losses as the Notifier will access the system like a user at each interval!
| ## Mailing
| In the ABS<environment name>.ini file the following e-mail parameters are set automatically during the installation: ... [Messenger] HOST=<MAIL_RELAY>: mail server that is used to sends mails from the messenger FROM=workflow@agile.com: sender e-mail-adress the notifier uses to send e.g. information about new Work Items. ... axalantSender=axalant@agile.com: e-mail-adress the notifier uses in case of using the External E-Mail Integration axalantWebHost=<HTTP_HOST>:<HTTP_PORT> : Oracle http server host name and port used for web client axalantWebApplication=<WebApplication> : context root of the web client axalantJaccHost=<JCL_HOST>:<JCL_PORT> : Oracle http server host name and port used for java client web start JaccContextRoot=<JCL_CNXT_ROOT>: context root of the java client web start JaccApplication=<JaccApplication> : used application name XMLSwitch=false : switch to choose mail generation by templates (default = false) or xml generator (true) ...
| It is required to insert values for ADMIN_UIC in the messenger section of the abs.ini file! The user who is designated for the ADMIN should have privileges for the workflow module and the manager rights to create persons or change user data!
| ### Default Data
| In case there are no notifications sent, first check the values of the EDB-WFL-NOT flags in the database. Clicking will open the Default Data list!
| The name and the value assigned to the EDB-WFL-NOT entry indicate whether and how often notifications are sent. If a user has a special setting (e.g. immediately, hourly) this setting will have priority compared to the users GLOBAL or SYSTEM. If a user doesn't have an entry, the system first searches for the user GLOBAL. If GLOBAL is not available, the system searches for SYSTEM. The GLOBAL and SYSTEM settings are valid for all user without a special entry. It is quite "dangerous" to define GLOBAL and SYSTEM with NONE since then the system wouldn't send out any notifications if there are no other users defined!
| ### Concatenation of notifications
| If several new work items appear during an inactive phase of the notifier, the notifications for the same person are automatically concatenated and sent as one notification!
| As an example, the settings below will have the following effect on the concatenation of notifications:
| Set the value for EDB-WFL-NOT to IMMEDIATELY.
| In the ABS_env.ini do the following settings:
| Set the notifier to 10 min. - [Notifier] delay = 600 Set the watchdog period to 20 min - [Watchdog] period = 0:20 Set the watchdog batch period to 2 min - [Watchdog] batch period = 0:02
| Create three simple workflow processes with only one activity and set the following values:
| - Duration = 2 minutes - Limit = 12 minutes
| Please note that when entering the time value via the corresponding mask, the selection menu doesn't offer to select minutes. However, the value for minutes can be entered manually (e.g. 2 mi)!
| Effect: After having started these three processes, the following emails will be sent: - After 10 minutes one email will be sent to the user concatenating new work items. - After 20 minutes one email will be sent to the user concatenating due work items. - After 40 minutes one email will be sent to the user concatenating the overdue work items and an additional email will be sent to the process responsible person to inform about the overdue work item.
| ### Opening tasks with the Java Client
| Instead of using the Web Client it is also possible to use the Java Client to open the tasks contained in the workflow notifications. In order to use the Java Client as the preferred client the following settings have to be carried out:
| Check if in the directory <ep_root>/<application-name>/lay/notifier the following files exist:
| Text_Workitem_Link_Jacc_ger.txt Text_Workitem_Link_Jacc_eng.txt Text_Workitem_Link_Jacc_ger.html Text_Workitem_Link_Jacc_eng.html
| In the file ABS_<application-name>.ini in the directory <ep_root>\build\applicationServer\oc4j_1013\deploy\<application-name>\xml\war\ adapt the following entries for the workflow mail:
| Change LayoutTextFilePath=lay/notifier/Text_Workitem_Link_eng.html to LayoutTextFilePath=lay/notifier/Text_Workitem_Link_Jacc_eng.html Change LayoutTextFilePath=lay/notifier/Text_Workitem_Link_ger.html to LayoutTextFilePath=lay/notifier/Text_Workitem_Link_Jacc_ger.html Change LayoutTextFilePath=lay/notifier/Text_Workitem_Link_eng.txt to LayoutTextFilePath=lay/notifier/Text_Workitem_Link_Jacc_eng.txt Change LayoutTextFilePath=lay/notifier/Text_Workitem_Link_ger.txt to LayoutTextFilePath=lay/notifier/Text_Workitem_Link_Jacc_ger.txt
| All entries that appear in this directory have to be adapted!
| All four files above contain a definition for a link. In both the html files the links are identical, but there's a difference in the label (dependent on the language). The same refers to both the text files
| The following entries have to be adapted:
| ${jacc.host} = The name of the working station (or IP) the application server is running on ${jacc.port} = The port number for the application server
| ':' has to stand between the name and port (Name:Port)!
| ${appl.name} = The name of the application ${app.install.JaDeHost} = The name of the working station the Java-Deamon is running on ${app.install.JaDePort} = The port for the Java-Deamon
| All other signs must be preserved!
| If these changes should generally apply for all applications, then the templates have to be adapted before the application is created.
| Directories: <ep_root>/axalant/lay/notifier/... <ep_root>\build\tpl_app\tpl_ABS_env.ini
| The same approach applies as for the single application. Having adapted the templates, the modified ABS...ini will be created automatically and the templates with the adapted link will be copied.
| ## Internationalization
| ### Extentions for the Workflow mailing
| The workflow templates ep_root\axalant\lay\notifier (general) or ep_root\<name of environment>\lay\notifier (for every existing environment) have to be extended for the internationalization of email notifications. The formerly fixed entries for the "charset" in the "...Header..." files have to be replaced by a variable. For the "general" case this is done by the upgrade process for versions prior to Agile e6.02.
| Example: Agile e6.0.1 <ep_root>/axalant/lay/notifier/Message_Header_eng.html <META content="text/html; charset=iso-8859-1" http-equiv=Content-Type> Agile e6.0.2 <ep_root>/axalant/lay/notifier/Message_Header_eng.html <META content="text/html; charset=<AXA>Encoding</AXA>" http-equiv=Content-Type>
| During runtime this variable is filled by the messenger getting the desired encoding from the database. The value for the encoding is saved under System>Other Parameters as value of the configuration constant EDB-CHR-ENC-JVM. In case this configuration constant is not present or set, the default ISO-8859-1 will be used.
| ### Extentions for the server-side external mailer
| The server-side external mailer already knew the setting of the encoding (parameter [-k] in exm_snd_ext). With the new extention, the value of the parameter will be read from the database if it doesn't exist. If the configuration constant EDB-CHR-ENG-JVM doesn't exist or is not set, the system settings are taken. If no system settings exist, the default ISO-8859-1 will be used.
| For all the countries using the utf-8 encoding (all languages that don't use latin characters) the client-side external mailer can't be used in Agile e6.0.2. The server-side external mailer has to be used as a substitute instead!