diff --git a/.liquibase/Data_alias/basic/2019.2/Classification/create_classification_tables.xml b/.liquibase/Data_alias/basic/2019.2/Classification/create_classification_tables.xml
index 682fc8de2e507f825f7cb8ec3f91ef333f7d9536..e026fa59c7fd755b70a41d9706104f49b0eefb57 100644
--- a/.liquibase/Data_alias/basic/2019.2/Classification/create_classification_tables.xml
+++ b/.liquibase/Data_alias/basic/2019.2/Classification/create_classification_tables.xml
@@ -23,7 +23,7 @@
             <column name="CLASSIFICATIONSCOREID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_CLASSIFICATIONSCORE_CLASSIFICATIONSCOREID"/>
             </column>
-            <column name="SCORETYPE" type="VARCHAR(80)"/>
+            <column name="CLASSIFICATIONTYPE_ID" type="CHAR(36)"/>
             <column name="TITLE" type="NVARCHAR(50)"/>
             <column name="SCORE" type="NUMERIC(10,2)"/>
             <column name="SORT" type="INTEGER"/>
diff --git a/.liquibase/Data_alias/basic/2019.2/Classification/insert_classification_scores.xml b/.liquibase/Data_alias/basic/2019.2/Classification/insert_classification_scores.xml
index c3fa2cdbcd1404e081c526b55da6e299b01a8d7e..208aa9425a0075d892265546e63463b79c77ccf9 100644
--- a/.liquibase/Data_alias/basic/2019.2/Classification/insert_classification_scores.xml
+++ b/.liquibase/Data_alias/basic/2019.2/Classification/insert_classification_scores.xml
@@ -2,413 +2,413 @@
   <changeSet author="j.hoermann" id="286d5a05-7618-414b-9e96-81b1c407b473">
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="01840c9d-2856-4882-a12a-303e58fd9d30"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Purchasing"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="50"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="0803779b-73d8-47b3-9705-f5771c01e6a3"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Automotive"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="140"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="10419ecc-335b-43c3-a1e3-8ecfbeda6f2b"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Project management"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="60"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="11418754-1667-437b-816b-adec4b9291f3"/>
-      <column name="SCORETYPE" value="ScoreProjectStart"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="TITLE" value="No project planned"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="1bc2b2aa-2582-4b0c-a2f8-04125b82ba33"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Service"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="1f924d71-c500-4cdd-bc52-4718a6b88e45"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Consultation"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="70"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="2a516661-537d-473e-864a-c2f721b96a42"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Service"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="180"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="2f3b6088-d78f-4fba-998d-b18a6b981485"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Environment"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="170"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
-      <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="TITLE" value="0 to 49T"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="50"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
-      <column name="SCORETYPE" value="ScoreBased"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="TITLE" value="Germany"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="3035e36e-ee6a-45d1-9d68-920cd3666362"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Student/Internship"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="70"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="35d8ae15-8993-4ab2-99f6-e57c2ebf0bb3"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Food"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="80"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="39547328-ccc6-47ad-b31a-d6a149081c44"/>
-      <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="TITLE" value="0 to 49"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="50"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
-      <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="TITLE" value="251 to 1,000"/>
       <column name="SCORE" valueNumeric="30.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="SCORETYPE" value="ScoreCustomizing"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="TITLE" value="Yes"/>
       <column name="SCORE" valueNumeric="25.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
-      <column name="SCORETYPE" value="ScoreStandard"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
       <column name="TITLE" value="Standard"/>
       <column name="SCORE" valueNumeric="12.50"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Public"/>
       <column name="SCORE" valueNumeric="50.00"/>
       <column name="SORT" valueNumeric="190"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="41300a6c-8dc7-4b5a-9fb1-cecd3d5cbb8c"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Electric"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="160"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="41d43723-7d19-4a7e-936a-df9013db7dfb"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Logistics"/>
       <column name="SCORE" valueNumeric="50.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Sales"/>
       <column name="SCORE" valueNumeric="7.50"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="56a56ec0-34c1-419f-81c2-1c1310d685d2"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Education"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="120"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="5ca391a5-9de8-41e6-9792-17cf8deaa7e7"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Energy"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="90"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="61fe4e4f-e64d-4195-87b5-658f36ce1736"/>
-      <column name="SCORETYPE" value="ScoreStandard"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
       <column name="TITLE" value="Individual"/>
       <column name="SCORE" valueNumeric="25.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="636af750-fcd3-4480-bfe7-ead42bf85280"/>
-      <column name="SCORETYPE" value="ScoreDecisionPhase"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="TITLE" value="Choice"/>
       <column name="SCORE" valueNumeric="30.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="6bd19de4-691b-4e78-84dc-cf6f41231978"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Management/Sales Manager"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="6d6653ae-024e-444c-aeae-561874d55569"/>
-      <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="TITLE" value="50 to 99T"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="77a0088c-a665-4feb-9f60-99c1eb710015"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Lifesience"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="50"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="7d6f716a-97c7-417b-a8c0-3cb71e403dde"/>
-      <column name="SCORETYPE" value="ScoreBased"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="TITLE" value="Other"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="7e569319-5885-452e-9331-a507f3365236"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Overarching"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="90361317-d80e-4466-a45b-3021bf02e2f9"/>
-      <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="TITLE" value="101 to 250"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="9a3183db-8a38-4cf1-a234-3e2cf20a4f77"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="IT"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="SCORETYPE" value="ScoreCloud"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
       <column name="TITLE" value="OnPremise"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="a0fcd2e2-40c8-40b8-8a5b-e591154c248a"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Lottery"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="110"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="a177b155-4665-4af1-b50e-0b59e8ac2752"/>
-      <column name="SCORETYPE" value="ScoreBased"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="TITLE" value="Switzerland"/>
       <column name="SCORE" valueNumeric="7.50"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="a61e3451-296b-4812-a7b2-425963176f80"/>
-      <column name="SCORETYPE" value="ScoreCloud"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
       <column name="TITLE" value="Cloud"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="a7e70abc-4d98-467d-a475-66bbd101de1d"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Head of IT"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="b1c55bcd-16c6-4b2f-8f73-e16397b40e93"/>
-      <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="TITLE" value="from 1,000"/>
       <column name="SCORE" valueNumeric="30.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
-      <column name="SCORETYPE" value="ScoreProjectStart"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="TITLE" value="Within 6 months"/>
       <column name="SCORE" valueNumeric="30.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
-      <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="TITLE" value="200 to 349T"/>
       <column name="SCORE" valueNumeric="30.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="bf44ae05-a4c4-4ee9-ad6e-7d64474afeff"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Finance"/>
       <column name="SCORE" valueNumeric="16.60"/>
       <column name="SORT" valueNumeric="60"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Service Manager"/>
       <column name="SCORE" valueNumeric="15.00"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
-      <column name="SCORETYPE" value="ScoreProjectStart"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="TITLE" value="No date yet"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="c6300eeb-0494-4eba-89b1-23afdbb397e9"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Publishing house"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="150"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="c9d4e28d-7935-42c5-9da5-5ce0b51b425a"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="CRM Manager"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="d032f425-5739-4f0c-8103-e102fe0d3ccf"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Skilled workers"/>
       <column name="SCORE" valueNumeric="15.00"/>
       <column name="SORT" valueNumeric="50"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="SCORETYPE" value="ScoreDecisionPhase"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="TITLE" value="Rate"/>
       <column name="SCORE" valueNumeric="15.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="d7d807a2-8a97-4a0e-9d1c-fb8c7a703599"/>
-      <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="TITLE" value="50 to 100"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="40"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="e6ab210e-6a26-4a12-9d50-ff8bd392c590"/>
-      <column name="SCORETYPE" value="ScoreDecisionPhase"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="TITLE" value="Search"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
-      <column name="SCORETYPE" value="ScoreCustomizing"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="TITLE" value="No"/>
       <column name="SCORE" valueNumeric="12.50"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="e824d7e3-dfbe-4f34-a5c7-8f2226aade7e"/>
-      <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="TITLE" value="100 to 199T"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="e8741cb0-9ada-48dd-89d1-f00a1a755c38"/>
-      <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="TITLE" value="Counsellor"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="60"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="ec51d975-bda6-415e-9b91-32f0e981ecd8"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Building and construction suppliers"/>
       <column name="SCORE" valueNumeric="50.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="ecf421ef-66b2-4f9f-98c6-ee8a73e753da"/>
-      <column name="SCORETYPE" value="ScoreBased"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="TITLE" value="Austria"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="ed6a38f7-97bf-4e3d-a34c-4a1e636fa6a7"/>
-      <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="TITLE" value="from 350T"/>
       <column name="SCORE" valueNumeric="50.00"/>
       <column name="SORT" valueNumeric="10"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="efec90bd-c99f-49d9-bd52-df0ae6f938a3"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Machinery and equipment"/>
       <column name="SCORE" valueNumeric="50.00"/>
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
-      <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="TITLE" value="Marketing"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="30"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="f678b3e0-72c4-4b48-90c0-054bf3612dc2"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Trade"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="130"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="fae1ef0a-5d07-4725-907f-4b2ac5814328"/>
-      <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="TITLE" value="Industry"/>
       <column name="SCORE" valueNumeric="33.30"/>
       <column name="SORT" valueNumeric="100"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="fb8cb769-d95b-468a-ac64-7ee0cefd46a7"/>
-      <column name="SCORETYPE" value="ScoreProjectStart"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="TITLE" value="Within 12 months"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="20"/>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index f55c414e8396c863d531597887f8035fdc48d175..6392c1a5eb0b9099f376032bf5553f476839e29f 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -9621,20 +9621,6 @@
               <syncIds></syncIds>
             </auditSyncConfig>
             <entityFields>
-              <entityFieldDb>
-                <name>SCORETYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>SCORE</name>
                 <dbName></dbName>
@@ -9691,6 +9677,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>CLASSIFICATIONTYPE_ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
         </entities>
diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 2604ccd28c995b820b47daae8e0b7b84cfe47368..e5e365db8eb2f34a2c4b0dae2d3810894dbc868b 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -39,7 +39,6 @@
     <entityField>
       <name>CITY</name>
       <title>City</title>
-      <consumer>CityValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/city/mandatoryProcess.js</mandatoryProcess>
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/city/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/city/onValueChange.js</onValueChange>
@@ -77,7 +76,6 @@
     <entityField>
       <name>ZIP</name>
       <title>Postcode</title>
-      <consumer>ZipValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/zip/mandatoryProcess.js</mandatoryProcess>
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/zip/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/zip/onValueChange.js</onValueChange>
diff --git a/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod b/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
index b487049e932dcab0245c5b3d5f8ad2b2a3a3f7e3..2ec7e06fdc3eb445383fa89191f62261ed7d6c18 100644
--- a/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
+++ b/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
@@ -8,6 +8,7 @@
   <grantCreate v="false" />
   <grantUpdate v="false" />
   <grantDelete v="false" />
+  <contentTitleProcess>%aditoprj%/entity/ClassificationAdmin_entity/contentTitleProcess.js</contentTitleProcess>
   <usePermissions v="true" />
   <titlePlural>Classifications</titlePlural>
   <recordContainer>jdito</recordContainer>
@@ -29,12 +30,6 @@
         <entityName>Classification_entity</entityName>
         <fieldName>ClassificationsAdministration</fieldName>
       </dependency>
-      <children>
-        <entityParameter>
-          <name>ClassificationType_param</name>
-          <valueProcess>%aditoprj%/entity/ClassificationAdmin_entity/entityfields/classificationsadmin/children/classificationtype_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
     </entityConsumer>
     <entityConsumer>
       <name>KeywordClassificationTypes</name>
diff --git a/entity/ClassificationAdmin_entity/contentTitleProcess.js b/entity/ClassificationAdmin_entity/contentTitleProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..552a186ab33275b9d36c32b996dfca794988584c
--- /dev/null
+++ b/entity/ClassificationAdmin_entity/contentTitleProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.UID.displayValue"))
\ No newline at end of file
diff --git a/entity/ClassificationAdmin_entity/entityfields/classificationsadmin/children/classificationtype_param/valueProcess.js b/entity/ClassificationAdmin_entity/entityfields/classificationsadmin/children/classificationtype_param/valueProcess.js
deleted file mode 100644
index 16c85500b5355a72548030867e3d300661e9d4aa..0000000000000000000000000000000000000000
--- a/entity/ClassificationAdmin_entity/entityfields/classificationsadmin/children/classificationtype_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.UID"));
\ No newline at end of file
diff --git a/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js b/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
index 7ac1682daac72873983e54688cb7fb34ae5ef3a9..04f641a1be6f91691b20d0f11cfe4edc4a818fc3 100644
--- a/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("system.db");
 
