Skip to content
Snippets Groups Projects
Commit 21a44241 authored by Martin Groppe's avatar Martin Groppe
Browse files

Merge branch '1080981_standardWorkflows' into '2021.1.0'

1080981 standard workflows

See merge request xrm/basic!959
parents a465aaa8 9171f352
No related branches found
No related tags found
No related merge requests found
Showing
with 496 additions and 0 deletions
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<include relativeToChangelogFile="true" file="create_standardWorkflow.xml"/>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="f732bc4a-3fc1-46e5-b2c5-ff3b7041b13a">
<createTable tableName="STANDARD_WORKFLOW">
<column name="STANDARD_WORKFLOWID" type="CHAR(36)">
<constraints nullable="false" primaryKey="true" primaryKeyName="PK_STANDARD_WORKFLOWID"/>
</column>
<column name="PROCESSKEY" type="NVARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="NAME" type="NVARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="DESCRIPTION" type="NVARCHAR(4000)"/>
<column name="PROCESSXML" type="BLOB">
<constraints nullable="false"/>
</column>
<column name="DIAGRAM" type="BLOB">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
<process id="rejectEmailCommunication" name="Reject email communication" isExecutable="true">
<startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
<serviceTask id="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" name="Set communication setting" flowable:class="de.adito.aditoweb.server.neon.workflow.WorkflowServiceTask">
<extensionElements>
<flowable:field name="jditoProcess">
<flowable:string><![CDATA[SetCommunicationSetting_workflowService]]></flowable:string>
</flowable:field>
<flowable:field name="taskVariables">
<flowable:string><![CDATA[{"channelType":{"value":"COMMUNICATIONCHANNEL_COMMUNICATION"},"medium":{"value":"CAMPAIGNEMAIL"},"status":{"value":"COMMUNICATION_REJECTED"}}]]></flowable:string>
</flowable:field>
</extensionElements>
</serviceTask>
<sequenceFlow id="sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD" sourceRef="startEvent1" targetRef="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E"></sequenceFlow>
<endEvent id="sid-E6C948F0-8E59-400F-A308-22C66076A405"></endEvent>
<sequenceFlow id="sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233" sourceRef="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" targetRef="sid-E6C948F0-8E59-400F-A308-22C66076A405"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_rejectEmailCommunication">
<bpmndi:BPMNPlane bpmnElement="rejectEmailCommunication" id="BPMNPlane_rejectEmailCommunication">
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
<omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E" id="BPMNShape_sid-267CEC4E-48FD-4844-B14C-F1B01D5BD16E">
<omgdc:Bounds height="80.0" width="100.0" x="175.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-E6C948F0-8E59-400F-A308-22C66076A405" id="BPMNShape_sid-E6C948F0-8E59-400F-A308-22C66076A405">
<omgdc:Bounds height="28.0" width="28.0" x="320.0" y="164.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233" id="BPMNEdge_sid-1F8F23D4-9CDB-49A6-A04B-980EC0A51233">
<omgdi:waypoint x="274.95000000000005" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="320.0" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD" id="BPMNEdge_sid-649F5C57-5FAB-43A7-9019-944DC4D56FDD">
<omgdi:waypoint x="129.9499984899576" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="174.9999999999917" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
<process id="unsubscribeInterest" name="Unsubscribe Interest" isExecutable="true">
<startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
<serviceTask id="sid-82168C15-ACC8-4369-A92F-A4F8A82EDDD7" name="Change interest link" flowable:class="de.adito.aditoweb.server.neon.workflow.WorkflowServiceTask">
<extensionElements>
<flowable:field name="jditoProcess">
<flowable:string><![CDATA[SetInterestLink_workflowService]]></flowable:string>
</flowable:field>
</extensionElements>
</serviceTask>
<sequenceFlow id="sid-7C8AD2EA-BD4C-4251-B369-DC80DA765953" sourceRef="startEvent1" targetRef="sid-82168C15-ACC8-4369-A92F-A4F8A82EDDD7"></sequenceFlow>
<endEvent id="sid-7C072C86-5A44-4054-833B-F7B39838C118"></endEvent>
<sequenceFlow id="sid-692F5534-B5CD-45AA-84DE-4BD5B0AC18BD" sourceRef="sid-82168C15-ACC8-4369-A92F-A4F8A82EDDD7" targetRef="sid-7C072C86-5A44-4054-833B-F7B39838C118"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_unsubscribeInterest">
<bpmndi:BPMNPlane bpmnElement="unsubscribeInterest" id="BPMNPlane_unsubscribeInterest">
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
<omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-82168C15-ACC8-4369-A92F-A4F8A82EDDD7" id="BPMNShape_sid-82168C15-ACC8-4369-A92F-A4F8A82EDDD7">
<omgdc:Bounds height="80.0" width="100.0" x="175.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7C072C86-5A44-4054-833B-F7B39838C118" id="BPMNShape_sid-7C072C86-5A44-4054-833B-F7B39838C118">
<omgdc:Bounds height="28.0" width="28.0" x="332.5" y="164.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-7C8AD2EA-BD4C-4251-B369-DC80DA765953" id="BPMNEdge_sid-7C8AD2EA-BD4C-4251-B369-DC80DA765953">
<omgdi:waypoint x="129.9499984899576" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="174.9999999999917" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-692F5534-B5CD-45AA-84DE-4BD5B0AC18BD" id="BPMNEdge_sid-692F5534-B5CD-45AA-84DE-4BD5B0AC18BD">
<omgdi:waypoint x="274.94999999998043" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="332.5" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<include relativeToChangelogFile="true" file="insert_rejectEmailCommunication.xml"/>
<include relativeToChangelogFile="true" file="insert_unsubscribeInterest.xml"/>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="e9e5f42b-5df9-430b-aaad-52ded69db85d">
<insert tableName="STANDARD_WORKFLOW">
<column name="STANDARD_WORKFLOWID" value="59d620ab-6dfc-4da7-b0ad-226fa78949e4"/>
<column name="PROCESSKEY" value="rejectEmailCommunication"/>
<column name="NAME" value="Reject email communication"/>
<column name="DESCRIPTION" value="Sets a communication setting to reject emails"/>
<column name="PROCESSXML" valueBlobFile="blob/rejectEmailCommunication.xml"/>
<column name="DIAGRAM" valueBlobFile="blob/rejectEmailCommunication.png"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="608978ed-2471-4c46-85cf-eeab044025b1">
<insert tableName="STANDARD_WORKFLOW">
<column name="STANDARD_WORKFLOWID" value="b14f9d59-b896-433c-a515-c6f209924efd"/>
<column name="PROCESSKEY" value="unsubscribeInterest"/>
<column name="NAME" value="Unsubscribe Interest"/>
<column name="DESCRIPTION" value="Sets an interest link with the status 'unsubscribed'"/>
<column name="PROCESSXML" valueBlobFile="blob/unsubscribeInterest.xml"/>
<column name="DIAGRAM" valueBlobFile="blob/unsubscribeInterest.png"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -23,7 +23,9 @@
<include relativeToChangelogFile="true" file="basic/2021.0.1/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2021.0.2/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2021.0.3/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2021.1.0/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/workflows/changelog.xml" context="workflow"/>
<!--enable this only when you definetly want to overwrite the existing data with demo records:-->
<!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
</databaseChangeLog>
\ No newline at end of file
......@@ -20140,6 +20140,110 @@
</entityFieldDb>
</entityFields>
</entityDb>
<entityDb>
<name>STANDARD_WORKFLOW</name>
<dbName></dbName>
<idColumn>STANDARD_WORKFLOWID</idColumn>
<idGeneratorType v="0" />
<idGeneratorInterval v="1" />
<documentation></documentation>
<title></title>
<description></description>
<auditSyncConfig>
<name>auditSyncConfig</name>
<auditMode v="0" />
<syncActive v="false" />
<syncComplete v="true" />
<syncDirection v="1" />
<syncIds></syncIds>
</auditSyncConfig>
<entityFields>
<entityFieldDb>
<name>STANDARD_WORKFLOWID</name>
<dbName></dbName>
<primaryKey v="true" />
<columnType v="1" />
<size v="36" />
<scale v="0" />
<notNull v="true" />
<isUnique v="true" />
<index v="true" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>DESCRIPTION</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="4000" />
<scale v="0" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>PROCESSXML</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="2004" />
<size v="65535" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>DIAGRAM</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="2004" />
<size v="65535" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>PROCESSKEY</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="255" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>NAME</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="255" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
</entityFields>
</entityDb>
</entities>
</entityGroup>
</aliasDefDb>
......
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>StandardWorkflow_entity</name>
<title>Standard workflow</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/StandardWorkflow_entity/documentation.adoc</documentation>
<grantCreate v="false" />
<grantUpdate v="false" />
<grantDelete v="false" />
<titlePlural>Standard workflows</titlePlural>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>STANDARD_WORKFLOWID</name>
</entityField>
<entityField>
<name>DIAGRAM</name>
<contentType>IMAGE</contentType>
</entityField>
<entityField>
<name>PROCESSKEY</name>
<title>Key</title>
</entityField>
<entityField>
<name>DESCRIPTION</name>
<title>Description</title>
</entityField>
<entityField>
<name>NAME</name>
<title>Name</title>
</entityField>
<entityParameter>
<name>ExcludeExisting_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
<name>db</name>
<isReadOnly v="true" />
<conditionProcess>%aditoprj%/entity/StandardWorkflow_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<alias>Data_alias</alias>
<recordFieldMappings>
<dbRecordFieldMapping>
<name>DESCRIPTION.value</name>
<recordfield>STANDARD_WORKFLOW.DESCRIPTION</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>DIAGRAM.value</name>
<recordfield>STANDARD_WORKFLOW.DIAGRAM</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>PROCESSKEY.value</name>
<recordfield>STANDARD_WORKFLOW.PROCESSKEY</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>NAME.value</name>
<recordfield>STANDARD_WORKFLOW.NAME</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>STANDARD_WORKFLOWID.value</name>
<recordfield>STANDARD_WORKFLOW.STANDARD_WORKFLOWID</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
<linkInformation>
<linkInformation>
<name>f0c5e67d-3851-488b-833c-7721678c599a</name>
<tableName>STANDARD_WORKFLOW</tableName>
<primaryKey>STANDARD_WORKFLOWID</primaryKey>
<isUIDTable v="true" />
<readonly v="false" />
</linkInformation>
</linkInformation>
</dbRecordContainer>
</recordContainers>
</entity>
= StandardWorkflow_entity
Standard workflows are stored in the table STANDARD_WORKFLOW. The table is filled exclusively by liquibase scripts, this entity is read-only.
import("system.result");
import("Sql_lib");
import("system.workflow");
import("system.vars");
import("Util_lib");
var isExcludeExisting = Utils.toBoolean(vars.get("$param.ExcludeExisting_param"));
if (isExcludeExisting)
{
var existingWorkflows = JSON.parse(workflow.getProcessDefinitions(workflow.createConfigForLoadingProcessDefinitions()));
var existingKeys = existingWorkflows.map(function (workflowDefinition)
{
return workflowDefinition.key;
});
var condition = newWhereIfSet("STANDARD_WORKFLOW.PROCESSKEY", existingKeys, SqlBuilder.NOT_IN());
result.string(condition.toString());
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>WorkflowDefinitionStore_entity</name>
<title>Workflow definitions</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/WorkflowDefinitionStore_entity/documentation.adoc</documentation>
<recordContainer>dataless</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>selectedWorkflows</name>
<consumer>StandardWorkflows</consumer>
</entityField>
<entityConsumer>
<name>StandardWorkflows</name>
<dependency>
<name>dependency</name>
<entityName>StandardWorkflow_entity</entityName>
<fieldName>#PROVIDER</fieldName>
</dependency>
<children>
<entityParameter>
<name>ExcludeExisting_param</name>
<valueProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/standardworkflows/children/excludeexisting_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityActionField>
<name>deploySelectedWorkflow</name>
<title>Add selected workflow</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/onActionProcess.js</onActionProcess>
<iconId>VAADIN:PLUS</iconId>
<stateProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployselectedworkflow/stateProcess.js</stateProcess>
</entityActionField>
<entityActionField>
<name>deployAllWorkflows</name>
<title>Add all</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/deployallworkflows/onActionProcess.js</onActionProcess>
<iconId>VAADIN:PLUS_CIRCLE</iconId>
</entityActionField>
<entityField>
<name>excludeExisting</name>
<title>Exclude existing workflows</title>
<contentType>BOOLEAN</contentType>
<state>EDITABLE</state>
</entityField>
<entityActionField>
<name>downloadSelectedWorkflow</name>
<title>Download selected workflow</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/downloadselectedworkflow/onActionProcess.js</onActionProcess>
<iconId>VAADIN:DOWNLOAD</iconId>
<stateProcess>%aditoprj%/entity/WorkflowDefinitionStore_entity/entityfields/downloadselectedworkflow/stateProcess.js</stateProcess>
</entityActionField>
</entityFields>
<recordContainers>
<datalessRecordContainer>
<name>dataless</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
= WorkflowDefinitionStore_entity
The purpose of this entity is to display all the standard workflow definitions that can be imported into the system. It provides an overlay
where the workflows can be selected and deployed with the actions of this entity.
Standard workflows are handled this way because the workflow engine is running inside its own service with an own database. That's why these workflows
cannot be inserted directly with liquibase. Instead, the standard workflows are stored in a database table on the ADITO side, and can be transferred
to the workflow service using this entity. An additional advantage of this solution is better flexibility, as it makes using the standard workflows
optional, the admin can choose in the client what workflow definitions to deploy.
\ No newline at end of file
import("Util_lib");
import("system.neon");
import("system.util");
import("system.workflow");
import("Sql_lib");
import("system.vars");
var workflowSql = newSelect(["PROCESSKEY", "PROCESSXML"]).from("STANDARD_WORKFLOW");
var isExcludeExisting = Utils.toBoolean(vars.get("$field.excludeExisting"));
if (isExcludeExisting)
{
var existingWorkflows = JSON.parse(workflow.getProcessDefinitions(workflow.createConfigForLoadingProcessDefinitions()));
var existingKeys = existingWorkflows.map(function (workflowDefinition)
{
return workflowDefinition.key;
});
workflowSql.whereIfSet("STANDARD_WORKFLOW.PROCESSKEY", existingKeys, SqlBuilder.NOT_IN());
}
workflowSql.table().forEach(function ([key, processXml])
{
processXml = util.decodeBase64String(processXml);
workflow.deployProcess(key, processXml);
});
neon.refreshAll();
\ No newline at end of file
import("system.neon");
import("system.util");
import("system.workflow");
import("Sql_lib");
import("system.vars");
var workflowId = vars.get("$field.selectedWorkflows");
var [key, processXml] = newSelect(["PROCESSKEY", "PROCESSXML"])
.from("STANDARD_WORKFLOW")
.where("STANDARD_WORKFLOW.STANDARD_WORKFLOWID", workflowId)
.arrayRow();
processXml = util.decodeBase64String(processXml);
workflow.deployProcess(key, processXml);
neon.refreshAll();
\ No newline at end of file
import("system.result");
import("system.vars");
import("system.neon");
var state = neon.COMPONENTSTATE_DISABLED;
if (vars.get("$field.selectedWorkflows"))
{
state = neon.COMPONENTSTATE_EDITABLE;
}
result.string(state);
\ No newline at end of file
import("system.neon");
import("system.util");
import("system.workflow");
import("Sql_lib");
import("system.vars");
var workflowId = vars.get("$field.selectedWorkflows");
var [name, processXml] = newSelect(["NAME", "PROCESSXML"])
.from("STANDARD_WORKFLOW")
.where("STANDARD_WORKFLOW.STANDARD_WORKFLOWID", workflowId)
.arrayRow();
neon.download(processXml, name + ".xml");
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment