Skip to content
Snippets Groups Projects
Commit addb1a5f authored by Sebastian Listl's avatar Sebastian Listl :speech_balloon:
Browse files

1080981 Standard workflows

parent 34796631
No related branches found
No related tags found
No related merge requests found
Showing
with 478 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
<?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"/>
</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="KEY" 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
...@@ -23,7 +23,9 @@ ...@@ -23,7 +23,9 @@
<include relativeToChangelogFile="true" file="basic/2021.0.1/changelog.xml"/> <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.2/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2021.0.3/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:--> <!--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"/>--> <!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
...@@ -20140,6 +20140,110 @@ ...@@ -20140,6 +20140,110 @@
</entityFieldDb> </entityFieldDb>
</entityFields> </entityFields>
</entityDb> </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> </entities>
</entityGroup> </entityGroup>
</aliasDefDb> </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.18" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.18">
<name>StandardWorkflow_entity</name>
<title>Standard workflow</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<grantCreate v="false" />
<grantUpdate v="false" />
<grantDelete v="false" />
<titlePlural>Standard workflows</titlePlural>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
<dependencies>
<entityDependency>
<name>38e423c3-f0b2-48d6-a035-5b19c79591ac</name>
<entityName>WorkflowDefinitionStore_entity</entityName>
<fieldName>StandardWorkflows</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</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>
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.18" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.18">
<name>WorkflowDefinitionStore_entity</name>
<title>Workflow definitions</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<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</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>
</entityFields>
<recordContainers>
<datalessRecordContainer>
<name>dataless</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
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.vars");
import("system.result");
result.string(vars.get("$field.excludeExisting"));
\ No newline at end of file
...@@ -232,6 +232,13 @@ ...@@ -232,6 +232,13 @@
<isObjectAction v="false" /> <isObjectAction v="false" />
<iconId>NEON:PLUS</iconId> <iconId>NEON:PLUS</iconId>
</entityActionField> </entityActionField>
<entityActionField>
<name>openStore</name>
<title>Standard workflows</title>
<onActionProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/tableactions/children/openstore/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:PACKAGE</iconId>
</entityActionField>
</children> </children>
</entityActionGroup> </entityActionGroup>
<entityActionField> <entityActionField>
......
import("system.neon");
neon.openContext("WorkflowDefinitionStore", "WorkflowDefinitionStore_view", null, neon.OPERATINGSTATE_VIEW, {});
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>StandardWorkflow</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterView>StandardWorkflowFilter_view</filterView>
<lookupView>StandardWorkflowFilter_view</lookupView>
<entity>StandardWorkflow_entity</entity>
<references>
<neonViewReference>
<name>a30bfbf9-5e2a-4f9e-85b4-23763c228cb7</name>
<view>StandardWorkflowFilter_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>WorkflowDefinitionStore</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<entity>WorkflowDefinitionStore_entity</entity>
<references>
<neonViewReference>
<name>3a038eee-9187-4d47-bd63-f6396c915627</name>
<view>WorkflowDefinitionStore_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
<name>StandardWorkflowFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<tilesViewTemplate>
<name>Tiles</name>
<iconField>DIAGRAM</iconField>
<titleField>NAME</titleField>
<subtitleField>PROCESSKEY</subtitleField>
<descriptionField>DESCRIPTION</descriptionField>
<isDeletable v="false" />
<isEditable v="false" />
</tilesViewTemplate>
</children>
</neonView>
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