-result.object(db.table("select distinct CLASSIFICATIONTYPE from CLASSIFICATIONTYPE"));
\ No newline at end of file
+result.object([[""]]);
\ No newline at end of file
diff --git a/entity/ClassificationScore_entity/ClassificationScore_entity.aod b/entity/ClassificationScore_entity/ClassificationScore_entity.aod
index 08820c53f273e4049480457fc29702514719c165..2cb32f566b027596aeed1b7cbfbc626ebf360938 100644
--- a/entity/ClassificationScore_entity/ClassificationScore_entity.aod
+++ b/entity/ClassificationScore_entity/ClassificationScore_entity.aod
@@ -2,8 +2,9 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
   <name>ClassificationScore_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <title>Possible Values</title>
+  <title>Possible Value</title>
   <contentTitleProcess>%aditoprj%/entity/ClassificationScore_entity/contentTitleProcess.js</contentTitleProcess>
+  <titlePlural>Possible Values</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
@@ -19,8 +20,9 @@
       <mandatory v="true" />
     </entityField>
     <entityField>
-      <name>SCORETYPE</name>
-      <valueProcess>%aditoprj%/entity/ClassificationScore_entity/entityfields/scoretype/valueProcess.js</valueProcess>
+      <name>CLASSIFICATIONTYPE_ID</name>
+      <valueProcess>%aditoprj%/entity/ClassificationScore_entity/entityfields/classificationtype_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/ClassificationScore_entity/entityfields/classificationtype_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>SORT</name>
@@ -49,19 +51,27 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>Scoretype_param</name>
+          <name>ClassificationGroup_param</name>
           <expose v="true" />
           <triggerRecalculation v="true" />
+          <mandatory v="true" />
         </entityParameter>
         <entityParameter>
-          <name>ClassificationGroup_param</name>
+          <name>ClassificationTypeId_param</name>
+          <expose v="true" />
+          <triggerRecalculation v="true" />
+          <mandatory v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ClassificationType_param</name>
           <expose v="true" />
           <triggerRecalculation v="true" />
+          <mandatory v="true" />
         </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
-      <name>Scoretype_param</name>
+      <name>ClassificationTypeId_param</name>
       <expose v="true" />
       <triggerRecalculation v="true" />
       <description>PARAMETER</description>
@@ -76,6 +86,11 @@
       <triggerRecalculation v="true" />
       <description>PARAMETER</description>
     </entityParameter>
+    <entityParameter>
+      <name>ClassificationType_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -111,8 +126,12 @@
           <recordfield>CLASSIFICATIONSCORE.TITLE</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>SCORETYPE.value</name>
-          <recordfield>CLASSIFICATIONSCORE.SCORETYPE</recordfield>
+          <name>CLASSIFICATIONTYPE_ID.value</name>
+          <recordfield>CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CLASSIFICATIONTYPE_ID.displayValue</name>
+          <expression>%aditoprj%/entity/ClassificationScore_entity/recordcontainers/db/recordfieldmappings/classificationtype_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/ClassificationScore_entity/entityfields/classificationtype_id/displayValueProcess.js b/entity/ClassificationScore_entity/entityfields/classificationtype_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..72ba8be2912ae736749e9ad1a5795efaf8db5e4e
--- /dev/null
+++ b/entity/ClassificationScore_entity/entityfields/classificationtype_id/displayValueProcess.js
@@ -0,0 +1,7 @@
+import("Sql_lib");
+import("system.db");
+import("system.result");
+
+result.string(db.cell(SqlCondition.begin()
+                                  .andPrepareVars("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", "$field.CLASSIFICATIONTYPE_ID")
+                                  .buildSql("select CLASSIFICATIONTYPE.SCORETYPE from CLASSIFICATIONTYPE", "1=2")));
\ No newline at end of file
diff --git a/entity/ClassificationScore_entity/entityfields/scoretype/valueProcess.js b/entity/ClassificationScore_entity/entityfields/classificationtype_id/valueProcess.js
similarity index 67%
rename from entity/ClassificationScore_entity/entityfields/scoretype/valueProcess.js
rename to entity/ClassificationScore_entity/entityfields/classificationtype_id/valueProcess.js
index bf842a1c590e8a1a29dec0171a7e53747f219190..419fe78a30db83fdeda7d426e0f4083b914a555e 100644
--- a/entity/ClassificationScore_entity/entityfields/scoretype/valueProcess.js
+++ b/entity/ClassificationScore_entity/entityfields/classificationtype_id/valueProcess.js
@@ -4,5 +4,5 @@ import("system.vars");
 
 if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    result.string(vars.get("$param.Scoretype_param"));
+    result.string(vars.get("$param.ClassificationTypeId_param"));
 }
\ No newline at end of file
diff --git a/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js b/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js
index 6c23e5187e480704e19be2d0453c73b5b27fb139..ef3d945788553bdda1d86b71f407986ee53a4463 100644
--- a/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js
+++ b/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js
@@ -5,15 +5,15 @@ import("Sql_lib");
 
 if (!vars.get("$this.value"))
 {
-    var scoreType = vars.get("$param.Scoretype_param");
+    var classificationTypeId = vars.get("$param.ClassificationTypeId_param");
     var maxValue = db.cell(
             SqlCondition.begin()
-                        .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", scoreType, "# <> ?")
+                        .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", classificationTypeId, "# <> ?")
                         .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP", vars.get("$param.ClassificationGroup_param"))
+                        .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPE", vars.get("$param.ClassificationType_param"))
                         .buildSql("select 100.0 - sum(maxScore) from ( \n\
                                     select max(SCORE) maxScore from CLASSIFICATIONTYPE \n\
-                                    join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE.scoretype = CLASSIFICATIONTYPE.scoretype", "1=2", "group by CLASSIFICATIONTYPE.scoretype) maxScores"));
-    
+                                    join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID = CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", "1=2", "group by CLASSIFICATIONTYPE.SCORETYPE) maxScores"));
     if (maxValue == "")
         maxValue = 100;
     
diff --git a/entity/ClassificationScore_entity/recordcontainers/db/conditionProcess.js b/entity/ClassificationScore_entity/recordcontainers/db/conditionProcess.js
index 811e28aa9ae80ff40acd82e1d8a01a07fadc73c9..0bb207b74cc66f85a0d9ba9c76b2d30b3e569197 100644
--- a/entity/ClassificationScore_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/ClassificationScore_entity/recordcontainers/db/conditionProcess.js
@@ -4,5 +4,5 @@ import("system.db");
 import("system.result");
 
 result.string(db.translateCondition(SqlCondition.begin()
-                  .andPrepareVars("CLASSIFICATIONSCORE.SCORETYPE", "$param.Scoretype_param")
+                  .andPrepareVars("CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID", "$param.ClassificationTypeId_param")
                   .build("1=2")));
\ No newline at end of file
diff --git a/entity/ClassificationScore_entity/recordcontainers/db/recordfieldmappings/classificationtype_id.displayvalue/expression.js b/entity/ClassificationScore_entity/recordcontainers/db/recordfieldmappings/classificationtype_id.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..5752b7e1589886cc79cb84d0a01e0d0db45070ee
--- /dev/null
+++ b/entity/ClassificationScore_entity/recordcontainers/db/recordfieldmappings/classificationtype_id.displayvalue/expression.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("(select CLASSIFICATIONTYPE.SCORETYPE from CLASSIFICATIONTYPE where CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID = CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID)");
\ No newline at end of file
diff --git a/entity/Classification_entity/Classification_entity.aod b/entity/Classification_entity/Classification_entity.aod
index f0bf63ede50207d5dddcb8de2ed133e0d48a2708..41d669a022c1c5a6803b4c2c68f0c4223bae3fec 100644
--- a/entity/Classification_entity/Classification_entity.aod
+++ b/entity/Classification_entity/Classification_entity.aod
@@ -3,6 +3,7 @@
   <name>Classification_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <title>Classification</title>
+  <grantDeleteProcess>%aditoprj%/entity/Classification_entity/grantDeleteProcess.js</grantDeleteProcess>
   <afterOperatingState>%aditoprj%/entity/Classification_entity/afterOperatingState.js</afterOperatingState>
   <titlePlural>Classifications</titlePlural>
   <recordContainer>jdito</recordContainer>
@@ -12,12 +13,14 @@
     </entityProvider>
     <entityField>
       <name>CLASSIFICATIONID</name>
+      <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>CLASSIFICATIONSCORE_ID</name>
       <title>Selection</title>
       <consumer>ClassificationScores</consumer>
+      <searchable v="false" />
       <titleProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscore_id/titleProcess.js</titleProcess>
       <displayValueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscore_id/displayValueProcess.js</displayValueProcess>
     </entityField>
@@ -51,10 +54,6 @@
         </entityDependency>
       </dependencies>
       <children>
-        <entityParameter>
-          <name>ScoreType_param</name>
-          <expose v="false" />
-        </entityParameter>
         <entityParameter>
           <name>IsAdminMode_param</name>
           <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classifications/children/isadminmode_param/valueProcess.js</valueProcess>
@@ -65,42 +64,39 @@
     </entityProvider>
     <entityField>
       <name>CLASSIFICATIONTYPEID</name>
+      <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationtypeid/valueProcess.js</valueProcess>
     </entityField>
-    <entityField>
-      <name>SCORETYPE</name>
-      <title>Scoretype</title>
-      <mandatoryProcess>%aditoprj%/entity/Classification_entity/entityfields/scoretype/mandatoryProcess.js</mandatoryProcess>
-      <groupable v="true" />
-      <stateProcess>%aditoprj%/entity/Classification_entity/entityfields/scoretype/stateProcess.js</stateProcess>
-      <displayValueProcess>%aditoprj%/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js</displayValueProcess>
-      <onValidation>%aditoprj%/entity/Classification_entity/entityfields/scoretype/onValidation.js</onValidation>
-    </entityField>
     <entityField>
       <name>CLASSIFICATIONGROUP</name>
-      <title>Classification group</title>
       <contentType>TEXT</contentType>
       <mandatoryProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/mandatoryProcess.js</mandatoryProcess>
       <dropDownProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/dropDownProcess.js</dropDownProcess>
       <textInputAllowed v="true" />
+      <searchable v="false" />
       <groupable v="true" />
-      <stateProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/stateProcess.js</stateProcess>
+      <titleProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/titleProcess.js</titleProcess>
       <displayValueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/displayValueProcess.js</displayValueProcess>
+      <onValidation>%aditoprj%/entity/Classification_entity/entityfields/classificationgroup/onValidation.js</onValidation>
     </entityField>
     <entityField>
       <name>CLASSIFICATIONTYPE_ID</name>
+      <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationtype_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>OBJECT_ROWID</name>
+      <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/object_rowid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>OBJECT_TYPE</name>
+      <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/object_type/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>UID</name>
+      <searchable v="false" />
     </entityField>
     <entityConsumer>
       <name>ClassificationScores</name>
@@ -113,16 +109,18 @@
         <fieldName>ClassificationScores</fieldName>
       </dependency>
       <children>
-        <entityParameter>
-          <name>Scoretype_param</name>
-          <title></title>
-          <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscores/children/scoretype_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="true" />
-        </entityParameter>
         <entityParameter>
           <name>ClassificationGroup_param</name>
           <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscores/children/classificationgroup_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>ClassificationTypeId_param</name>
+          <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscores/children/classificationtypeid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ClassificationType_param</name>
+          <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationscores/children/classificationtype_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityActionField>
@@ -130,14 +128,16 @@
       <fieldType>ACTION</fieldType>
       <onActionProcess>%aditoprj%/entity/Classification_entity/entityfields/edit/onActionProcess.js</onActionProcess>
     </entityActionField>
-    <entityParameter>
-      <name>ScoreType_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
     <entityField>
       <name>CLASSIFICATIONTYPE</name>
+      <title>Usage</title>
+      <consumer>KeywordClassificationTypes</consumer>
+      <mandatory v="true" />
+      <searchable v="true" />
+      <groupable v="true" />
+      <stateProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationtype/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationtype/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationtype/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityProvider>
       <name>ClassificationsAdministration</name>
