Skip to content
Snippets Groups Projects
Commit cccae17c authored by S.Listl's avatar S.Listl
Browse files

Workflow improvements

parent 7e0c1b2f
No related branches found
No related tags found
No related merge requests found
Showing
with 550 additions and 13 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="workflow/changelog.xml"/>
</databaseChangeLog>
<?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_workflowActivityType_keyword.xml"/>
</databaseChangeLog>
<?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="c48da681-5996-411f-9ab5-3b9e9f51931f">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="579e1798-acd0-4fa6-8dbc-02c533e741f3"/>
<column name="KEYID" value="sequenceFlow"/>
<column name="TITLE" value="Sequence flow"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="f472f6f9-d603-42d3-a413-6b549f4c2aa4"/>
<column name="KEYID" value="startEvent"/>
<column name="TITLE" value="Start event"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="de02cd0d-b3ab-43e0-ae2f-f1b76e2323d1"/>
<column name="KEYID" value="endEvent"/>
<column name="TITLE" value="End event"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="3"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="012f38fa-c7ee-4898-bed5-4652459dab23"/>
<column name="KEYID" value="userTask"/>
<column name="TITLE" value="User task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="4"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="4b9e19fb-0385-4033-8a03-6d37c43c6b01"/>
<column name="KEYID" value="serviceTask"/>
<column name="TITLE" value="Service task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="5"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="7e5ab737-a3e6-463c-974e-eb6021730d4a"/>
<column name="KEYID" value="scriptTask"/>
<column name="TITLE" value="Script task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="6"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="5e46546a-ee2e-41a2-b87f-a55e4c88df87"/>
<column name="KEYID" value="businessRuleTask"/>
<column name="TITLE" value="Business rule task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="7"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="ab66f18f-040d-44c1-b08c-949fa3928e37"/>
<column name="KEYID" value="receiveTask"/>
<column name="TITLE" value="Receive task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="8"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="4eba5820-4c2d-4a77-95d2-c6f12843d02c"/>
<column name="KEYID" value="manualTask"/>
<column name="TITLE" value="Manual task"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="9"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="7fff1c17-66a0-44ec-a6f1-f0364602c0de"/>
<column name="KEYID" value="exclusiveGateway"/>
<column name="TITLE" value="Exclusive gateway"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="10"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="7a32adf8-13ac-4943-a443-4d2f5340a8a5"/>
<column name="KEYID" value="parallelGateway"/>
<column name="TITLE" value="Parallel gateway"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="11"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="22c13c1e-1c26-42b6-8e24-c522ec7f16a9"/>
<column name="KEYID" value="inclusiveGateway"/>
<column name="TITLE" value="Inclusive gateway"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="12"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="50cb1b5f-2215-40e8-aa1e-daf34dc8a06b"/>
<column name="KEYID" value="eventBasedGateway"/>
<column name="TITLE" value="Event gateway"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="13"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="f7f73dec-b461-4bb4-8d72-4cb63909dbba"/>
<column name="KEYID" value="boundaryEvent"/>
<column name="TITLE" value="Boundary event"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="14"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="bd4300ce-8e9b-4efc-b995-8477ab374fc3"/>
<column name="KEYID" value="intermediateCatchEvent"/>
<column name="TITLE" value="Intermediate catching event"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="15"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="5534a8d8-da1d-4448-835a-97cdcfee8907"/>
<column name="KEYID" value="intermediateThrowEvent"/>
<column name="TITLE" value="Intermediate throwing event"/>
<column name="CONTAINER" value="WorkflowActivityType"/>
<column name="SORTING" valueNumeric="16"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
</changeSet>
</databaseChangeLog>
......@@ -10,6 +10,7 @@
<include relativeToChangelogFile="true" file="basic/2020.0.0/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.0.1/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.0.2/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.0.3/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.1.0/changelog.xml"/>
<!--enable this only when you definetly want to overwrite the existing data with demo records:-->
......
<?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="" id="">
</changeSet>
</databaseChangeLog>
......@@ -589,6 +589,12 @@
<fieldName>KeywordPermissionCalendarTypes</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>7c05378a-c50f-4f94-bd18-e256baf86e31</name>
<entityName>WorkflowInstanceHistory_entity</entityName>
<fieldName>ActivityTypeKeyword</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
......
<?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.13" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.13">
<name>WorkflowInstanceHistory_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>History</title>
<grantCreate v="false" />
<grantUpdate v="false" />
<grantDelete v="false" />
<titlePlural>Activites</titlePlural>
<recordContainer>jdito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>UID</name>
</entityField>
<entityField>
<name>PROCESSINSTANCE_ID</name>
</entityField>
<entityField>
<name>START_TIME</name>
<title>Start time</title>
<contentType>DATE</contentType>
</entityField>
<entityField>
<name>END_TIME</name>
<title>End time</title>
<contentType>DATE</contentType>
</entityField>
<entityField>
<name>PROCESSDEFINITION_ID</name>
</entityField>
<entityField>
<name>DURATION</name>
<title>Duration</title>
<contentType>NUMBER</contentType>
</entityField>
<entityField>
<name>ACTIVITY_TYPE</name>
<title>Type</title>
<consumer>ActivityTypeKeyword</consumer>
</entityField>
<entityParameter>
<name>ProcessInstanceId_param</name>
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityProvider>
<name>HistoryForWorkflowInstance</name>
<targetContextField>TARGET_CONTEXT</targetContextField>
<targetIdField>TASK_ID</targetIdField>
<titlePlural>History</titlePlural>
<dependencies>
<entityDependency>
<name>dae4ffad-5627-46b5-bf4c-b3b8490d4a29</name>
<entityName>WorkflowInstance_entity</entityName>
<fieldName>History</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityField>
<name>ICON</name>
<contentType>IMAGE</contentType>
</entityField>
<entityField>
<name>TASK_ID</name>
</entityField>
<entityField>
<name>ACTIVITY_NAME</name>
<title>Name</title>
</entityField>
<entityField>
<name>TARGET_CONTEXT</name>
</entityField>
<entityConsumer>
<name>ActivityTypeKeyword</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/WorkflowInstanceHistory_entity/entityfields/activitytypekeyword/children/containername_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isFilterable v="true" />
<contentProcess>%aditoprj%/entity/WorkflowInstanceHistory_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>END_TIME.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>START_TIME.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PROCESSDEFINITION_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PROCESSINSTANCE_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>DURATION.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ACTIVITY_TYPE.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ACTIVITY_TYPE.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ICON.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ACTIVITY_NAME.value</name>
<isFilterable v="true" />
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>TASK_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>TARGET_CONTEXT.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("KeywordRegistry_basic");
import("system.result");
result.string($KeywordRegistry.workflowActivityType());
\ No newline at end of file
import("KeywordData_lib");
import("KeywordRegistry_basic");
import("Util_lib");
import("JditoFilter_lib");
import("system.result");
import("system.workflow");
import("system.vars");
var instanceId = vars.get("$param.ProcessInstanceId_param");
var historicActivities = JSON.parse(workflow.getFinishedActivities(instanceId));
var history = [];
var typeNameMap = KeywordData.getKeyIdMap($KeywordRegistry.workflowActivityType());
var _isRelevant = function (pActivity)
{
return pActivity.activityType != $KeywordRegistry.workflowActivityType$sequenceFlow();
}
var _getIcon = function (pType)
{
var typeIconMap = {
startEvent : "VAADIN:PLAY_CIRCLE_O",
userTask : "VAADIN:USER",
serviceTask : "VAADIN:AUTOMATION"
};
return typeIconMap[pType] || "";
}
historicActivities.forEach(function (activity)
{
if (_isRelevant(activity))
{
history.push([
activity.id,
Date.parse(activity.endTime).toString(),
Date.parse(activity.startTime).toString(),
activity.processDefinitionId,
activity.processInstanceId,
activity.durationInMillis,
activity.activityType,
typeNameMap[activity.activityType] || activity.activityType,
_getIcon(activity.activityType),
activity.activityName || activity.activityType,
activity.taskId || "",
activity.taskId ? "WorkflowTask" : ""
]);
}
});
history = JditoFilterUtils.filterRecords(["UID", "END_TIME", "START_TIME", "PROCESSDEFINITION_ID", "PROCESSINSTANCE_ID", "DURATION", "ACTIVITY_TYPE",
"ICON", "ACTIVITY_NAME", "TASK_ID", "TARGET_CONTEXT"], history, vars.get("$local.filter").filter)
ArrayUtils.sort2d(history, 2, false, true);
result.object(history);
\ No newline at end of file
......@@ -151,6 +151,20 @@
<name>ICON</name>
<contentType>IMAGE</contentType>
</entityField>
<entityConsumer>
<name>History</name>
<dependency>
<name>dependency</name>
<entityName>WorkflowInstanceHistory_entity</entityName>
<fieldName>HistoryForWorkflowInstance</fieldName>
</dependency>
<children>
<entityParameter>
<name>ProcessInstanceId_param</name>
<valueProcess>%aditoprj%/entity/WorkflowInstance_entity/entityfields/history/children/processinstanceid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
......
import("system.vars");
import("system.result");
result.string(vars.get("$field.UID"));
\ No newline at end of file
......@@ -12,27 +12,46 @@ var rowdata = vars.get("$local.rowdata");
var processKey = rowdata["KEY.value"];
var instanceName = rowdata["NAME.value"];
if (Array.isArray(variables.targetId) && variables.targetId.length > 0)
_startForIds(variables.targetId.slice(), variables);
var titlePlaceholder = "{title}";
var fetchContentTitle = instanceName && instanceName.includes(titlePlaceholder);
var targetIds = [];
if (Array.isArray(variables.targetId) && variables.targetId.length !== 0)
{
targetIds = variables.targetId.slice();
targetIdFilter = null;
}
else if (!Array.isArray(variables.targetId) && variables.targetId)
_startForIds([variables.targetId], variables);
else if (targetIdFilter)
{
targetIds = [variables.targetId];
targetIdFilter = null;
}
if (targetIdFilter || fetchContentTitle)
{
var entity = ContextUtils.getEntity(variables.targetContext);
var loadConfig = entities.createConfigForLoadingRows()
.entity(entity)
.fields(["#UID"]);
.fields(["#UID", "#CONTENTTITLE"]);
if (targetIdFilter.filter)
if (targetIdFilter && targetIdFilter.filter)
loadConfig.filter(JSON.stringify(targetIdFilter.filter));
else if (targetIds.length !== 0)
loadConfig.uids(targetIds);
var rowCount = entities.getRowCount(loadConfig);
var pageSize = 1000;
for (let startRow = 0; startRow < rowCount; startRow += pageSize)
{
loadConfig.startrow(startRow).count(pageSize);
let targetIds = entities.getRows(loadConfig).map(function (row) {return row["#UID"];});
_startForIds(targetIds, variables);
let targetIdsAndNames = entities.getRows(loadConfig).map(function (row)
{
var name = instanceName;
if (fetchContentTitle)
name = name.replace(titlePlaceholder, row["#CONTENTTITLE"]);
return [row["#UID"], name];
});
_startForIds(targetIdsAndNames, variables);
}
//TODO: entities.getRows currently doesn't work on the server
......@@ -42,15 +61,17 @@ else if (targetIdFilter)
// entityFilter : targetIdFilter.filter ? JSON.stringify(targetIdFilter.filter) : ""
// }, false, EmployeeUtils.getCurrentUserName(), process.THREADPRIORITY_NORM, process.TIMERTYPE_SERVER);
}
else
_startForIds(targetIds.map(function (id) {return [id, instanceName];}), variables);
function _startForIds (pTargetIds, pVariables)
function _startForIds (pTargets, pVariables)
{
pTargetIds.forEach(function (id)
pTargets.forEach(function ([id, name])
{
pVariables.targetId = id;
var instanceId = workflow.startProcessByKey(processKey, pVariables);
if (instanceName)
workflow.setProcessInstanceName(instanceId, instanceName);
if (name)
workflow.setProcessInstanceName(instanceId, name);
});
}
......@@ -212,6 +212,20 @@
</entityParameter>
</children>
</entityConsumer>
<entityActionGroup>
<name>tableActions</name>
<children>
<entityActionField>
<name>completeMultipleTasks</name>
<title>Complete tasks</title>
<onActionProcess>%aditoprj%/entity/WorkflowTask_entity/entityfields/tableactions/children/completemultipletasks/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<isSelectionAction v="true" />
<iconId>VAADIN:CHECK</iconId>
<stateProcess>%aditoprj%/entity/WorkflowTask_entity/entityfields/tableactions/children/completemultipletasks/stateProcess.js</stateProcess>
</entityActionField>
</children>
</entityActionGroup>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
......
import("Employee_lib");
import("system.workflow");
import("system.neon");
import("system.vars");
var tasks = vars.get("$sys.selectionRows");
var currentUserId = EmployeeUtils.getCurrentUserId();
var refreshRequired = false;
tasks.forEach(function (task)
{
//tasks requiring form data can't be completed here
if ((!task["FORMDEFINITION"] || task["FORMDEFINITION"] == "null") && task["ISACTIVE"] == "true")
{
var taskId = task["#UID"];
if (!task["ASSIGNEE"])
workflow.setTaskAssignee(taskId, currentUserId);
workflow.completeTask(taskId, {});
refreshRequired = true;
}
});
if (refreshRequired)
neon.refreshAll();
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
var tasks = vars.get("$sys.selectionRows");
var isActive = tasks.every(function (task)
{
return (!task["FORMDEFINITION"] || task["FORMDEFINITION"] == "null") && task["ISACTIVE"] == "true";
});
result.string(isActive ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_DISABLED);
\ No newline at end of file
......@@ -96,7 +96,7 @@ result.object((function ()
task.processDefinitionId,
task.processInstanceId,
Date.parse(task.createTime).toString(),
workflow.getFormProperties(task.id),
workflow.getFormProperties(task.id) || "",
"",
variables.USER_ID || "",
task.description || "",
......
......@@ -2,6 +2,7 @@
<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>WorkflowInstance</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainView>WorkflowInstanceMain_view</mainView>
<filterView>WorkflowInstanceFilter_view</filterView>
<editView>WorkflowInstanceEdit_view</editView>
<previewView>WorkflowInstancePreview_view</previewView>
......@@ -23,5 +24,13 @@
<name>1b36d7c5-af14-4cb6-9e68-99d738def562</name>
<view>WorkflowInstanceMain_view</view>
</neonViewReference>
<neonViewReference>
<name>e701f4bc-29f4-4e93-98b5-d7d2cee1787e</name>
<view>WorkflowInstanceVariables_view</view>
</neonViewReference>
<neonViewReference>
<name>98e9064c-466c-43eb-a72a-c369e7eb28a4</name>
<view>WorkflowInstanceTasks_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>WorkflowInstanceHistory</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<entity>WorkflowInstanceHistory_entity</entity>
<references>
<neonViewReference>
<name>30e6ce24-1a8d-42b2-b6d7-c56f28d1a30f</name>
<view>WorkflowInstanceHistoryFilter_view</view>
</neonViewReference>
</references>
</neonContext>
......@@ -30,5 +30,9 @@
<name>a86af6be-5e80-4e4c-8717-76976ff192b9</name>
<view>WorkflowTaskFinishedList_view</view>
</neonViewReference>
<neonViewReference>
<name>ad4bd316-3da9-4fe4-845b-b37249c26979</name>
<view>WorkflowTaskFinishedDrawer_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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.5">
<name>WorkflowInstanceHistoryFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterable v="true" />
<layout>
<groupLayout>
<name>layout</name>
</groupLayout>
</layout>
<children>
<timelineViewTemplate>
<name>Timeline</name>
<dateField>END_TIME</dateField>
<titleField>ACTIVITY_NAME</titleField>
<descriptionField>ACTIVITY_TYPE</descriptionField>
<iconIdField>ICON</iconIdField>
<entityField>#ENTITY</entityField>
</timelineViewTemplate>
<tableViewTemplate>
<name>Table</name>
<entityField>#ENTITY</entityField>
<columns>
<neonTableColumn>
<name>2d8bc4b5-d27d-47ce-b5fe-be0354a332ee</name>
<entityField>ICON</entityField>
</neonTableColumn>
<neonTableColumn>
<name>8f743b3f-4c50-4a6a-a530-11b2c43fa0ff</name>
<entityField>ACTIVITY_NAME</entityField>
</neonTableColumn>
<neonTableColumn>
<name>5a66e63f-1db1-45ec-8aaa-85268e131d86</name>
<entityField>ACTIVITY_TYPE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>bc6674d4-c808-4adb-ad8d-5853a2af6f1e</name>
<entityField>START_TIME</entityField>
</neonTableColumn>
<neonTableColumn>
<name>5625386c-67d1-4235-a1b7-53d390370cc5</name>
<entityField>END_TIME</entityField>
</neonTableColumn>
</columns>
</tableViewTemplate>
</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