From 5e92b3f346499d56eae02800dea3a95e27880c66 Mon Sep 17 00:00:00 2001
From: "d.lechner" <d.lechner@adito.de>
Date: Thu, 5 Sep 2019 15:58:15 +0200
Subject: [PATCH] Documentation campaign

---
 .../CampaignStep_entity.aod                   | 974 +++++++++---------
 entity/CampaignStep_entity/documentation.adoc |   3 +
 .../campaignsteps/documentation.adoc          |   4 +
 3 files changed, 495 insertions(+), 486 deletions(-)
 create mode 100644 entity/CampaignStep_entity/documentation.adoc
 create mode 100644 entity/CampaignStep_entity/entityfields/campaignsteps/documentation.adoc

diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index 8a985edb72..454bc23d40 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -1,486 +1,488 @@
-<?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.11" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.11">
-  <name>CampaignStep_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>NEON:GROUP_APPOINTMENT</icon>
-  <title>Campaign Step</title>
-  <siblings>
-    <element>CampaignPlanning_entity</element>
-    <element>Campaign_entity</element>
-  </siblings>
-  <grantDeleteProcess>%aditoprj%/entity/CampaignStep_entity/grantDeleteProcess.js</grantDeleteProcess>
-  <contentTitleProcess>%aditoprj%/entity/CampaignStep_entity/contentTitleProcess.js</contentTitleProcess>
-  <onValidation>%aditoprj%/entity/CampaignStep_entity/onValidation.js</onValidation>
-  <imageProcess>%aditoprj%/entity/CampaignStep_entity/imageProcess.js</imageProcess>
-  <titlePlural>Steps</titlePlural>
-  <recordContainer>db</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-      <dependencies>
-        <entityDependency>
-          <name>13f82959-7e04-449f-a657-c34f6b97f3be</name>
-          <entityName>Object_entity</entityName>
-          <fieldName>CampaignSteps</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityField>
-      <name>CAMPAIGNSTEPID</name>
-      <mandatory v="true" />
-    </entityField>
-    <entityField>
-      <name>CAMPAIGN_ID</name>
-      <title>Campaign</title>
-      <consumer>CampaignConsumer</consumer>
-      <linkedContext>Campaign</linkedContext>
-      <mandatory v="true" />
-      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js</stateProcess>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/onValueChange.js</onValueChange>
-      <onValueChangeTypes>
-        <element>MASK</element>
-        <element>PROCESS_SETVALUE</element>
-      </onValueChangeTypes>
-    </entityField>
-    <entityField>
-      <name>EMPLOYEE_CONTACT_ID</name>
-      <title>Responsible</title>
-      <consumer>Employees</consumer>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>NAME</name>
-      <title>Name</title>
-      <mandatory v="true" />
-    </entityField>
-    <entityField>
-      <name>DATE_START</name>
-      <title>Begin</title>
-      <contentType>DATE</contentType>
-      <resolution>DAY</resolution>
-      <outputFormat>dd.MM.yyyy</outputFormat>
-      <inputFormat>dd.MM.yyyy</inputFormat>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>DATE_END</name>
-      <title>End</title>
-      <contentType>DATE</contentType>
-      <resolution>DAY</resolution>
-      <outputFormat>dd.MM.yyyy</outputFormat>
-      <inputFormat>dd.MM.yyyy</inputFormat>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>STATUS</name>
-      <title>Status</title>
-      <consumer>KeywordStates</consumer>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>SORTING</name>
-      <title>Sorting</title>
-      <contentType>NUMBER</contentType>
-      <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/sorting/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>USER_NEW</name>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/user_new/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>DATE_NEW</name>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_new/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>USER_EDIT</name>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/user_edit/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>DATE_EDIT</name>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_edit/valueProcess.js</valueProcess>
-    </entityField>
-    <entityProvider>
-      <name>CampaignSteps</name>
-      <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>421e6cc2-f874-4834-b022-fe1b253d50af</name>
-          <entityName>Campaign_entity</entityName>
-          <fieldName>CampaignSteps</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>7f1c046b-0e8f-429e-a0a6-3322382c61d4</name>
-          <entityName>CampaignParticipant_entity</entityName>
-          <fieldName>CampaignSteps</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>eedc7b17-af98-4ffb-b527-97835cf8f903</name>
-          <entityName>CampaignAddParticipants_entity</entityName>
-          <fieldName>CampaignStepConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>ad4ee503-95b9-4add-a0ef-e833db008349</name>
-          <entityName>CampaignCost_entity</entityName>
-          <fieldName>CampaignSteps</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>3fde1e51-cc4c-4727-b4e7-fd30bed1ee04</name>
-          <entityName>Campaign_entity</entityName>
-          <fieldName>CampaignStepsReadonly</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>db1a63f3-753b-423d-9ab9-db3d03315dc6</name>
-          <entityName>CampaignStep_entity</entityName>
-          <fieldName>CampaignStepsConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-      <children>
-        <entityParameter>
-          <name>campaignId_param</name>
-          <expose v="true" />
-          <mandatory v="true" />
-        </entityParameter>
-      </children>
-    </entityProvider>
-    <entityParameter>
-      <name>campaignId_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityConsumer>
-      <name>KeywordStates</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>MAXPARTICIPANTS</name>
-      <title>Max participants</title>
-      <contentType>NUMBER</contentType>
-      <mandatory v="true" />
-      <onValidation>%aditoprj%/entity/CampaignStep_entity/entityfields/maxparticipants/onValidation.js</onValidation>
-    </entityField>
-    <entityConsumer>
-      <name>CampaignParticipantsConsumer</name>
-      <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignParticipant_entity</entityName>
-        <fieldName>CampaignParticipantsProvider</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>CampaignId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignparticipantsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>CampaignStepId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignparticipantsconsumer/children/campaignstepid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>CurrentMaxParticipantsInfo</name>
-      <title>Participants</title>
-      <state>READONLY</state>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/currentmaxparticipantsinfo/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>CampaignStatus</name>
-      <title>Campaign status</title>
-      <state>READONLY</state>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstatus/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>DESCRIPTION</name>
-      <title>Description</title>
-      <contentType>LONG_TEXT</contentType>
-    </entityField>
-    <entityConsumer>
-      <name>Employees</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Employee_entity</entityName>
-        <fieldName>Employees</fieldName>
-      </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>CampaignStepCosts</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignCost_entity</entityName>
-        <fieldName>StepCosts</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>CampaignId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepcosts/children/campaignid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>CampaignStepId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepcosts/children/campaignstepid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>COST</name>
-      <title>Cost</title>
-      <contentType>NUMBER</contentType>
-      <outputFormat>#,##0.00</outputFormat>
-      <inputFormat>#,##0.00</inputFormat>
-    </entityField>
-    <entityConsumer>
-      <name>CampaignConsumer</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Campaign_entity</entityName>
-        <fieldName>Campaigns</fieldName>
-      </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Activities</name>
-      <title>Activities</title>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>RowId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Tasks</name>
-      <title>Tasks</title>
-      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>RowId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityActionField>
-      <name>newActivity</name>
-      <title>New activity</title>
-      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
-      <iconId>VAADIN:HOURGLASS</iconId>
-      <tooltip>New activity</tooltip>
-      <tooltipProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
-    </entityActionField>
-    <entityActionField>
-      <name>newTask</name>
-      <title>New task</title>
-      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
-      <iconId>VAADIN:TASKS</iconId>
-    </entityActionField>
-    <entityField>
-      <name>PREDECESSORSTEP_ID</name>
-      <title>Predecessor</title>
-      <color></color>
-      <consumer>CampaignStepsConsumer</consumer>
-      <textInputAllowed v="true" />
-      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/predecessorstep_id/stateProcess.js</stateProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js</displayValueProcess>
-      <onValueChangeTypes>
-        <element>MASK</element>
-        <element>PROCESS</element>
-        <element>PROCESS_SETVALUE</element>
-      </onValueChangeTypes>
-    </entityField>
-    <entityConsumer>
-      <name>CampaignStepsConsumer</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignStep_entity</entityName>
-        <fieldName>CampaignSteps</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>campaignId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
-          <mandatory v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>maxSort_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>CampaignName</name>
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignname/valueProcess.js</valueProcess>
-    </entityField>
-    <entityParameter>
-      <name>campaignSelectionVisible_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityConsumer>
-      <name>CampaignStepMedium</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepmedium/children/containername_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>STEPMEDIUM</name>
-      <title>Medium</title>
-      <consumer>CampaignStepMedium</consumer>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/stepmedium/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityActionField>
-      <name>newBulkMail</name>
-      <title>Write bulk mail</title>
-      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newbulkmail/onActionProcess.js</onActionProcess>
-      <iconId>VAADIN:AT</iconId>
-    </entityActionField>
-    <entityParameter>
-      <name>maxSort_param</name>
-      <expose v="true" />
-    </entityParameter>
-  </entityFields>
-  <recordContainers>
-    <dbRecordContainer>
-      <name>db</name>
-      <alias>Data_alias</alias>
-      <conditionProcess>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
-      <orderClauseProcess>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <linkInformation>
-        <linkInformation>
-          <name>b039db2c-3988-42a0-9257-9689b1eb4e58</name>
-          <tableName>CAMPAIGNSTEP</tableName>
-          <primaryKey>CAMPAIGNSTEPID</primaryKey>
-          <isUIDTable v="true" />
-          <readonly v="false" />
-        </linkInformation>
-      </linkInformation>
-      <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>CAMPAIGN_ID.value</name>
-          <recordfield>CAMPAIGNSTEP.CAMPAIGN_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_EDIT.value</name>
-          <recordfield>CAMPAIGNSTEP.DATE_EDIT</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_END.value</name>
-          <recordfield>CAMPAIGNSTEP.DATE_END</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_NEW.value</name>
-          <recordfield>CAMPAIGNSTEP.DATE_NEW</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_START.value</name>
-          <recordfield>CAMPAIGNSTEP.DATE_START</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>EMPLOYEE_CONTACT_ID.value</name>
-          <recordfield>CAMPAIGNSTEP.EMPLOYEE_CONTACT_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>NAME.value</name>
-          <recordfield>CAMPAIGNSTEP.NAME</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>SORTING.value</name>
-          <recordfield>CAMPAIGNSTEP.SORTING</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATUS.value</name>
-          <recordfield>CAMPAIGNSTEP.STATUS</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>USER_EDIT.value</name>
-          <recordfield>CAMPAIGNSTEP.USER_EDIT</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>USER_NEW.value</name>
-          <recordfield>CAMPAIGNSTEP.USER_NEW</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATUS.displayValue</name>
-          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>MAXPARTICIPANTS.value</name>
-          <recordfield>CAMPAIGNSTEP.MAXPARTICIPANTS</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CAMPAIGNSTEPID.value</name>
-          <recordfield>CAMPAIGNSTEP.CAMPAIGNSTEPID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DESCRIPTION.value</name>
-          <recordfield>CAMPAIGNSTEP.DESCRIPTION</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>COST.value</name>
-          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/cost.value/expression.js</expression>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CAMPAIGN_ID.displayValue</name>
-          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/campaign_id.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>PREDECESSORSTEP_ID.value</name>
-          <recordfield>CAMPAIGNSTEP.PREDECESSORSTEP_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STEPMEDIUM.value</name>
-          <recordfield>CAMPAIGNSTEP.STEPMEDIUM</recordfield>
-        </dbRecordFieldMapping>
-      </recordFieldMappings>
-    </dbRecordContainer>
-  </recordContainers>
-</entity>
+<?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.11" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.11">
+  <name>CampaignStep_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/CampaignStep_entity/documentation.adoc</documentation>
+  <icon>NEON:GROUP_APPOINTMENT</icon>
+  <title>Campaign Step</title>
+  <siblings>
+    <element>CampaignPlanning_entity</element>
+    <element>Campaign_entity</element>
+  </siblings>
+  <grantDeleteProcess>%aditoprj%/entity/CampaignStep_entity/grantDeleteProcess.js</grantDeleteProcess>
+  <contentTitleProcess>%aditoprj%/entity/CampaignStep_entity/contentTitleProcess.js</contentTitleProcess>
+  <onValidation>%aditoprj%/entity/CampaignStep_entity/onValidation.js</onValidation>
+  <imageProcess>%aditoprj%/entity/CampaignStep_entity/imageProcess.js</imageProcess>
+  <titlePlural>Steps</titlePlural>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+      <dependencies>
+        <entityDependency>
+          <name>13f82959-7e04-449f-a657-c34f6b97f3be</name>
+          <entityName>Object_entity</entityName>
+          <fieldName>CampaignSteps</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityField>
+      <name>CAMPAIGNSTEPID</name>
+      <mandatory v="true" />
+    </entityField>
+    <entityField>
+      <name>CAMPAIGN_ID</name>
+      <title>Campaign</title>
+      <consumer>CampaignConsumer</consumer>
+      <linkedContext>Campaign</linkedContext>
+      <mandatory v="true" />
+      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/CampaignStep_entity/entityfields/campaign_id/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS_SETVALUE</element>
+      </onValueChangeTypes>
+    </entityField>
+    <entityField>
+      <name>EMPLOYEE_CONTACT_ID</name>
+      <title>Responsible</title>
+      <consumer>Employees</consumer>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>NAME</name>
+      <title>Name</title>
+      <mandatory v="true" />
+    </entityField>
+    <entityField>
+      <name>DATE_START</name>
+      <title>Begin</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_END</name>
+      <title>End</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>STATUS</name>
+      <title>Status</title>
+      <consumer>KeywordStates</consumer>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>SORTING</name>
+      <title>Sorting</title>
+      <contentType>NUMBER</contentType>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/sorting/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/user_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_EDIT</name>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/user_edit/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_EDIT</name>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_edit/valueProcess.js</valueProcess>
+    </entityField>
+    <entityProvider>
+      <name>CampaignSteps</name>
+      <documentation>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignsteps/documentation.adoc</documentation>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>421e6cc2-f874-4834-b022-fe1b253d50af</name>
+          <entityName>Campaign_entity</entityName>
+          <fieldName>CampaignSteps</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>7f1c046b-0e8f-429e-a0a6-3322382c61d4</name>
+          <entityName>CampaignParticipant_entity</entityName>
+          <fieldName>CampaignSteps</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>eedc7b17-af98-4ffb-b527-97835cf8f903</name>
+          <entityName>CampaignAddParticipants_entity</entityName>
+          <fieldName>CampaignStepConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>ad4ee503-95b9-4add-a0ef-e833db008349</name>
+          <entityName>CampaignCost_entity</entityName>
+          <fieldName>CampaignSteps</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>3fde1e51-cc4c-4727-b4e7-fd30bed1ee04</name>
+          <entityName>Campaign_entity</entityName>
+          <fieldName>CampaignStepsReadonly</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>db1a63f3-753b-423d-9ab9-db3d03315dc6</name>
+          <entityName>CampaignStep_entity</entityName>
+          <fieldName>CampaignStepsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>campaignId_param</name>
+          <expose v="true" />
+          <mandatory v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityParameter>
+      <name>campaignId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>KeywordStates</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>MAXPARTICIPANTS</name>
+      <title>Max participants</title>
+      <contentType>NUMBER</contentType>
+      <mandatory v="true" />
+      <onValidation>%aditoprj%/entity/CampaignStep_entity/entityfields/maxparticipants/onValidation.js</onValidation>
+    </entityField>
+    <entityConsumer>
+      <name>CampaignParticipantsConsumer</name>
+      <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignParticipant_entity</entityName>
+        <fieldName>CampaignParticipantsProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>CampaignId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignparticipantsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>CampaignStepId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignparticipantsconsumer/children/campaignstepid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>CurrentMaxParticipantsInfo</name>
+      <title>Participants</title>
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/currentmaxparticipantsinfo/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>CampaignStatus</name>
+      <title>Campaign status</title>
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstatus/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DESCRIPTION</name>
+      <title>Description</title>
+      <contentType>LONG_TEXT</contentType>
+    </entityField>
+    <entityConsumer>
+      <name>Employees</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Employee_entity</entityName>
+        <fieldName>Employees</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>CampaignStepCosts</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignCost_entity</entityName>
+        <fieldName>StepCosts</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>CampaignId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepcosts/children/campaignid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>CampaignStepId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepcosts/children/campaignstepid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>COST</name>
+      <title>Cost</title>
+      <contentType>NUMBER</contentType>
+      <outputFormat>#,##0.00</outputFormat>
+      <inputFormat>#,##0.00</inputFormat>
+    </entityField>
+    <entityConsumer>
+      <name>CampaignConsumer</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Campaign_entity</entityName>
+        <fieldName>Campaigns</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Activities</name>
+      <title>Activities</title>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newActivity</name>
+      <title>New activity</title>
+      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:HOURGLASS</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>newTask</name>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
+    <entityField>
+      <name>PREDECESSORSTEP_ID</name>
+      <title>Predecessor</title>
+      <color></color>
+      <consumer>CampaignStepsConsumer</consumer>
+      <textInputAllowed v="true" />
+      <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/predecessorstep_id/stateProcess.js</stateProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js</displayValueProcess>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
+      </onValueChangeTypes>
+    </entityField>
+    <entityConsumer>
+      <name>CampaignStepsConsumer</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>campaignId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
+          <mandatory v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>maxSort_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>CampaignName</name>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignname/valueProcess.js</valueProcess>
+    </entityField>
+    <entityParameter>
+      <name>campaignSelectionVisible_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>CampaignStepMedium</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepmedium/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>STEPMEDIUM</name>
+      <title>Medium</title>
+      <consumer>CampaignStepMedium</consumer>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/stepmedium/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityActionField>
+      <name>newBulkMail</name>
+      <title>Write bulk mail</title>
+      <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newbulkmail/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:AT</iconId>
+    </entityActionField>
+    <entityParameter>
+      <name>maxSort_param</name>
+      <expose v="true" />
+    </entityParameter>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <orderClauseProcess>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>b039db2c-3988-42a0-9257-9689b1eb4e58</name>
+          <tableName>CAMPAIGNSTEP</tableName>
+          <primaryKey>CAMPAIGNSTEPID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>CAMPAIGN_ID.value</name>
+          <recordfield>CAMPAIGNSTEP.CAMPAIGN_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_EDIT.value</name>
+          <recordfield>CAMPAIGNSTEP.DATE_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_END.value</name>
+          <recordfield>CAMPAIGNSTEP.DATE_END</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>CAMPAIGNSTEP.DATE_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_START.value</name>
+          <recordfield>CAMPAIGNSTEP.DATE_START</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>EMPLOYEE_CONTACT_ID.value</name>
+          <recordfield>CAMPAIGNSTEP.EMPLOYEE_CONTACT_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>NAME.value</name>
+          <recordfield>CAMPAIGNSTEP.NAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>SORTING.value</name>
+          <recordfield>CAMPAIGNSTEP.SORTING</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.value</name>
+          <recordfield>CAMPAIGNSTEP.STATUS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_EDIT.value</name>
+          <recordfield>CAMPAIGNSTEP.USER_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>CAMPAIGNSTEP.USER_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>MAXPARTICIPANTS.value</name>
+          <recordfield>CAMPAIGNSTEP.MAXPARTICIPANTS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CAMPAIGNSTEPID.value</name>
+          <recordfield>CAMPAIGNSTEP.CAMPAIGNSTEPID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DESCRIPTION.value</name>
+          <recordfield>CAMPAIGNSTEP.DESCRIPTION</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>COST.value</name>
+          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/cost.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CAMPAIGN_ID.displayValue</name>
+          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/campaign_id.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PREDECESSORSTEP_ID.value</name>
+          <recordfield>CAMPAIGNSTEP.PREDECESSORSTEP_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STEPMEDIUM.value</name>
+          <recordfield>CAMPAIGNSTEP.STEPMEDIUM</recordfield>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/CampaignStep_entity/documentation.adoc b/entity/CampaignStep_entity/documentation.adoc
new file mode 100644
index 0000000000..b8d90cd642
--- /dev/null
+++ b/entity/CampaignStep_entity/documentation.adoc
@@ -0,0 +1,3 @@
+= CampaignStep_entity
+
+Provides the information for campaignsteps, consumed by the campaign itself and 360Degree for one participant (organisation / person)
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/entityfields/campaignsteps/documentation.adoc b/entity/CampaignStep_entity/entityfields/campaignsteps/documentation.adoc
new file mode 100644
index 0000000000..516ab6a7e2
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/campaignsteps/documentation.adoc
@@ -0,0 +1,4 @@
+= CampaignStep_entity - CampaignSteps
+
+Provider for the campaign steps used by campaign.
+The "CampaignStep_entity" consumes this provider by itself to fill the "PREDECESSORSTEP_ID"
\ No newline at end of file
-- 
GitLab