@@ -156,10 +156,6 @@
           <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/classificationsadministration/children/isadminmode_param/valueProcess.js</valueProcess>
           <expose v="false" />
         </entityParameter>
-        <entityParameter>
-          <name>ScoreType_param</name>
-          <expose v="false" />
-        </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
@@ -172,17 +168,42 @@
       <name>Info</name>
       <title>Rating</title>
       <contentType>HTML</contentType>
+      <searchable v="false" />
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/info/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>SCORE_RESULTS</name>
+      <searchable v="false" />
+    </entityField>
+    <entityConsumer>
+      <name>KeywordClassificationTypes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/keywordclassificationtypes/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>SCORETYPE</name>
+      <title>Scoretype</title>
+      <mandatory v="true" />
+      <displayValueProcess>%aditoprj%/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js</displayValueProcess>
     </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
       <name>jdito</name>
       <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <isFilterable v="true" />
+      <isRequireContainerFiltering v="true" />
       <contentProcess>%aditoprj%/entity/Classification_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <onInsert>%aditoprj%/entity/Classification_entity/recordcontainers/jdito/onInsert.js</onInsert>
       <onUpdate>%aditoprj%/entity/Classification_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
diff --git a/entity/Classification_entity/entityfields/classificationgroup/dropDownProcess.js b/entity/Classification_entity/entityfields/classificationgroup/dropDownProcess.js
index bd94927bdabc373750fe4a3d8ac9c20bfa932ffc..455cfc292bc5fe32b0cf1ad7bef2b704999517dc 100644
--- a/entity/Classification_entity/entityfields/classificationgroup/dropDownProcess.js
+++ b/entity/Classification_entity/entityfields/classificationgroup/dropDownProcess.js
@@ -1,4 +1,12 @@
+import("Classification_lib");
+import("system.neon");
+import("system.vars");
 import("system.db");
 import("system.result");
-
-result.object(db.table("select distinct CLASSIFICATIONGROUP, CLASSIFICATIONGROUP from CLASSIFICATIONTYPE order by CLASSIFICATIONGROUP"));
\ No newline at end of file
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.IsAdminMode_param") && vars.get("$param.IsAdminMode_param") == "1")
+{
+     // use param if available or current selectionRows
+    var classificationType =  vars.get("$field.CLASSIFICATIONTYPE")
+    if (classificationType)
+        result.object(ClassificationUtils.getAllGroups(classificationType, true));
+}
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationgroup/mandatoryProcess.js b/entity/Classification_entity/entityfields/classificationgroup/mandatoryProcess.js
index 52b7a0751a53c352e422b4d53b084429a951e423..2fff19b7702bb8390724ad175031c22a0b7d1df9 100644
--- a/entity/Classification_entity/entityfields/classificationgroup/mandatoryProcess.js
+++ b/entity/Classification_entity/entityfields/classificationgroup/mandatoryProcess.js
@@ -2,4 +2,4 @@ import("system.neon");
 import("system.result");
 import("system.vars");
 
-result.object(vars.get("$param.IsAdminMode_param") == 1 && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW);
\ No newline at end of file
+result.object(vars.get("$param.IsAdminMode_param") == 1 && (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT));
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationgroup/onValidation.js b/entity/Classification_entity/entityfields/classificationgroup/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..92e2b5ca5600d35b28d68c43b20a43f97f5aefc3
--- /dev/null
+++ b/entity/Classification_entity/entityfields/classificationgroup/onValidation.js
@@ -0,0 +1,28 @@
+import("system.neon");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Classification_lib");
+import("Entity_lib");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT && vars.exists("$param.IsAdminMode_param") && vars.get("$param.IsAdminMode_param") == "1")
+{
+    var newGroup = ProcessHandlingUtils.getOnValidationValue();
+    
+    // use param if available or current selectionRows
+    var classificationType = ClassificationUtils.getUsageType("$param.ClassificationType_param", "$sys.selectionRows");
+
+    if (classificationType)
+    {    
+        var groups = ClassificationUtils.getAllGroups(classificationType, false)
+
+        if (groups.indexOf(newGroup, 0) != -1 && ClassificationUtils.getGroupFromDb(vars.get("$field.CLASSIFICATIONTYPEID")) != newGroup)
+        {
+            result.string(translate.text("The new Classification name already exists."));
+        }
+    }
+    else
+    {
+        result.string(translate.text("Could not determine the current Classification type (usage)."));
+    }
+}
diff --git a/entity/Classification_entity/entityfields/classificationgroup/titleProcess.js b/entity/Classification_entity/entityfields/classificationgroup/titleProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..69092d7e4eb7d0499152f2b6c7f91cc0d3352e2b
--- /dev/null
+++ b/entity/Classification_entity/entityfields/classificationgroup/titleProcess.js
@@ -0,0 +1,13 @@
+import("system.neon");
+import("system.translate");
+import("system.vars");
+import("system.result");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.IsAdminMode_param") && vars.exists("$param.IsAdminMode_param") == "1") 
+{
+    result.string(translate.text("Group"));
+}
+else
+{
+    result.string(translate.text("Group name"));
+}
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationscores/children/classificationtype_param/valueProcess.js b/entity/Classification_entity/entityfields/classificationscores/children/classificationtype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d3275a8eaa916bbbb9604617cb2fb5385bc01cfe
--- /dev/null
+++ b/entity/Classification_entity/entityfields/classificationscores/children/classificationtype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CLASSIFICATIONTYPE"))
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationscores/children/classificationtypeid_param/valueProcess.js b/entity/Classification_entity/entityfields/classificationscores/children/classificationtypeid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b11d099579d9bf35111e31b13a41336731c28540
--- /dev/null
+++ b/entity/Classification_entity/entityfields/classificationscores/children/classificationtypeid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CLASSIFICATIONTYPEID"));
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationscores/children/scoretype_param/valueProcess.js b/entity/Classification_entity/entityfields/classificationscores/children/scoretype_param/valueProcess.js
deleted file mode 100644
index 5b4133d616996e3340521a9fb7831ea77f95fb8d..0000000000000000000000000000000000000000
--- a/entity/Classification_entity/entityfields/classificationscores/children/scoretype_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.SCORETYPE"));
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationtype/displayValueProcess.js b/entity/Classification_entity/entityfields/classificationtype/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e56601c615178505648345adeb253d9b3dea9e77
--- /dev/null
+++ b/entity/Classification_entity/entityfields/classificationtype/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.classificationType(), vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationgroup/stateProcess.js b/entity/Classification_entity/entityfields/classificationtype/stateProcess.js
similarity index 59%
rename from entity/Classification_entity/entityfields/classificationgroup/stateProcess.js
rename to entity/Classification_entity/entityfields/classificationtype/stateProcess.js
index 626da788b0307aee25ce6ab8849e3e9357ba0645..bcc88cc57c128d8971d6880133fb2584129a802e 100644
--- a/entity/Classification_entity/entityfields/classificationgroup/stateProcess.js
+++ b/entity/Classification_entity/entityfields/classificationtype/stateProcess.js
@@ -1,12 +1,11 @@
-import("system.neon");
 import("system.result");
+import("system.neon");
 import("system.vars");
-
 if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    result.string(neon.COMPONENTSTATE_AUTO);
+    result.string(neon.COMPONENTSTATE_EDITABLE);
 }
 else
 {
-    result.string(neon.COMPONENTSTATE_DISABLED);
+    result.string(neon.COMPONENTSTATE_READONLY);
 }
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationtype_id/valueProcess.js b/entity/Classification_entity/entityfields/classificationtype_id/valueProcess.js
index e49c8fad1ac02b78443eda6f571e2589b11afc7c..3886bb2dbefafdfd50c83b824fe2c1efd190f31e 100644
--- a/entity/Classification_entity/entityfields/classificationtype_id/valueProcess.js
+++ b/entity/Classification_entity/entityfields/classificationtype_id/valueProcess.js
@@ -2,7 +2,7 @@ import("system.result");
 import("system.neon");
 import("system.vars");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT && !vars.get("$this.value"))
+if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) && !vars.get("$this.value"))
 {
     result.string(vars.get("$field.CLASSIFICATIONTYPEID"));
 }
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/classificationtypeid/valueProcess.js b/entity/Classification_entity/entityfields/classificationtypeid/valueProcess.js
index 20cd6706484d99085c2cb18d81000ebdf00f883a..16c47d8b58490ac63829673a531ffce4e6896745 100644
--- a/entity/Classification_entity/entityfields/classificationtypeid/valueProcess.js
+++ b/entity/Classification_entity/entityfields/classificationtypeid/valueProcess.js
@@ -5,5 +5,6 @@ import("system.vars");
 
 if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    result.string(util.getNewUUID());
+    var newId = util.getNewUUID();
+    result.string(newId);
 }
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/info/valueProcess.js b/entity/Classification_entity/entityfields/info/valueProcess.js
index b581132ae69eaf7ea2f3bbac58e3a0d70bcec02b..1ee256fc478b0ac12abb12b41925ac7a1b527205 100644
--- a/entity/Classification_entity/entityfields/info/valueProcess.js
+++ b/entity/Classification_entity/entityfields/info/valueProcess.js
@@ -6,14 +6,14 @@ import("system.text");
 import("Sql_lib");
 
 var data = db.table(SqlCondition.begin()
-                     .andPrepare("CLASSIFICATIONSCORE.SCORETYPE", vars.get("$field.SCORETYPE"))
+                     .andPrepare("CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID", vars.get("$field.CLASSIFICATIONTYPEID"))
                      .buildSql("select TITLE, SCORE from CLASSIFICATIONSCORE", "1=2", "order by SORT"))
 
 var resultText = "";
 
 data.forEach(function(pScore)
 {
-    resultText += translate.text(pScore[0]) + " = " + text.formatDouble(pScore[1], "#,##0.00") + "<br>"
+    resultText += translate.text(pScore[0]) + " = " + text.formatDouble(pScore[1], translate.text("#,##0.00")) + "<br>"
 });
 
 result.string(resultText);
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/keywordclassificationtypes/children/containername_param/valueProcess.js b/entity/Classification_entity/entityfields/keywordclassificationtypes/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b5e82ac38396ff9ccda20b257c1d0820f5294683
--- /dev/null
+++ b/entity/Classification_entity/entityfields/keywordclassificationtypes/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic")
+
+result.string($KeywordRegistry.classificationType())
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js b/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js
index 002fb0103bfb70fcaf7ad4f979a2d8b4b96c6295..a5717eabb76417046c488939aadcfa7beb915dcd 100644
--- a/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js
+++ b/entity/Classification_entity/entityfields/scoretype/displayValueProcess.js
@@ -1,5 +1,5 @@
-import("system.translate");
 import("system.vars");
+import("system.translate");
 import("system.result");
 
