Page Properties | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
Resources & Remarks Modification History
|
...
Column in yuuvis® client | Corresponding Counterpart in BPM Engine | Description |
---|---|---|
Description (not available anymore as of version 2021) | Process variable whatAbout | The description that was entered while creating the follow-up. |
as of 2021 Winter: Subject | Web-API Gateway parameter subject , represented as Flowable string variable subject | Set while creating the process. |
Created on | Process parameter startTime | The time the follow-up (process) was created. |
Follow-up date | Process variable expiryDateTime | The due date that was entered while creating the follow-up. |
Status | Derived from process parameters endTime and suspended | Possible values for Status are running , completed and suspended . |
...
The twosteptest_proc
process model has to be deployed to the Flowable BPM Engine.
Code Block | language | yml|||
---|---|---|---|---|
| ||||
{ "disabled": false, "actions": [ { "id": "yuv.custom.action.two.step.multi.label", "label": "yuv.custom.action.two.step.multi.label", "description": "yuv.custom.action.two.step.multi.description", "priority": 0, "icon": "<svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path> <path d=\"M4 10h12v2H4zM4 6h12v2H4zM4 14h8v2H4zM14 14v6l5-3z\"></path> </svg>", "group": "further", "range": "MULTI_SELECT", "isExecutable": "(item) => item.id", "run": "(selection) => this.http.post('/bpm/processes', {businessKey: selection[0].id, name: selection[0].title || selection[0].id, processDefinitionKey: 'twosteptest_proc', attachments: selection.map((s) => s.id), subject: selection[0].title, variables: [{ name: 'myVariable', type: 'string', value: 'Lorem ipsum' }]},'api-web').then(() => this.util.notifier.success(this.util.translate('yuv.custom.action.two.step.multi.success')))" }, "yuv-download-action", "yuv-delete-action", "yuv-delete", "yuv-upload", "yuv-upload-action", "yuv-move-action", "yuv-move", "yuv-follow-up-action", "yuv-follow-up", "yuv-reference-action", "yuv-open-context-action", "yuv-open-versions-action", "yuv-clipboard-action", "yuv-clipboard-link-action" ], "translations": { "en": { "yuv.custom.action.two.step.multi.label": "Two step process", "yuv.custom.action.two.step.multi.description": "Starts simple process with two steps, also for many objects", "yuv.custom.action.two.step.multi.success": "Process has started" }, "de": { "yuv.custom.action.two.step.multi.label": "Zweischritteprozess", "yuv.custom.action.two.step.multi.description": "Startet einen einfachen Prozess mit zwei Schritten, auch für mehrere Prozesse", "yuv.custom.action.two.step.multi.success": "Prozess wurde gestartet" } } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "name": "twosteptest_proc:1st_task", "situation": "EDIT", "script": "", "elements": [ { "name": "core", "type": "o2mGroup", "elements": [ { "type": "o2mGroup", "layout": { "align": "row" }, "elements": [ { "type": "o2mGroup", "name": "xyzSimplefields", "layout": { "align": "column" }, "elements": [ { "name": xyzDatetime", "type": "datetime", "required": false, "cardinality": "single", "readonly": false }, { "name": "xyzDate", "type": "datetime", "required": false, "cardinality": "single", "readonly": false, "resolution": "date" }, { "name": "xyzInteger", "type": "integer", "required": false, "cardinality": "single", "readonly": false }, { "name": "xyzDecimal", "type": "decimal", "required": false, "cardinality": "single", "readonly": false }, { "name": "xyzString", "type": "string", "required": false, "rows": 1, "readonly": false }, { "name": "xyzStringmultirow", "type": "string", "required": false, "rows": 3, "readonly": false } ] }, { "type": "o2mGroup", "name": "xyzComplexfields", "layout": { "align": "column" }, "elements": [ { "name": "xyzEmail", "type": "string", "cardinality": "single", "readonly": false, "classifications": ["email"] }, { "name": "xyzUrl", "type": "string", "required": false, "readonly": false, "classifications": ["url"] }, { "name": "xyzPhone", "type": "string", "required": false, "readonly": false, "classifications": ["phone"] }, { "name": "xyzUser", "type": "string", "required": false, "cardinality": "single", "readonly": false, "classifications": ["id:organization"] }, { "name": "xyzReference", "type": "string", "required": false, "cardinality": "single", "readonly": false, "classifications": ["id:reference[]"], "label": "Reference" }, { "name": "xyzCatalogcustom", "type": "string", "required": false, "cardinality": "single", "readonly": false, "classifications": ["custom:catalog[/api-web/api/dms/catalogs/tenMytenant:processstatus]"], "label": "Catalog status" }, { "name": "xyzBroc:boolean", "type": "boolean", "required": false, "readonly": false, "label": "Boolean" } ] } ] }, { "name": "xyzTest_table", "type": "table", "required": false, "readonly": false, "label": "Notices", "description": "List of notices", "classifications": "sortable", "elements": [ { "name": "xyzColumn_string", "type": "string", "required": false, "cardinality": "single", "readonly": false, "label": "String" }, { "name": "xyzColumn_date", "type": "datetime", "required": false, "cardinality": "single", "readonly": false, "label": "Date" }, { "name": "xyzColumn_user", "type": "string", "required": false, "cardinality": "single", "classifications": ["id:organization"], "readonly": false, "label": "User" }, { "name": "xyzColumn_boolean", "type": "boolean", "required": false, "cardinality": "single", "readonly": false, "label": "Boolean" } ] } ] }, { "name": "data", "type": "o2mGroupStack", "elements": [], "layout": { "align": "column" }, "label": "Table group" } ] } |
...
As of version 2021 Winter, a plug-in action is available that allows to start a process via a start form as shown in the example screenshot. If all form fields are filled with valid values, the Start button is enabled. Both form fields User and Comment are required variables for starting a process. The code block below shows the corresponding plug-in configuration offering a start form with the name taskform
in the object action view (displayed after a click on the object action Test process with role assignment).
Code Block | language | yml|||||
---|---|---|---|---|---|---|
| ||||||
{ "disabled": false, "actions": [ { "id": "yuv.custom.action.userGroupAssignment.multi.label", "label": "yuv.custom.action.userGroupAssignment.multi.label", "description": "yuv.custom.action.userGroupAssignment.multi.description", "priority": 1, "icon": "<svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path> <path d=\"M4 10h12v2H4zM4 6h12v2H4zM4 14h8v2H4zM14 14v6l5-3z\"></path> </svg>", "group": "further", "range": "MULTI_SELECT", "isExecutable": "(item) => item.id", "buttons": { "finish": "yuv.custom.action.userGroupAssignment.multi.start" }, "plugin": { "component": "yuv-object-form", "inputs": { "__initOptions": "this.http.get(`/resources/config/taskform`, 'api-web').then((res) => {component.cmp.options = {formModel: res.data.tenant, disabled: false}})", "__init": "() => parent.finished.subscribe((event) => { var selection = parent.selection; var cmp = component.cmp; this.http.post('/bpm/processes',{businessKey: selection[0].id,name: selection[0].title || selection[0].id,processDefinitionKey: 'userGroupAssignment',attachments: selection.map((s) => s.id),subject: selection[0].title,variables: [{ name: 'user', type: 'string', value: cmp.formData.user || '' },{ name: 'comment', type: 'string', value: cmp.formData.comment || '' },{ name: 'nextUserAssignee', type: 'string', value: 'fakeUserId' },{ name: 'nextGroupAssignee', type: 'string', value: 'YUUVIS_MANAGE_SETTINGS' }]},'api-web').then(() => this.util.notifier.success(this.util.translate('yuv.custom.action.userGroupAssignment.multi.success')))})" }, "outputs": { "statusChanged": "(status) => { parent.disabled = status.invalid; }" } } }, "*" ], "translations": { "en": { "yuv.custom.action.userGroupAssignment.multi.label": "Test process with role assignment", "yuv.custom.action.userGroupAssignment.multi.description": "Starts a process with two tasks. Second task assigned to YUUVIS_MANAGE_SETTINGS", "yuv.custom.action.userGroupAssignment.multi.success": "Process has started" } } } |
The following code block shows the form definition for the plug-in action example displayed above:
Code Block | language | yml|||||
---|---|---|---|---|---|---|
| ||||||
{ "description": "This form is used during process start and both task of process userGroupAssignment", "name": "taskform", "situation": "EDIT", "elements": [ { "name": "core", "type": "o2mGroup", "elements": [ { "name": "user", "labelkey": "userGroupAssignment:user", "type": "string", "cardinality": "single", "required": true, "readonly": false, "classifications": ["id:organization"] }, { "name": "comment", "labelkey": "userGroupAssignment:comment", "type": "string", "required": true, "readonly": false, "rows": 3 } ], "layout": { "align": "column" } }, { "name": "data", "label": "data", "type": "o2mGroupStack", "elements": [] } ] } |
...