-result.string(translate.text(vars.get("$this.value")))
\ No newline at end of file
+result.string(translate.text(vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/scoretype/mandatoryProcess.js b/entity/Classification_entity/entityfields/scoretype/mandatoryProcess.js
deleted file mode 100644
index 52b7a0751a53c352e422b4d53b084429a951e423..0000000000000000000000000000000000000000
--- a/entity/Classification_entity/entityfields/scoretype/mandatoryProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.neon");
-import("system.result");
-import("system.vars");
-
-result.object(vars.get("$param.IsAdminMode_param") == 1 && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW);
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/scoretype/onValidation.js b/entity/Classification_entity/entityfields/scoretype/onValidation.js
deleted file mode 100644
index 6206ed379e0d80cfa431637cf8e80494fc44ca26..0000000000000000000000000000000000000000
--- a/entity/Classification_entity/entityfields/scoretype/onValidation.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import("system.neon");
-import("system.translate");
-import("system.result");
-import("system.db");
-import("Entity_lib");
-import("Sql_lib");
-import("system.vars");
-
-if (vars.get("$param.IsAdminMode_param") == "1" && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-{
-    // do not allow the same name a second time
-    var type = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.SCORETYPE"));
-    var count = db.cell(SqlCondition.begin()
-                        .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", type)
-                        .buildSql("select count(*) from CLASSIFICATIONTYPE"));
-
-    if (count != 0)
-    {
-        result.string(translate.text("${SCORETYPE_ALREADY_EXISTS}"));
-    }
-}
\ No newline at end of file
diff --git a/entity/Classification_entity/entityfields/scoretype/stateProcess.js b/entity/Classification_entity/entityfields/scoretype/stateProcess.js
deleted file mode 100644
index 626da788b0307aee25ce6ab8849e3e9357ba0645..0000000000000000000000000000000000000000
--- a/entity/Classification_entity/entityfields/scoretype/stateProcess.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import("system.neon");
-import("system.result");
-import("system.vars");
-
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-{
-    result.string(neon.COMPONENTSTATE_AUTO);
-}
-else
-{
-    result.string(neon.COMPONENTSTATE_DISABLED);
-}
\ No newline at end of file
diff --git a/entity/Classification_entity/grantDeleteProcess.js b/entity/Classification_entity/grantDeleteProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9a1336d5cf503c64baa7cd083855545265a12901
--- /dev/null
+++ b/entity/Classification_entity/grantDeleteProcess.js
@@ -0,0 +1,23 @@
+import("system.logging");
+import("system.result");
+import("system.db");
+import("system.vars");
+import("Sql_lib");
+
+/*logging.log(db.cell(SqlCondition.begin()
+                        .andPrepare("CLASSIFICATION.CLASSIFICATIONTYPE_ID", vars.get("$field.CLASSIFICATIONTYPEID"))
+                        .buildSql("select count(*) from CLASSIFICATION", "1=2")))
+/*result.object(parseInt(db.cell(SqlCondition.begin()
+                        .andPrepare("CLASSIFICATION.CLASSIFICATIONTYPE_ID", vars.get("$field.CLASSIFICATIONTYPEID"))
+                        .buildSql("select count(*) from CLASSIFICATION", "1=2"))) <= 0);*/
+
+//{
+    /*db.deleteData("CLASSIFICATION", "CLASSIFICATION.CLASSIFICATIONTYPE_ID in (" + db.translateStatement(
+                       SqlCondition.begin()
+                                   .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", type)
+                                   .buildSql("select CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID from CLASSIFICATIONTYPE", "1=2")) + ")");
+    db.deleteData("CLASSIFICATIONTYPE", SqlCondition.equals("CLASSIFICATIONTYPE.SCORETYPE", type, "1=2"));
+    db.deleteData("CLASSIFICATIONSCORE", SqlCondition.equals("CLASSIFICATIONSCORE.SCORETYPE", type, "1=2"));*/
+    
+//}
+//neon.refreshAll();
\ No newline at end of file
diff --git a/entity/Classification_entity/recordcontainers/jdito/contentProcess.js b/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
index 9e4691657fbc6c6ca71044107d9e707f824a849f..0fe1bb3c8113eb67c1d54c1cdf56c0cd11f73f3f 100644
--- a/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("JditoFilter_lib");
 import("Classification_lib");
 import("system.vars");
 import("Sql_lib");
@@ -7,6 +8,8 @@ import("system.result");
 var admin = (vars.exists("$param.IsAdminMode_param") && vars.get("$param.IsAdminMode_param") == "1")
 var scores = {};
 
+
+
 if (!admin)
 {
     scores = JSON.stringify(ClassificationUtils.getScore(vars.get("$param.ClassificationType_param"), vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowid_param")));
@@ -46,11 +49,22 @@ if (!classificationId)
             .andSqlCondition(SqlCondition.begin().orPrepareVars("CLASSIFICATION.OBJECT_ROWID", "$param.ObjectRowid_param")
                                                      .or("CLASSIFICATION.OBJECT_ROWID is null"))
 }
-    
+
+if (vars.exists("$local.userfilter") && vars.get("$local.userfilter"))
+{
+    var filter = vars.get("$local.userfilter");
+    cond.andSqlCondition((JditoFilterUtils.getSqlCondition(filter, "CLASSIFICATION", undefined, {
+         CLASSIFICATIONTYPE : "CLASSIFICATIONTYPE.CLASSIFICATIONTYPE"
+    })));
+}
+
 result.object(db.table(cond.buildSql("select case when CLASSIFICATIONID is not null then 'C,' || CLASSIFICATIONID else 'T,' || CLASSIFICATIONTYPEID end, CLASSIFICATIONID, CLASSIFICATIONGROUP, CLASSIFICATIONSCORE_ID, CLASSIFICATIONTYPEID, CLASSIFICATIONTYPE_ID, OBJECT_TYPE, OBJECT_ROWID, SCORETYPE, CLASSIFICATIONTYPE.CLASSIFICATIONTYPE from CLASSIFICATION \n\
-                                        right join CLASSIFICATIONTYPE on CLASSIFICATIONTYPE_ID = CLASSIFICATIONTYPEID", "1=2", "order by CLASSIFICATIONGROUP asc"))
-    .map(function(pRow)
-    {
-        pRow.push(scores);
-        return pRow;
-    }));
\ No newline at end of file
+                right join CLASSIFICATIONTYPE on " + db.translateCondition(SqlCondition.begin()
+                    .and("CLASSIFICATIONTYPE_ID = CLASSIFICATIONTYPEID")
+                    .andPrepareVars("CLASSIFICATION.OBJECT_TYPE", "$param.ObjectType_param")
+                    .andPrepareVars("CLASSIFICATION.OBJECT_ROWID", "$param.ObjectRowid_param").build()), (admin ? "1=1" : "1=2"), "order by CLASSIFICATIONGROUP asc"))
+                .map(function(pRow)
+                {
+                    pRow.push(scores);
+                    return pRow;
+                }));
\ No newline at end of file
diff --git a/entity/Classification_entity/recordcontainers/jdito/onDelete.js b/entity/Classification_entity/recordcontainers/jdito/onDelete.js
index 5e02ce7e27b58e7b2ac7141f28a7b01063cfe5f2..40b75f026eb05878e322d9d15b141dee90152b91 100644
--- a/entity/Classification_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/Classification_entity/recordcontainers/jdito/onDelete.js
@@ -5,7 +5,7 @@ import("system.db");
 import("system.util");
 import("system.vars");
 
-var type = vars.get("$field.SCORETYPE");
+var classificationTypeId = vars.get("$field.CLASSIFICATIONTYPEID");
 
 if (1 < db.cell(SqlCondition.begin()
                         .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPE", vars.get("$field.CLASSIFICATIONTYPE"))
@@ -13,10 +13,10 @@ if (1 < db.cell(SqlCondition.begin()
 {
     db.deleteData("CLASSIFICATION", "CLASSIFICATION.CLASSIFICATIONTYPE_ID in (" + db.translateStatement(
                        SqlCondition.begin()
-                                   .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", type)
+                                   .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", classificationTypeId)
                                    .buildSql("select CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID from CLASSIFICATIONTYPE", "1=2")) + ")");
-    db.deleteData("CLASSIFICATIONTYPE", SqlCondition.equals("CLASSIFICATIONTYPE.SCORETYPE", type, "1=2"));
-    db.deleteData("CLASSIFICATIONSCORE", SqlCondition.equals("CLASSIFICATIONSCORE.SCORETYPE", type, "1=2"));
+    db.deleteData("CLASSIFICATIONTYPE", SqlCondition.equals("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", classificationTypeId, "1=2"));
+    db.deleteData("CLASSIFICATIONSCORE", SqlCondition.equals("CLASSIFICATIONSCORE.CLASSIFICATIONTYPE_ID", classificationTypeId, "1=2"));
 }
 neon.refreshAll();
 //else
diff --git a/entity/Classification_entity/recordcontainers/jdito/onInsert.js b/entity/Classification_entity/recordcontainers/jdito/onInsert.js
index 5bd556063e97e5faee7015205d08bcd619b9ee4d..5abae8836df8a9065da11605f54e2ca73902aa91 100644
--- a/entity/Classification_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/Classification_entity/recordcontainers/jdito/onInsert.js
@@ -2,9 +2,8 @@ import("system.db");
 import("system.util");
 import("system.vars");
 
-var newId = util.getNewUUID();
 db.insertData("CLASSIFICATIONTYPE", ["CLASSIFICATIONTYPEID", "CLASSIFICATIONTYPE", "SCORETYPE", "CLASSIFICATIONGROUP"], null, [
-    newId,
+    vars.get("$field.CLASSIFICATIONTYPEID"),
     vars.get("$field.CLASSIFICATIONTYPE"),
     vars.get("$field.SCORETYPE"),
     vars.get("$field.CLASSIFICATIONGROUP"),
diff --git a/entity/Classification_entity/recordcontainers/jdito/onUpdate.js b/entity/Classification_entity/recordcontainers/jdito/onUpdate.js
index f66b5fc3295c1c95871d838d2dd6ef3fd93a9a46..3bd1eec53459f57a6efc73fb26a8c10d38dd4467 100644
--- a/entity/Classification_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/Classification_entity/recordcontainers/jdito/onUpdate.js
@@ -1,3 +1,4 @@
+import("Classification_lib");
 import("system.neon");
 import("system.util");
 import("Sql_lib");
@@ -32,4 +33,26 @@ else if (vars.get("$field.CLASSIFICATIONSCORE_ID"))
     ]);
     
     neon.setFieldValue("$field.CLASSIFICATIONID", newId);
+}
+
+// update classificationgroup-name and scoretype-name if they were changed (only in admin)
+if (vars.exists("$param.IsAdminMode_param") && vars.exists("$param.IsAdminMode_param") == "1")
+{
+    changed.forEach(function(change) 
+    {
+        switch (change)
+        {
+            case "CLASSIFICATIONGROUP.value":
+                var oldGroupName = ClassificationUtils.getGroupFromDb(vars.get("$field.CLASSIFICATIONTYPEID"));
+                var newGroupName = vars.get("$field.CLASSIFICATIONGROUP");
+                
+                ClassificationUtils.changeGroupName(oldGroupName, newGroupName, vars.get("$field.CLASSIFICATIONTYPE"))
+            case "SCORETYPE.value":
+                var classificationTypeId = vars.get("$field.CLASSIFICATIONTYPEID");
+                var newScoreName = vars.get("$field.SCORETYPE");
+                
+                ClassificationUtils.changeScoreName(newScoreName, classificationTypeId);
+        }
+    })
+    
 }
\ No newline at end of file
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index b4b9660d0b0eae968e4671097549231b0674ffe7..38f57758f109deaa5d737768866b61573f658aa3 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -392,6 +392,12 @@
           <fieldName>KeywordClassificationTypes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>3a81e886-0d83-47f0-9ec7-c864ffc57cda</name>
+          <entityName>Classification_entity</entityName>
+          <fieldName>KeywordClassificationTypes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index d9a84750737d30314f3b7e93313d8ddb7d0fb6c1..12255bf666e4a43de9bc942a1fc35239f8f77aa4 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -140,6 +140,7 @@
     <entityField>
       <name>RESOLVEDPRIORITY</name>
       <title>priority</title>
+      <textInputAllowed v="false" />
     </entityField>
   </entityFields>
   <recordContainers>
diff --git a/entity/Notification_entity/entityfields/icon/colorProcess.js b/entity/Notification_entity/entityfields/icon/colorProcess.js
index bbb79f89e51f8b411eb7ebcefd1be2f908d4c7db..129bacab499ca6dc5ed540a1ec8805593b9fb492 100644
--- a/entity/Notification_entity/entityfields/icon/colorProcess.js
+++ b/entity/Notification_entity/entityfields/icon/colorProcess.js
@@ -14,7 +14,7 @@ var resolvedPrio = vars.get("$field.RESOLVEDPRIORITY");
 
 if(resolvedPrio != null && resolvedPrio != "")
 {
-    logging.log("resolvedPrio: " + resolvedPrio);
+//    logging.log("resolvedPrio: " + resolvedPrio);
 
     switch(resolvedPrio)
     {
diff --git a/entity/PermissionAction_entity/PermissionAction_entity.aod b/entity/PermissionAction_entity/PermissionAction_entity.aod
deleted file mode 100644
index 4ab37a7f094bfc2d558ec4afbeabead6d3358907..0000000000000000000000000000000000000000
--- a/entity/PermissionAction_entity/PermissionAction_entity.aod
+++ /dev/null
@@ -1,83 +0,0 @@
-<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
-  <name>PermissionAction_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <iconId>VAADIN:SHIELD</iconId>
-  <recordContainer>db</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-      <dependencies>
-        <entityDependency>
-          <name>754e3cfc-7bc8-4dfa-a56e-1a4d12570fb2</name>
-          <entityName>PermissionDetail_entity</entityName>
-          <fieldName>PermissionActions</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityField>
-      <name>AB_PERMISSIONACTIONID</name>
-      <title>Permission Action</title>
-      <valueProcess>%aditoprj%/entity/PermissionAction_entity/entityfields/ab_permissionactionid/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>AB_PERMISSION_ID</name>
-      <title>Parent Permission Action</title>
-    </entityField>
-    <entityField>
-      <name>ACTION</name>
-      <title>Action</title>
-    </entityField>
-    <entityProvider>
-      <name>PermissionActions</name>
-      <fieldType>DEPENDENCY_IN</fieldType>
-      <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>504fe751-0e93-4ce3-aed7-26a669fd8ce4</name>
-          <entityName>Permission_entity</entityName>
-          <fieldName>PermissionPermissionActions</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityParameter>
-      <name>PermissionId_param</name>
-      <expose v="true" />
-      <triggerRecalculation v="true" />
-      <mandatory v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-  </entityFields>
-  <recordContainers>
-    <dbRecordContainer>
-      <name>db</name>
-      <alias>_____SYSTEMALIAS</alias>
-      <conditionProcess>%aditoprj%/entity/PermissionAction_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
-      <linkInformation>
-        <linkInformation>
-          <name>f73c027f-55f0-4f43-8520-8bd7b4bcbf81</name>
-          <tableName>ASYS_PERMISSIONACTION</tableName>
-          <primaryKey>PERMISSIONACTIONID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="false" />
-        </linkInformation>
-      </linkInformation>
-      <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSION_ID.value</name>
-          <recordfield>AB_PERMISSIONACTION.AB_PERMISSION_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSIONACTIONID.value</name>
-          <recordfield>AB_PERMISSIONACTION.AB_PERMISSIONACTIONID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>ACTION.value</name>
-          <recordfield>AB_PERMISSIONACTION.ACTION</recordfield>
-        </dbRecordFieldMapping>
-      </recordFieldMappings>
-    </dbRecordContainer>
-  </recordContainers>
-</entity>
diff --git a/entity/PermissionAction_entity/entityfields/ab_permissionactionid/valueProcess.js b/entity/PermissionAction_entity/entityfields/ab_permissionactionid/valueProcess.js
deleted file mode 100644
index 11b755b5848286f96ecb1bfe998ec711f663c476..0000000000000000000000000000000000000000
--- a/entity/PermissionAction_entity/entityfields/ab_permissionactionid/valueProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.neon");
-import("system.result");
-import("system.util");
-import("system.vars");
-
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
-    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/PermissionAction_entity/recordcontainers/db/conditionProcess.js b/entity/PermissionAction_entity/recordcontainers/db/conditionProcess.js
deleted file mode 100644
index 10aaf65ee4b3f0a378d22824af5b44eac5f19296..0000000000000000000000000000000000000000
--- a/entity/PermissionAction_entity/recordcontainers/db/conditionProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.vars");
-import("system.db");
-import("system.result");
-
-if (vars.get("$param.PermissionId_param"))
-    result.string(db.translateCondition("ASYS_PERMISSION_ID = '" + vars.get("$param.PermissionId_param") + "'"));
\ No newline at end of file
diff --git a/entity/PermissionAdmin_entity/PermissionAdmin_entity.aod b/entity/PermissionAdmin_entity/PermissionAdmin_entity.aod
deleted file mode 100644
index 1f84089a781507fb1291250ba9603cdc959d6bdf..0000000000000000000000000000000000000000
--- a/entity/PermissionAdmin_entity/PermissionAdmin_entity.aod
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
-  <name>PermissionAdmin_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <title>Permission Admin</title>
-  <iconId>VAADIN:SHIELD</iconId>
-  <recordContainer>JDito</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-    </entityProvider>
-    <entityField>
-      <name>UID</name>
-    </entityField>
-    <entityConsumer>
-      <name>PermissionSets</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>PermissionSet_entity</entityName>
-        <fieldName>PermissionSets</fieldName>
-      </dependency>
-    </entityConsumer>
-  </entityFields>
-  <recordContainers>
-    <jDitoRecordContainer>
-      <name>JDito</name>
-      <contentProcess>%aditoprj%/entity/PermissionAdmin_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
-      <recordFields>
-        <element>UID.value</element>
-      </recordFields>
-    </jDitoRecordContainer>
-  </recordContainers>
-</entity>
diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index 2d5c67c902415cce49a0ba2dcc9025e926f8bb04..3ed129256362fd7fc5277c4346d9d8afa09452fd 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -66,6 +66,8 @@
       <title>Condition Type</title>
       <consumer>KeywordConditionType</consumer>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>PARENT</name>
diff --git a/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js
index 9df8d712eee4cf4f0f8f8e22fc25055e5317feb1..fe3b117045c9901b505bc6f6e96b0381370b9dad 100644
--- a/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js
@@ -1,10 +1,18 @@
-//import("system.vars");
-//import("system.result");
-//
-//var field = vars.get("$field.FIELD");
-//
-//if (field != undefined && field != null && field != "") {
-//    result.string("Feld");
-//} else {
-//    result.string("");
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("Permission_lib");
+
+var field = vars.get("$field.FIELD");
+var role = vars.get("$field.ROLE");
+var entity = vars.get("$field.ENTITY");
+var rootPermSet = PermissionUtil.getRootPermissionSet(role, entity);
+
+if (rootPermSet == "") {
+    result.string("Entität");
+} else {
+    result.string("Datensatz");
+} 
+
+if (field != undefined && field != null && field != "") {
+    result.string("Feld");
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
index 52f53388aaf11d9798dbbaf75ef94d75c845ca66..c24340acec17af395c991dfafe87f1d3cd8cbc1c 100644
--- a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
@@ -1,10 +1,18 @@
-//import("system.vars");
-//import("system.result");
-//
-//var field = vars.get("$field.FIELD");
-//
-//if (field != undefined && field != null && field != "") {
-//    result.string("F");
-//} else {
-//    result.string("");
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("Permission_lib");
+
+var field = vars.get("$field.FIELD");
+var role = vars.get("$field.ROLE");
+var entity = vars.get("$field.ENTITY");
+var rootPermSet = PermissionUtil.getRootPermissionSet(role, entity);
+
+if (rootPermSet == "") {
+    result.string("E");
+} else {
+    result.string("R");
+} 
+
+if (field != undefined && field != null && field != "") {
+    result.string("F");
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b5c67bb76030695f7ec60962534bdfb3d4722d29
--- /dev/null
+++ b/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js
@@ -0,0 +1,18 @@
+import("system.logging");
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var keywordContainer = "PermissionCondType";
+var keywordEntrys = KeywordUtils.getEntryNamesByContainer(keywordContainer);
+var condType = vars.get("$field.CONDTYPE");
+
+switch (condType) {
+    case "true":
+        result.string(keywordEntrys[0]);
+        break;
+    case "false":
+        result.string(keywordEntrys[1]);
+        break;    
+}
\ No newline at end of file
diff --git a/entity/PermissionAdmin_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js
similarity index 50%
rename from entity/PermissionAdmin_entity/recordcontainers/jdito/contentProcess.js
rename to entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js
index ee599add3a511c978b05deb3405295f88221653f..6f1c35b0b917950b2481062a096b8183f10ac0cc 100644
--- a/entity/PermissionAdmin_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js
@@ -1,2 +1,3 @@
 import("system.result");
-result.object([["0"]])
\ No newline at end of file
+
+result.string("true");
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js
index 241d200ca45711a39e1510eeb6495571d3d5bf43..dba6c0a34aaa5bad442ba537bc64c7188a472f77 100644
--- a/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js
@@ -1,9 +1,12 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//let recordstate = vars.get("$sys.recordstate");
-//
-//if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
-//    result.string(vars.getString("$param.EntityTitle_param"));
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+var recordstate = vars.get("$sys.recordstate");
+
+if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
+    var entity = vars.get("$param.EntityTitle_param"); 
+    if (entity != undefined && entity != null && entity != "") {
+        result.string(entity);
+    }
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js b/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js
index 241d200ca45711a39e1510eeb6495571d3d5bf43..dba6c0a34aaa5bad442ba537bc64c7188a472f77 100644
--- a/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js
@@ -1,9 +1,12 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//let recordstate = vars.get("$sys.recordstate");
-//
-//if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
-//    result.string(vars.getString("$param.EntityTitle_param"));
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+var recordstate = vars.get("$sys.recordstate");
+
+if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
+    var entity = vars.get("$param.EntityTitle_param"); 
+    if (entity != undefined && entity != null && entity != "") {
+        result.string(entity);
+    }
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js
index d4c1d911ed4092ccc4722b9ad12ab9a09245efee..c03a14ebfbba9b1d44de9bd812e0fec51f9caedc 100644
--- a/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js
@@ -1,14 +1,14 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//var recordstate = vars.get("$sys.recordstate");
-//
-//if (vars.exists("$param.RoleTitle_param")) {
-//    var role = vars.get("$param.RoleTitle_param");
-//    
-//    if(role != undefined && role != null && role != "" && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
-//        res = role.split("_");
-//        result.string(res[1]);
-//    }
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+var recordstate = vars.get("$sys.recordstate");
+
+if (vars.exists("$param.RoleTitle_param")) {
+    var role = vars.get("$param.RoleTitle_param");
+    
+    if(role != undefined && role != null && role != "" && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
+        res = role.split("_");
+        result.string(res[1]);
+    }
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
index cc6b48287a7398af7dfe6108b1f9849097020746..9c569f853853db8419f44247c1e500313bdbf0d6 100644
--- a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
@@ -1,9 +1,12 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//let recordstate = vars.get("$sys.recordstate");
-//
-//if(vars.exists("$param.RoleTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
-//    result.string(vars.getString("$param.RoleTitle_param"));
-//}
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+let recordstate = vars.get("$sys.recordstate");
+
+if(vars.exists("$param.RoleTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) {
+    var role = vars.get("$param.RoleTitle_param");
+    if (role != undefined && role != null && role != "") {
+        result.string(role);
+    }
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
index 2e3cd82309cff93e3a4c4f923c51c820d4139aa2..4e61ef73b7e33ba304a6d8f30ca098ee7236c014 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
@@ -5,6 +5,7 @@ import("system.util");
 import("system.db");
 import("system.vars");
 import("Permission_lib");
+import("Entity_lib");
 
 var table, cols, vals;
 var alias = "_____SYSTEMALIAS";
@@ -67,14 +68,20 @@ function checkInput(pInputArr) {
     return true;
 }
 
-// returns the permission(id) with given parameters, otherwise returns empty string
+// returns permissionid of the permission with fitting parameters, otherwise returns empty string
 function permExists(pRole, pEntity, pField, pAccesstype, pCondtype, pCondition) {
+    var sqlStr = "";
     var sqlExt = "";
-    if (pCondition != null && pCondition != undefined && pCondition != "")
+    
+    if (checkInput([pCondition])) {
         sqlExt += " and COND = '" + pCondition + "'";
-    if (pField != null && pField != undefined && pField != "")
+    }
+    
+    if (checkInput([pField])) {
         sqlExt += " and FIELD_ID = '" + pField + "'";
-    var sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET"
+    }
+    
+    sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET"
     + " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
     + " where ENTITY_ID = '" + pEntity + "' and ROLE_ID = '" + pRole + "'"
     + " and ACCESSTYPE = '" + pAccesstype + "' and CONDTYPE = '" + pCondtype + "'" + sqlExt;
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
index e2cc6a303bf6f4fa3ab2d6bbb71622e955687cef..0cbb9dc17b704cf7c50a05e2a678e3bb35984877 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
@@ -21,7 +21,7 @@ if (diff.length > 0) {
     var dbDeletes = db.deleteData(table, cond, alias);
     
     // insert the different actions
-    cols = db.getColumns(table);
+    cols = db.getColumns(table, alias);
     for each (var action in actionNew) {
         PermissionUtil.insertNewPermissionAction(permissionid, action);
     }
diff --git a/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
index 3e7bd18d57ed6e83408d3197fbeda39780fc352c..244e9ef8dfb185d4cf55ef51872c621978d7c9e3 100644
--- a/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
@@ -8,7 +8,9 @@ var res = [];
 
 if (selectedEntity == null) {
     for each (let entity in entities) {
-        res.push([entity[0], entity[1], entity[2]]);
+        if (entity[6] == "true") {
+            res.push([entity[0], entity[1], entity[2]]);
+        }
     }
 } else {
     for each (let entity in entities) {
diff --git a/entity/PermissionSet_entity/PermissionSet_entity.aod b/entity/PermissionSet_entity/PermissionSet_entity.aod
deleted file mode 100644
index e248b5b557c3fe88f174bda25574886ad6074aa8..0000000000000000000000000000000000000000
--- a/entity/PermissionSet_entity/PermissionSet_entity.aod
+++ /dev/null
@@ -1,107 +0,0 @@
-<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
-  <name>PermissionSet_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <title>Permission Set</title>
-  <contentTitleProcess>%aditoprj%/entity/PermissionSet_entity/contentTitleProcess.js</contentTitleProcess>
-  <iconId>VAADIN:SHIELD</iconId>
-  <recordContainer>db</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-    </entityProvider>
-    <entityField>
-      <name>AB_PERMISSIONSETID</name>
-      <title>Permission Set</title>
-      <valueProcess>%aditoprj%/entity/PermissionSet_entity/entityfields/ab_permissionsetid/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>AB_PERMISSIONSET_ID</name>
-      <title>Parent Permission</title>
-    </entityField>
-    <entityField>
-      <name>ENTITY_ID</name>
-      <title>Entity</title>
-    </entityField>
-    <entityField>
-      <name>ROLE_ID</name>
-      <title>Role</title>
-    </entityField>
-    <entityField>
-      <name>FIELD_ID</name>
-      <title>Field</title>
-    </entityField>
-    <entityField>
-      <name>ACCESSTYPE</name>
-      <title>Access Type</title>
-    </entityField>
-    <entityProvider>
-      <name>PermissionSets</name>
-      <fieldType>DEPENDENCY_IN</fieldType>
-      <dependencies>
-        <entityDependency>
-          <name>fb648b04-2815-42b6-a63a-188d26f39955</name>
-          <entityName>PermissionAdmin_entity</entityName>
-          <fieldName>PermissionSets</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityConsumer>
-      <name>Permissions</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Permission_entity</entityName>
-        <fieldName>Permissions</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>PermissionSetId_param</name>
-          <valueProcess>%aditoprj%/entity/PermissionSet_entity/entityfields/permissions/children/permissionsetid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-  </entityFields>
-  <recordContainers>
-    <dbRecordContainer>
-      <name>db</name>
-      <alias>_____SYSTEMALIAS</alias>
-      <linkInformation>
-        <linkInformation>
-          <name>85886d1e-c26d-48ac-93fc-ff06c24ba8a3</name>
-          <tableName>ASYS_PERMISSIONSET</tableName>
-          <primaryKey>PERMISSIONSETID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="false" />
-        </linkInformation>
-      </linkInformation>
-      <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSIONSET_ID.value</name>
-          <recordfield>AB_PERMISSIONSET.AB_PERMISSIONSET_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSIONSETID.value</name>
-          <recordfield>AB_PERMISSIONSET.AB_PERMISSIONSETID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>ACCESSTYPE.value</name>
-          <recordfield>AB_PERMISSIONSET.ACCESSTYPE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>ENTITY_ID.value</name>
-          <recordfield>AB_PERMISSIONSET.ENTITY_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>FIELD_ID.value</name>
-          <recordfield>AB_PERMISSIONSET.FIELD_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>ROLE_ID.value</name>
-          <recordfield>AB_PERMISSIONSET.ROLE_ID</recordfield>
-        </dbRecordFieldMapping>
-      </recordFieldMappings>
-    </dbRecordContainer>
-  </recordContainers>
-</entity>
diff --git a/entity/PermissionSet_entity/contentTitleProcess.js b/entity/PermissionSet_entity/contentTitleProcess.js
deleted file mode 100644
index cf6c802b90a0c12278ab252aba5b7f1af09f3731..0000000000000000000000000000000000000000
--- a/entity/PermissionSet_entity/contentTitleProcess.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import("system.vars");
-import("system.result");
-
-var res = "";
-
-switch (vars.get("$field.ACCESSTYPE")) {
-    case "E":
-        res += vars.get("$field.ENTITY_ID");
-        break;
-    case "R":
-        res += "Record";
-        break;
-    case "F":
-        res += vars.get("$field.FIELD_ID");
-        break;
-}
-
-result.string(res);
\ No newline at end of file
diff --git a/entity/PermissionSet_entity/entityfields/ab_permissionsetid/valueProcess.js b/entity/PermissionSet_entity/entityfields/ab_permissionsetid/valueProcess.js
deleted file mode 100644
index 099961e8eac8ab65338d5205add7b7b0401acb2f..0000000000000000000000000000000000000000
--- a/entity/PermissionSet_entity/entityfields/ab_permissionsetid/valueProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.neon");
-import("system.result");
-import("system.util");
-import("system.vars");
-
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
-    result.string(util.getNewUUID());
diff --git a/entity/PermissionSet_entity/entityfields/permissions/children/permissionsetid_param/valueProcess.js b/entity/PermissionSet_entity/entityfields/permissions/children/permissionsetid_param/valueProcess.js
deleted file mode 100644
index 75cc39f22364c97ce32192a1d0c354b7c9b2e27b..0000000000000000000000000000000000000000
--- a/entity/PermissionSet_entity/entityfields/permissions/children/permissionsetid_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("system.vars");
-
-result.string(vars.get("$field.AB_PERMISSIONSETID"));
\ No newline at end of file
diff --git a/entity/Permission_entity/Permission_entity.aod b/entity/Permission_entity/Permission_entity.aod
deleted file mode 100644
index 87b91b6d71e1b93ab77d5a66da525aac5664e4e3..0000000000000000000000000000000000000000
--- a/entity/Permission_entity/Permission_entity.aod
+++ /dev/null
@@ -1,100 +0,0 @@
-<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
-  <name>Permission_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <iconId>VAADIN:SHIELD</iconId>
-  <recordContainer>db</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-    </entityProvider>
-    <entityField>
-      <name>AB_PERMISSIONID</name>
-      <title>Permission</title>
-      <valueProcess>%aditoprj%/entity/Permission_entity/entityfields/ab_permissionid/valueProcess.js</valueProcess>
-    </entityField>
-    <entityField>
-      <name>AB_PERMISSIONSET_ID</name>
-      <title>Parent Permission</title>
-    </entityField>
-    <entityField>
-      <name>COND</name>
-      <title>Condition</title>
-    </entityField>
-    <entityField>
-      <name>CONDTYPE</name>
-      <title>Condition Type</title>
-    </entityField>
-    <entityConsumer>
-      <name>PermissionPermissionActions</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>PermissionAction_entity</entityName>
-        <fieldName>PermissionActions</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>PermissionId_param</name>
-          <valueProcess>%aditoprj%/entity/Permission_entity/entityfields/permissionpermissionactions/children/permissionid_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-          <mandatory v="false" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityProvider>
-      <name>Permissions</name>
-      <fieldType>DEPENDENCY_IN</fieldType>
-      <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>f902d1b2-15c4-4fbc-93c4-17f76625e746</name>
-          <entityName>PermissionSet_entity</entityName>
-          <fieldName>Permissions</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
-    </entityProvider>
-    <entityParameter>
-      <name>PermissionSetId_param</name>
-      <expose v="true" />
-      <triggerRecalculation v="true" />
-      <mandatory v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-  </entityFields>
-  <recordContainers>
-    <dbRecordContainer>
-      <name>db</name>
-      <alias>_____SYSTEMALIAS</alias>
-      <conditionProcess>%aditoprj%/entity/Permission_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
-      <linkInformation>
-        <linkInformation>
-          <name>a2c1ed85-8827-47dc-ad87-cbed33c141e5</name>
-          <tableName>ASYS_PERMISSION</tableName>
-          <primaryKey>PERMISSIONID</primaryKey>
-          <isUIDTable v="false" />
-          <readonly v="false" />
-        </linkInformation>
-      </linkInformation>
-      <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>COND.value</name>
-          <recordfield>AB_PERMISSION.COND</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>CONDTYPE.value</name>
-          <recordfield>AB_PERMISSION.CONDTYPE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSIONID.value</name>
-          <recordfield>AB_PERMISSION.AB_PERMISSIONID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>AB_PERMISSIONSET_ID.value</name>
-          <recordfield>AB_PERMISSION.AB_PERMISSIONSET_ID</recordfield>
-        </dbRecordFieldMapping>
-      </recordFieldMappings>
-    </dbRecordContainer>
-  </recordContainers>
-</entity>
diff --git a/entity/Permission_entity/entityfields/ab_permissionid/valueProcess.js b/entity/Permission_entity/entityfields/ab_permissionid/valueProcess.js
deleted file mode 100644
index 11b755b5848286f96ecb1bfe998ec711f663c476..0000000000000000000000000000000000000000
--- a/entity/Permission_entity/entityfields/ab_permissionid/valueProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.neon");
-import("system.result");
-import("system.util");
-import("system.vars");
-
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
-    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/Permission_entity/entityfields/permissionpermissionactions/children/permissionid_param/valueProcess.js b/entity/Permission_entity/entityfields/permissionpermissionactions/children/permissionid_param/valueProcess.js
deleted file mode 100644
index 81cf4a044a683c7ccf5a3d4988fca7b5c0bbf3c2..0000000000000000000000000000000000000000
--- a/entity/Permission_entity/entityfields/permissionpermissionactions/children/permissionid_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("system.vars");
-
-result.string(vars.get("$field.AB_PERMISSIONID"));
\ No newline at end of file
diff --git a/entity/Permission_entity/recordcontainers/db/conditionProcess.js b/entity/Permission_entity/recordcontainers/db/conditionProcess.js
deleted file mode 100644
index 88f496a9fc2b9e659cce5a23c42fd5809e8e4653..0000000000000000000000000000000000000000
--- a/entity/Permission_entity/recordcontainers/db/conditionProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.vars");
-import("system.db");
-import("system.result");
-
-if (vars.exists("$param.PermissionSetId_param") && vars.get("$param.PermissionSetId_param"))
-    result.string(db.translateCondition("ASYS_PERMISSIONSET_ID = '" + vars.get("$param.PermissionSetId_param") + "'"));
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index ee7ccae401c7cdd19bf36957f2f1dab4a7aa09ef..70c8bf3ba90006f060f95ec9d621a28dd1531b1b 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -3993,6 +3993,36 @@
     <entry>
       <key>Classification group</key>
     </entry>
+    <entry>
+      <key>Group name</key>
+    </entry>
+    <entry>
+      <key>Price Condition</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Possible Value</key>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+    </entry>
+    <entry>
+      <key>Could not determine the current Classification type (usage).</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>The new Classification name already exists.</key>
+    </entry>
     <entry>
       <key>Campaign planning</key>
     </entry>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index ac7d132377457c94151dbd1cde2657140c6a4d54..9644fff93cb247fce888cf4537d4c23d2f1e8c3e 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -4807,6 +4807,7 @@
     </entry>
     <entry>
       <key>Possible Values</key>
+      <value>Mögliche Werte</value>
     </entry>
     <entry>
       <key>251 to 1,000</key>
@@ -4971,6 +4972,38 @@
       <key>Predecessor</key>
       <value>Vorgänger</value>
     </entry>
+    <entry>
+      <key>Group name</key>
+      <value>Gruppenname</value>
+    </entry>
+    <entry>
+      <key>Price Condition</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Possible Value</key>
+      <value>Möglicher Wert</value>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+    </entry>
+    <entry>
+      <key>Could not determine the current Classification type (usage).</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>The new Classification name already exists.</key>
+    </entry>
     <entry>
       <key>Campaign planning</key>
       <value>Kampagnenplanung</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 9eefabd28973e38e23580e81cbef2def93c3d6bb..9f1dc52b2bf36820288ac88bae75b4fb1082611a 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -4051,6 +4051,36 @@
     <entry>
       <key>Campaign planning</key>
     </entry>
+    <entry>
+      <key>Group name</key>
+    </entry>
+    <entry>
+      <key>Price Condition</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Possible Value</key>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+    </entry>
+    <entry>
+      <key>Could not determine the current Classification type (usage).</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>The new Classification name already exists.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonContext/ClassificationAdmin/ClassificationAdmin.aod b/neonContext/ClassificationAdmin/ClassificationAdmin.aod
index 39b6239be4602b6dca174ef368b0b7bd0facd5c1..45495e30e8520da2d6576872ddcf5d1bdf752445 100644
--- a/neonContext/ClassificationAdmin/ClassificationAdmin.aod
+++ b/neonContext/ClassificationAdmin/ClassificationAdmin.aod
@@ -1,15 +1,12 @@
 <?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
   <name>ClassificationAdmin</name>
+  <title></title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/neonContext/ClassificationAdmin/documentation.adoc</documentation>
   <mainview>ClassificationAdminMain_view</mainview>
-  <filterview>ClassificationAdminFilter_view</filterview>
   <entity>ClassificationAdmin_entity</entity>
   <references>
-    <neonViewReference>
-      <name>e29a0221-6ac6-47d3-bee0-950def1847a8</name>
-      <view>ClassificationAdminFilter_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>4a240156-6c62-46d8-890e-b5c239ef8128</name>
       <view>ClassificationAdminMain_view</view>
diff --git a/neonContext/ClassificationAdmin/documentation.adoc b/neonContext/ClassificationAdmin/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..4c5a7f2883e16eb2304904fc08621d6c666bc406
--- /dev/null
+++ b/neonContext/ClassificationAdmin/documentation.adoc
@@ -0,0 +1 @@
+This Context only exists to provide a Classification-Admin-View without an open-button
\ No newline at end of file
diff --git a/neonContext/Permission/Permission.aod b/neonContext/Permission/Permission.aod
deleted file mode 100644
index 9bf0b1f28c2e3fef505c2b3c35540c99c7e7a640..0000000000000000000000000000000000000000
--- a/neonContext/Permission/Permission.aod
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>Permission</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>PermissionMain_view</mainview>
-  <filterview>PermissionFilter_view</filterview>
-  <editview>PermissionEdit_view</editview>
-  <preview>PermissionPreview_view</preview>
-  <entity>Permission_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>213eac8e-fab6-43ea-83be-94ab26e0b252</name>
-      <view>PermissionMain_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>f33c6b95-272e-4561-bf04-91cbd58c2499</name>
-      <view>PermissionFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>03b59ef0-f628-451a-a01e-800ca07baa67</name>
-      <view>PermissionEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ea9569b9-1d57-4826-970e-142ea2104350</name>
-      <view>PermissionPreview_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
diff --git a/neonContext/PermissionAction/PermissionAction.aod b/neonContext/PermissionAction/PermissionAction.aod
deleted file mode 100644
index 35d1cdbe1bb32cf8fcbd2d7512c903b498096f93..0000000000000000000000000000000000000000
--- a/neonContext/PermissionAction/PermissionAction.aod
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>PermissionAction</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>PermissionActionMain_view</mainview>
-  <filterview>PermissionActionFilter_view</filterview>
-  <editview>PermissionActionEdit_view</editview>
-  <preview>PermissionActionPreview_view</preview>
-  <entity>PermissionAction_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>5a7d27cc-ccc9-4b5a-af6d-1837d3bf8288</name>
-      <view>PermissionActionMain_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>5604d7b7-f37b-4995-a795-876cf2be244c</name>
-      <view>PermissionActionFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>65501724-1b07-46c3-864c-eb3ecae7f5c7</name>
-      <view>PermissionActionEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>63c1333e-af91-4293-9eef-b8e313aaa876</name>
-      <view>PermissionActionPreview_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
diff --git a/neonContext/PermissionAdmin/PermissionAdmin.aod b/neonContext/PermissionAdmin/PermissionAdmin.aod
deleted file mode 100644
index ea66aa44019d568774bcac3778c19cd30c10e739..0000000000000000000000000000000000000000
--- a/neonContext/PermissionAdmin/PermissionAdmin.aod
+++ /dev/null
@@ -1,13 +0,0 @@
-<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>PermissionAdmin</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>PermissionAdminMain_view</mainview>
-  <entity>PermissionAdmin_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>8f545d49-e62f-438d-8d14-edcd966d6cd5</name>
-      <view>PermissionAdminMain_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
diff --git a/neonContext/PermissionSet/PermissionSet.aod b/neonContext/PermissionSet/PermissionSet.aod
deleted file mode 100644
index a74aa0ab4ebcd36f33db9a0d786a3d0017e7241d..0000000000000000000000000000000000000000
--- a/neonContext/PermissionSet/PermissionSet.aod
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>PermissionSet</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>PermissionSetMain_view</mainview>
-  <filterview>PermissionSetFilter_view</filterview>
-  <editview>PermissionSetEdit_view</editview>
-  <preview>PermissionSetPreview_view</preview>
-  <entity>PermissionSet_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>9b826112-967a-4dd1-ab50-e6ca8c9554fd</name>
-      <view>PermissionSetMain_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>eaa7dbdc-da6f-43a2-acd0-f71d7aaff96c</name>
-      <view>PermissionSetFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>18b656ef-33f7-40ca-a86b-dfdcfe96b3f2</name>
-      <view>PermissionSetEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>5b618ffc-1124-46ae-ad88-0b207688689a</name>
-      <view>PermissionSetPreview_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
diff --git a/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod b/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
index 026d72f2c8da0f365ea3b06957801230d6a81241..da5e03a799d8c27874e64c735cd1866f35f04da6 100644
--- a/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
+++ b/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
@@ -4,9 +4,9 @@
   <title>relations</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
-    <boxLayout>
+    <noneLayout>
       <name>layout</name>
-    </boxLayout>
+    </noneLayout>
   </layout>
   <children>
     <genericMultipleViewTemplate>
diff --git a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
index 96ab4aaa5c1834839a22ab2c3fb4b7281862a8a3..d32ae264479187b9de8b7fcb5e17d422352e88b0 100644
--- a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
+++ b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
@@ -3,9 +3,9 @@
   <name>CampaignStepsGantt_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
-    <boxLayout>
+    <noneLayout>
       <name>layout</name>
-    </boxLayout>
+    </noneLayout>
   </layout>
   <children>
     <ganttViewTemplate>
diff --git a/neonView/ClassificationAdminFilter_view/ClassificationAdminFilter_view.aod b/neonView/ClassificationAdminFilter_view/ClassificationAdminFilter_view.aod
deleted file mode 100644
index 3185915eb024af0070a9f5f42c8da43e8ee525ce..0000000000000000000000000000000000000000
--- a/neonView/ClassificationAdminFilter_view/ClassificationAdminFilter_view.aod
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationAdminFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Classificationtypes</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>44e91668-7947-49e2-8aa4-b9a03bc87842</name>
-          <entityField>UID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod b/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
index 297fa04cf2a555ceebf18e9a9bb30dc6b721e1cd..423b78a6c95dfa2f33262e2f5e51bf40e3e64aa7 100644
--- a/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
+++ b/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
@@ -2,18 +2,21 @@
 <neonView 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/neonView/1.1.1">
   <name>ClassificationAdminTree_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
   <layout>
-    <noneLayout>
+    <boxLayout>
       <name>layout</name>
-    </noneLayout>
+    </boxLayout>
   </layout>
   <children>
     <treeViewTemplate>
       <name>classificationTree</name>
       <titleField>SCORETYPE</titleField>
       <defaultGroupFields>
+        <element>CLASSIFICATIONTYPE</element>
         <element>CLASSIFICATIONGROUP</element>
       </defaultGroupFields>
+      <hideContentSearch v="true" />
       <showChildrenCount v="false" />
       <entryAction>edit</entryAction>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod b/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
index 6a1e41c260e10ecafb368e099cb261c13c10d2a4..b8c8b7594b6189ef25f0a104b8a4e8288e3d60b6 100644
--- a/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
+++ b/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
@@ -4,9 +4,10 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
   <layout>
-    <noneLayout>
+    <drawerLayout>
       <name>layout</name>
-    </noneLayout>
+      <layoutCaption>Possible Values</layoutCaption>
+    </drawerLayout>
   </layout>
   <children>
     <genericMultipleViewTemplate>
diff --git a/neonView/ClassificatonAdminEdit_view/ClassificatonAdminEdit_view.aod b/neonView/ClassificatonAdminEdit_view/ClassificatonAdminEdit_view.aod
index 208379bfca595f4f872c0fce82564cd3c36ccb96..b0ef52c8a97aa2eab368e78f72d7057ef1f84996 100644
--- a/neonView/ClassificatonAdminEdit_view/ClassificatonAdminEdit_view.aod
+++ b/neonView/ClassificatonAdminEdit_view/ClassificatonAdminEdit_view.aod
@@ -15,6 +15,10 @@
       <drawerCaption>Classification</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
+        <entityFieldLink>
+          <name>31662c73-7352-4eb2-889d-3f63bff25686</name>
+          <entityField>CLASSIFICATIONTYPE</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>7fddc4d4-6bdc-4c7a-9d69-bba4a9506707</name>
           <entityField>CLASSIFICATIONGROUP</entityField>
diff --git a/neonView/PermissionActionEdit_view/PermissionActionEdit_view.aod b/neonView/PermissionActionEdit_view/PermissionActionEdit_view.aod
deleted file mode 100644
index 4bdaa43bee0dc7cf01a422e527b3fb09926528d0..0000000000000000000000000000000000000000
--- a/neonView/PermissionActionEdit_view/PermissionActionEdit_view.aod
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionActionEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c2211f64-0134-4fff-b5bf-194fd4580d81</name>
-          <entityField>AB_PERMISSION_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5b378d43-5112-4d4d-9207-cd9b2caa7d1d</name>
-          <entityField>ACTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionActionFilter_view/PermissionActionFilter_view.aod b/neonView/PermissionActionFilter_view/PermissionActionFilter_view.aod
deleted file mode 100644
index 2ec89c457b59c100f31e39efa64e21ed5fbf0f0a..0000000000000000000000000000000000000000
--- a/neonView/PermissionActionFilter_view/PermissionActionFilter_view.aod
+++ /dev/null
@@ -1,31 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionActionFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>641efc97-974e-4f8b-972f-54f75c3707a7</name>
-          <entityField>AB_PERMISSIONACTIONID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>8c116c1f-8323-4c55-8607-05ec9450e2a1</name>
-          <entityField>AB_PERMISSION_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e7c5906a-f747-403b-927d-66bcf2eee167</name>
-          <entityField>ACTION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionActionMain_view/PermissionActionMain_view.aod b/neonView/PermissionActionMain_view/PermissionActionMain_view.aod
deleted file mode 100644
index d61d91733f95aee044a5833824dea203cecb9407..0000000000000000000000000000000000000000
--- a/neonView/PermissionActionMain_view/PermissionActionMain_view.aod
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionActionMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>ec5bf5af-b20e-417e-87ac-fa52e069a7ef</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>ec5bf5af-b20e-417e-87ac-fa52e069a7ef</name>
-      <entityField>#ENTITY</entityField>
-      <view>PermissionActionPreview_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/PermissionActionPreview_view/PermissionActionPreview_view.aod b/neonView/PermissionActionPreview_view/PermissionActionPreview_view.aod
deleted file mode 100644
index e43fa1a1b776a70a2f20b9707d2c03de4f5e9c4a..0000000000000000000000000000000000000000
--- a/neonView/PermissionActionPreview_view/PermissionActionPreview_view.aod
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionActionPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <titleField>AB_PERMISSIONACTIONID</titleField>
-      <subtitleField>AB_PERMISSION_ID</subtitleField>
-      <descriptionField>ACTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </cardViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionAdminMain_view/PermissionAdminMain_view.aod b/neonView/PermissionAdminMain_view/PermissionAdminMain_view.aod
deleted file mode 100644
index a9dbfbf7fd5f55b1a145d4590325abf7703ba5d6..0000000000000000000000000000000000000000
--- a/neonView/PermissionAdminMain_view/PermissionAdminMain_view.aod
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionAdminMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>3549ccf4-0509-41b1-b048-ad3eec217b56</name>
-      <entityField>PermissionSets</entityField>
-      <view>PermissionSetFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/PermissionEdit_view/PermissionEdit_view.aod b/neonView/PermissionEdit_view/PermissionEdit_view.aod
deleted file mode 100644
index d1520edc9b4b40e33998759ccb083a5cfc21704a..0000000000000000000000000000000000000000
--- a/neonView/PermissionEdit_view/PermissionEdit_view.aod
+++ /dev/null
@@ -1,31 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>3fc8953d-ee49-4658-bfdb-02ceabb9d7d0</name>
-          <entityField>AB_PERMISSIONSET_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fd3bd753-2584-4303-9d23-724b609fb164</name>
-          <entityField>COND</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3525447a-16aa-4e53-bb1e-58a9b6b5d963</name>
-          <entityField>CONDTYPE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionFilter_view/PermissionFilter_view.aod b/neonView/PermissionFilter_view/PermissionFilter_view.aod
deleted file mode 100644
index 4c36b8f1bf96cc41ecc79973aff4a42285e3fac1..0000000000000000000000000000000000000000
--- a/neonView/PermissionFilter_view/PermissionFilter_view.aod
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <autoNewRow v="false" />
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>fd0ebb2c-8709-48c2-b9c9-b091984ff215</name>
-          <entityField>AB_PERMISSIONID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f75af053-64a0-4a32-ae98-aef43e8fd48d</name>
-          <entityField>AB_PERMISSIONSET_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4e020af7-16b3-43f5-a6aa-f138a1af84fe</name>
-          <entityField>COND</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>26eb506e-c1af-4c15-86c2-dbdeedd99829</name>
-          <entityField>CONDTYPE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionMain_view/PermissionMain_view.aod b/neonView/PermissionMain_view/PermissionMain_view.aod
deleted file mode 100644
index 1e74ecb5f34bcae6207d9442c2a77077c5045aaf..0000000000000000000000000000000000000000
--- a/neonView/PermissionMain_view/PermissionMain_view.aod
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>be583013-2f62-44bb-8419-c438c9b6e2bf</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>be583013-2f62-44bb-8419-c438c9b6e2bf</name>
-      <entityField>#ENTITY</entityField>
-      <view>PermissionPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ce0f025d-c465-4c46-ae41-40b66a3a65a7</name>
-      <entityField>PermissionPermissionActions</entityField>
-      <view>PermissionActionFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/PermissionPreview_view/PermissionPreview_view.aod b/neonView/PermissionPreview_view/PermissionPreview_view.aod
deleted file mode 100644
index 2991f6b11e2e20b629176ece529726a3cb793cca..0000000000000000000000000000000000000000
--- a/neonView/PermissionPreview_view/PermissionPreview_view.aod
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField></iconField>
-      <titleField>AB_PERMISSIONID</titleField>
-      <subtitleField>AB_PERMISSIONSET_ID</subtitleField>
-      <descriptionField>COND</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionSetEdit_view/PermissionSetEdit_view.aod b/neonView/PermissionSetEdit_view/PermissionSetEdit_view.aod
deleted file mode 100644
index 157ca2033eb7d89cffa6fb801f5ad7b8777afbf3..0000000000000000000000000000000000000000
--- a/neonView/PermissionSetEdit_view/PermissionSetEdit_view.aod
+++ /dev/null
@@ -1,39 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionSetEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>1ee315a6-ff9a-4b31-b789-d591b63de3a8</name>
-          <entityField>AB_PERMISSIONSET_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>512e0f3f-b907-4c7b-9c9f-b3049785e54c</name>
-          <entityField>ACCESSTYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b77cae1d-b31c-4d66-89c5-8f192ca92a6b</name>
-          <entityField>ENTITY_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4e7543bd-9148-490d-a5d0-1147426ab830</name>
-          <entityField>ROLE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>50738384-3e3f-4f4c-a551-fb1fd1c8630b</name>
-          <entityField>FIELD_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionSetFilter_view/PermissionSetFilter_view.aod b/neonView/PermissionSetFilter_view/PermissionSetFilter_view.aod
deleted file mode 100644
index 0fae1abf24eef141e7b0ec1d702e2e36f407e868..0000000000000000000000000000000000000000
--- a/neonView/PermissionSetFilter_view/PermissionSetFilter_view.aod
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionSetFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>Treetable</name>
-      <parentField>AB_PERMISSIONSET_ID</parentField>
-      <titleField>#TITLE</titleField>
-      <descriptionField>ROLE_ID</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>47eb58d4-da06-408c-bcd1-04f4dbe29990</name>
-          <entityField>AB_PERMISSIONSETID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1eb7e7f4-0bcc-4606-b02f-694a9be602a9</name>
-          <entityField>AB_PERMISSIONSET_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>03009aa0-b334-4ee3-b90d-acb872e3a6b5</name>
-          <entityField>ROLE_ID</entityField>
-          <width v="75" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>da15c508-14e9-4041-b673-12cadfa89988</name>
-          <entityField>ENTITY_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>aa88c597-c427-4d94-b5d5-e434decf8dd1</name>
-          <entityField>FIELD_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>56f67868-6421-4664-9dcc-e6f578951dba</name>
-          <entityField>ACCESSTYPE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/PermissionSetMain_view/PermissionSetMain_view.aod b/neonView/PermissionSetMain_view/PermissionSetMain_view.aod
deleted file mode 100644
index 13a4ee4fcc33ee7fadde7ef31121c2bb3f72df9f..0000000000000000000000000000000000000000
--- a/neonView/PermissionSetMain_view/PermissionSetMain_view.aod
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionSetMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>8f6399dd-2a33-4f6a-b0f9-cceda7da5d24</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>8f6399dd-2a33-4f6a-b0f9-cceda7da5d24</name>
-      <entityField>#ENTITY</entityField>
-      <view>PermissionSetPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>9135a8c5-28aa-4a66-af91-fcdf4c680d1e</name>
-      <entityField>Permissions</entityField>
-      <view>PermissionFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/PermissionSetPreview_view/PermissionSetPreview_view.aod b/neonView/PermissionSetPreview_view/PermissionSetPreview_view.aod
deleted file mode 100644
index e498f92bd54f3b218c02f792dab3424da4e25f82..0000000000000000000000000000000000000000
--- a/neonView/PermissionSetPreview_view/PermissionSetPreview_view.aod
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionSetPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>#ICON</iconField>
-      <titleField>AB_PERMISSIONSETID</titleField>
-      <subtitleField>ROLE_ID</subtitleField>
-      <descriptionField>ENTITY_ID</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="false" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>76a1cfbb-5c30-410c-84c5-c0473282f8ed</name>
-          <entityField>ACCESSTYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>34f3342c-7269-42d2-a24d-cdf962186f19</name>
-          <entityField>FIELD_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index ff1c7af2fd6406b918a9bcebea20ad70afe4dd9c..6aeddbb32771721192bb676fa6d46006e174a425 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -69,10 +69,6 @@
       <drawerCaption>Further informations</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
-        <entityFieldLink>
-          <name>7fb4fd2e-6076-461b-8d56-9ce4a939d281</name>
-          <entityField>ClassificationResult</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>9fe11db5-ec66-4238-9c56-5ace055f1d90</name>
           <entityField>INFO</entityField>
@@ -92,18 +88,14 @@
           <name>79490331-6be4-422f-9450-da0db56f0654</name>
           <entityField>InactiveTime</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>ce670b75-346e-4aeb-b72d-5ef68dd77e71</name>
-          <entityField>RemainingTime</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>884d9900-7e75-42d1-a669-53f6aae5c420</name>
-          <entityField>RunTime</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>838cc7e2-6d6a-484a-92ad-d01adc2504df</name>
           <entityField>ClassificationResult</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>ce670b75-346e-4aeb-b72d-5ef68dd77e71</name>
+          <entityField>RemainingTime</entityField>
+        </entityFieldLink>
       </fields>
     </scoreCardViewTemplate>
   </children>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index 9c84cfb4f2d4148ad62de089c7815962cb0f8fac..3e5bbf87dec599e4e0be6ba8428dd5cbee05fced 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -2,7 +2,7 @@
 <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.1.0">
   <name>_____PREFERENCES_PROJECT</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <projectName>xRM-Basic5</projectName>
+  <projectName>xRM-Basic2019</projectName>
   <jditoMaxContentSize v="57671680" />
   <calendarCategoriesEvent>
     <entry>
diff --git a/process/Classification_lib/process.js b/process/Classification_lib/process.js
index 7e9c2d89fabc34e4261acef7a829868c4037e4a1..e7bb5db9c2e8204942b311c2a28547f34f7caaa4 100644
--- a/process/Classification_lib/process.js
+++ b/process/Classification_lib/process.js
@@ -1,3 +1,5 @@
+import("system.logging");
+import("system.vars");
 import("system.db");
 import("Sql_lib");
 
@@ -62,4 +64,57 @@ ClassificationUtils.mapToClass = function(pScore)
         return "A";
     
     return "_";
+}
+
+ClassificationUtils.getAllGroups = function(pClassificationtype, twoCol)
+{
+    var sql = SqlCondition.begin()
+                .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPE", pClassificationtype)
+                .buildSql("select distinct CLASSIFICATIONGROUP" + (twoCol ? ", CLASSIFICATIONGROUP" : "") + " from CLASSIFICATIONTYPE", "", " order by CLASSIFICATIONGROUP")
+    
+    if (twoCol)
+        return db.table(sql);
+    else
+        return db.array(db.COLUMN, sql);
+}
+
+ClassificationUtils.getGroupFromDb = function(pClassificationtypeId)
+{
+    return db.cell(SqlCondition.begin()
+                .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", pClassificationtypeId)
+                .buildSql("select CLASSIFICATIONGROUP from CLASSIFICATIONTYPE", "", " order by CLASSIFICATIONGROUP"))
+}
+
+ClassificationUtils.changeGroupName = function(pOldName, pNewName, pClassificationType)
+{
+    var groups = ClassificationUtils.getAllGroups(pClassificationType, false)
+                
+    if (groups.indexOf(pNewName, 0) == -1)
+    {
+        db.updateData("CLASSIFICATIONTYPE", ["CLASSIFICATIONGROUP"], null, [pNewName], SqlCondition.equals("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP", pOldName, "1=2"));
+    }
+}
+
+ClassificationUtils.getUsageType = function(pParamField, pSelectionField)
+{
+    if (vars.exists(pParamField) && vars.get(pParamField))
+        classificationType = vars.get(pParamField);
+    else if (vars.exists(pSelectionField) && vars.get(pSelectionField))
+    {
+        var selection = vars.get(pSelectionField);
+        if (selection.length > 0 && selection[0]["CLASSIFICATIONTYPE"])
+        {
+            classificationType = selection[0]["CLASSIFICATIONTYPE"];
+        }
+    }
+    
+    return classificationType;
+}
+
+ClassificationUtils.changeScoreName = function(pNewScoreName, pClassificationTypeId)
+{
+    logging.log(pNewScoreName)
+    logging.log(pClassificationTypeId)
+    
+    db.updateData("CLASSIFICATIONTYPE", ["SCORETYPE"], null, [pNewScoreName], SqlCondition.equals("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", pClassificationTypeId, "1=2"));
 }
\ No newline at end of file
diff --git a/process/autostartNeon/process.js b/process/autostartNeon/process.js
index e80cf3c174ce12bc2daf4c1ab758241b2b4477d8..9188b8fe3be8ddcd93acdc06c8ac6aa26b76b05e 100644
--- a/process/autostartNeon/process.js
+++ b/process/autostartNeon/process.js
@@ -4,17 +4,6 @@ import("system.notification")
 import("system.text");
 import("system.util");
 
-var users = ["Admin", "Birgit Leicht", "John Doe"]
-calendars.addPermissions(users, calendars.VEVENT, ["READ", "WRITE"], null, false, calendars.SORTSTRATEGY_NATURAL);
+var users = ["Admin", "Birgit Leicht", "Harold Smith", "Herbert Obermeier", "Lisa Sommer", "Susanne Lustig"];
+calendars.setCalendarUser(users, calendars.RIGHT_READ | calendars.RIGHT_WRITE, false, calendars.SORTSTRATEGY_NATURAL);
 calendars.setCheckAttendeesOnWrite(false);
-
-//var user = tools.getCurrentUser();
-//var notis = notification.getUserNotifications(user["name"], null);
-//
-//var noti = notis[0];
-//logging.log("noti USERID: " + noti);
-//logging.log("noti2 USERID: " + noti[notification.USERID.toSource()]);
-//notification.updateUserNotificationState(noti[notification.USERID], noti[notification.CONTENTID], notification.STATE_ARCHIVE);
-//
-//notis = notification.getUserNotifications(user["name"], null);
-//logging.log("notifications: " + notis[0][notification.STATE]);
\ No newline at end of file