diff --git a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js
index ad39e57e9cd6587861d2480f9fbde1e483008f00..9360238deb1103fbc8489a29aa4c4b21caf2d3c6 100644
--- a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js
+++ b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js
@@ -4,7 +4,7 @@ import("system.db");
 import("system.vars");
 import("system.tools");
 
-if(tools.hasRole(vars.get("$sys.user"), "PROJECT_Support"))
+if(tools.hasRole(vars.get("$sys.user"), "PROJECT_ServiceAgent"))
 {
     var filter = "( +_index_group_:KNOWLEDGE_KNOWLEDGEBASE + ( (publish_value: 2)) ) OR ( -_index_group_:KNOWLEDGE_KNOWLEDGEBASE )";
     result.string(filter)
diff --git a/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js b/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js
index 5d1039bbe8559176b283e8c12d1f54b38b532ed5..191b98d61432415034ddabec9628a671b9c51808 100644
--- a/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js
+++ b/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js
@@ -10,6 +10,4 @@ if (binaryDocumentID)
     var myDocumentFilename = db.getBinaryMetadataForIds([binaryDocumentID], true, alias);
 
     result.string(myDocumentFilename[0].filename);   
-}
-    
-
+}
\ No newline at end of file
diff --git a/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod b/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod
index e12fe53688b1e534b6490e8c59808804e620e935..ccc84cd798c854899d3353f4d0b607ee73b89138 100644
--- a/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod
+++ b/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod
@@ -17,8 +17,6 @@
     </entityField>
     <entityField>
       <name>NAME</name>
-      <title>Filename</title>
-      <dropDownProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js</dropDownProcess>
       <state>AUTO</state>
     </entityField>
     <entityProvider>
@@ -42,6 +40,7 @@
     </entityField>
     <entityField>
       <name>BINARY_FILENAME</name>
+      <title>Filename</title>
     </entityField>
     <entityField>
       <name>BINARY_ID</name>
@@ -50,6 +49,11 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>CONTEXT</name>
+      <title>Source</title>
+      <displayValueProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js</displayValueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -57,7 +61,6 @@
       <jDitoRecordAlias>_____SYSTEMALIAS</jDitoRecordAlias>
       <isSortable v="true" />
       <contentProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
-      <rowCountProcess></rowCountProcess>
       <onInsert>%aditoprj%/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/onInsert.js</onInsert>
       <recordFieldMappings>
         <jDitoRecordFieldMapping>
@@ -69,6 +72,9 @@
         <jDitoRecordFieldMapping>
           <name>preview.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>CONTEXT.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js b/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5241df31243ce36dbb418a5f0f02a22e909ec36c
--- /dev/null
+++ b/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.translate");
+import("system.result");
+
+result.string(translate.text(vars.get("$field.CONTEXT")));
\ No newline at end of file
diff --git a/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js b/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js
deleted file mode 100644
index d955208bdc545425d13265311960fb97519db5c7..0000000000000000000000000000000000000000
--- a/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import("system.vars");
-import("system.db");
-import("Sql_lib");
-import("system.translate");
-import("system.result");
-
-
-let ticketID = vars.get("$param.TicketId_param");
-if (ticketID)
-{
-    let alias = SqlUtils.getBinariesAlias();
-    var ticketFileNames = db.getBinaryMetadataForIds([ticketID], true, alias);
-
-    result.object(ticketFileNames);   
-}
diff --git a/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js b/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js
index 379a4d80a8ca2a9d9293cd39da12df5de28c55b7..afecdd627c44553793553b2b936836873cb9cb9c 100644
--- a/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js
@@ -17,10 +17,26 @@ import("system.result");
     let ticketID = vars.get("$param.TicketId_param");
     if(ticketID)
     {
-        let alias = SqlUtils.getBinariesAlias();
-        var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias);
-        ticketFileIds.forEach(function(binaryMetaData){
-              mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview])
+        let Binariesalias = SqlUtils.getBinariesAlias();
+        let Dataalias = SqlUtils.getDataAlias();
+        // ADD ALSO ALL DOCUMENTS FROM CORESPONDENTING ACTIVITIES     
+        var activityRowIds = newSelect("ACTIVITYLINK.ACTIVITY_ID", Dataalias)
+                         .from("ACTIVITYLINK")
+                         .where("ACTIVITYLINK.OBJECT_ROWID",ticketID)
+                         .arrayColumn()
+    
+        activityRowIds.forEach(function(activityId)
+        {
+            var activityFileIds = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, Binariesalias);
+            activityFileIds.forEach(function(binaryMetaData){
+            binaryMetaData["context"] = "Activity";
+            mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview, binaryMetaData.context])
+        });
+        });  
+            var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, Binariesalias);
+            ticketFileIds.forEach(function(binaryMetaData){
+            binaryMetaData["context"] = "Serviceticket";
+            mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview, binaryMetaData.context])
         });  
     }
     result.object(mapDates);
diff --git a/entity/ServiceEmail_entity/afterUiInit.js b/entity/ServiceEmail_entity/afterUiInit.js
index 6684d982bdbfe52853f7125b3eba61304c560c01..457c932e3aed55cae26fec07509873841b55a63e 100644
--- a/entity/ServiceEmail_entity/afterUiInit.js
+++ b/entity/ServiceEmail_entity/afterUiInit.js
@@ -137,21 +137,21 @@ if( vars.get("$param.ActionName_param")  && (vars.get("$param.ActionName_param")
     
     activityRowIds.forEach(function(activityId)
     {
-         var activityFileIds = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, alias);
-         activityFileIds.forEach(function(fileID){
+         var activityFile = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, alias);
+         activityFile.forEach(function(file){
             neon.addRecord("TicketDocumentsCons", {
-               "DOCUMENTFILE":fileID
+               "DOCUMENTFILE":file.id
             });
         });  
     });  
     
     // ADD original ticket dockuments
-    var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias);
-     ticketFileIds.forEach(function(fileID){
+    var ticketFile = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias);
+     ticketFile.forEach(function(file){
           neon.addRecord("TicketDocumentsCons", {
-             "DOCUMENTFILE":fileID.id
+             "DOCUMENTFILE":file.id
         });
-     });  
+     }); 
 }
 
 /// SET DEFAULS STATUS
diff --git a/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js b/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js
index 8c507747bc810136d2b47e3289006557b8678a66..082d2c305af780656f5456963a7dc03f056ed276 100644
--- a/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js
@@ -112,19 +112,22 @@ if(vars.exists("$field.TicketDocumentsCons.insertedRows"))
         if(binaryDocumentID)
         {
             let alias = SqlUtils.getBinariesAlias();
-            var myDocumentInfos =  SqlUitils.getBinaryMetadata("TICKET", "DOCUMENT", binaryDocumentID, true, Alias);
-            fileName = myDocumentInfos.filename; 
+            var myDocumentInfos =  db.getBinaryMetadataForIds([binaryDocumentID], true, alias);
             
-            contentBinary =  db.getBinaryContent(myDocumentInfos.id, alias)
+            fileName     = myDocumentInfos[0].filename;
+            fileSize     = myDocumentInfos[0].size;
+            filemimeType = myDocumentInfos[0].mimetype;
             
-            fileSize = myDocumentInfos.size;
-            if(myDocumentInfos && contentBinary)
+            contentBinary =  db.getBinaryContent(myDocumentInfos[0].id, alias)
+            
+            if(myDocumentInfos[0] && contentBinary)
             {
                 
                 eml.attachmentTemplates.push(
                 {
                     content:  contentBinary,
-                    filename: fileName  
+                    mimeType: filemimeType,
+                    filename: fileName
                 });
                  
                 mySendedFiles += ('- "' + fileName + '" | Size: ' + fileSize +';<br/> ');
@@ -170,7 +173,7 @@ if(returnedMsgAfterSend == true)
     var infoText = translate.text("Mailing to customer"); 
     if(sendType != "external")
     {
-        infoText = translate.text("Internal mailing");
+        infoText = translate.text("Internal forwarding via mailing");
     }    
 
     //insert Activity
diff --git a/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js b/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js
index 3ee26efad0f035c6825bd04f0c91ce4eaf647e7e..0cfb4574d1eec717268c7fe9cdbf565f9ec13743 100644
--- a/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js
+++ b/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js
@@ -5,8 +5,8 @@ import("system.result");
 
 
 result.string( newSelect("count(*)")
-    .from("ACTIVITY")
-    .where("ACTIVITY.PARENT_CONTEXT", ContextUtils.getCurrentContextId())
-    .and("ACTIVITY.PARENT_ID", vars.get("$field.TICKETID"))
+    .from("ACTIVITYLINK")
+    .where("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId())
+    .and("ACTIVITYLINK.OBJECT_ROWID", vars.get("$field.TICKETID"))
     .cell()
 );
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 4492b3414a545216935ed7dc2eaeb3cbb4a9583f..54877615643425e6c73f3cb12e87d10e65e19b8c 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -11096,6 +11096,21 @@
     <entry>
       <key>${MIN_MAX_ERROR_MAX_INT_VALUE} field: %0, value: %1, min: %2</key>
     </entry>
+    <entry>
+      <key>Internal forwarding via mailing</key>
+    </entry>
+    <entry>
+      <key>A Phase filter has to be set when creating a checklistentry for the Salesproject Context.</key>
+    </entry>
+    <entry>
+      <key>Search component</key>
+    </entry>
+    <entry>
+      <key>Intenral mailing</key>
+    </entry>
+    <entry>
+      <key>Mailing to customer</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c5fbc600f3187815a087b7df2d66154a2de32587..0c8d26e9dd81d7404b03ad0957f6b9e3df10aaae 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -1346,6 +1346,9 @@
       <key>My Turnover</key>
       <value>Mein Umsatz</value>
     </entry>
+    <entry>
+      <key>Intenral mailing</key>
+    </entry>
     <entry>
       <key>NORMAL</key>
       <value>normal</value>
@@ -6749,6 +6752,10 @@
       <key>Existing contact</key>
       <value>Bestehender Kontakt</value>
     </entry>
+    <entry>
+      <key>Internal forwarding via mailing</key>
+      <value>Interne Weiterleitung via Mail</value>
+    </entry>
     <entry>
       <key>Mailing</key>
       <value>Mailing</value>
@@ -7379,6 +7386,10 @@
       <key>USER_EDIT</key>
       <value>USER_EDIT</value>
     </entry>
+    <entry>
+      <key>Mailing to customer</key>
+      <value>Mail an Kunden</value>
+    </entry>
     <entry>
       <key>CONTACTID (UID)</key>
       <value>Kontakt ID</value>
@@ -13076,6 +13087,10 @@ Bitte Datumseingabe prüfen</value>
       <key>OpenDocument Graphics</key>
       <value>OpenDocument Grafik</value>
     </entry>
+    <entry>
+      <key>Search component</key>
+      <value>Suchkomponente</value>
+    </entry>
     <entry>
       <key>OpenDocument Graphics Template</key>
       <value>OpenDocument Grafikvorlage</value>
@@ -14503,7 +14518,7 @@ Bitte Datumseingabe prüfen</value>
       <key>Employee group already selected.</key>
     </entry>
     <entry>
-      <key>Open new mosaico template</key>
+      <key>A Phase filter has to be set when creating a checklistentry for the Salesproject context.</key>
     </entry>
     <entry>
       <key>Open new mosaico template</key>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index b39d47e306b779a08bc8a967a51647140a06fd85..2eb9fd685016cd5925b317493490a583120812f9 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -11192,6 +11192,21 @@
     <entry>
       <key>Guest</key>
     </entry>
+    <entry>
+      <key>Internal forwarding via mailing</key>
+    </entry>
+    <entry>
+      <key>A Phase filter has to be set when creating a checklistentry for the Salesproject Context.</key>
+    </entry>
+    <entry>
+      <key>Search component</key>
+    </entry>
+    <entry>
+      <key>Intenral mailing</key>
+    </entry>
+    <entry>
+      <key>Mailing to customer</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod b/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod
index de30445d96c54990e26b74ad0a23f9bc69eda1d7..ecadc5cb1afe586e0e973d8a261a1f8a35f1e837 100644
--- a/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod
+++ b/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod
@@ -20,6 +20,10 @@
           <name>1e6c40af-b728-4e5c-94e3-74bc2b438c38</name>
           <entityField>BINARY_FILENAME</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>aa5c3961-98c3-4d72-a246-0a4015103683</name>
+          <entityField>CONTEXT</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index f6f3c7abce65917d179d87caeca557a7d7c52bba..53ab0caac36683e0428368e59387b678f6ff4455 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -45,6 +45,7 @@
   <indexsearchIncrementingIndexerInterval v="1000" />
   <indexsearchIncrementingIndexerBunchSize v="250" />
   <userdirectoryAlias>_____SYSTEMALIAS</userdirectoryAlias>
+  <binariesAlias>_____SYSTEMALIAS</binariesAlias>
   <mailBridgeMailserver>
     <mailbridgeMailserver>
       <name>abfa63d1-a47e-41f6-a87d-138bf04adc1e</name>
diff --git a/process/activeDirectoryImport_serverProcess/process.js b/process/activeDirectoryImport_serverProcess/process.js
index 0c06426a2e47db1fa71704fc3c1be2594dd3c7d9..8196b7468f9c9c5b923b4c560e592b40f98379e7 100644
--- a/process/activeDirectoryImport_serverProcess/process.js
+++ b/process/activeDirectoryImport_serverProcess/process.js
@@ -37,7 +37,7 @@ var roleMapping = {
     "GroupName4" : "PROJECT_Marketing",
     "GroupName5" : "PROJECT_OfficeStaff",
     "GroupName6" : "PROJECT_ProjectManagement",
-    "GroupName7" : "PROJECT_Support",
+    "GroupName7" : "PROJECT_ServiceAgent",
     "GroupName8" : "PROJECT_Workflow"
 };
 
diff --git a/process/mailbridge_service/process.js b/process/mailbridge_service/process.js
index 8fb7bd912497800f9542370491a59c0b8eef62ec..417fee26fbb075cea13b2163d92ebff1a73bbd27 100644
--- a/process/mailbridge_service/process.js
+++ b/process/mailbridge_service/process.js
@@ -350,12 +350,9 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj)
                             "categoryKeywordId"  : $KeywordRegistry.activityCategory$mail(), 
                             "userNew"            : "System"
                         }
-                        var ActivityLink =
-                        {
-                            "SupportTicket"  : ticketID
-                        }
+                        var ActivityLink = ["SupportTicket", ticketID];
 
-                        ActivityUtils.insertNewActivity(DataPreset, ActivityLink);
+                        ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]);
                         
                         // add Attachment from Mail
                         ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY")
@@ -387,11 +384,9 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj)
                         "categoryKeywordId"  : $KeywordRegistry.activityCategory$mail(), 
                         "userNew"            : "System"
                     }
-                    var ActivityLink =
-                    {
-                        "SupportTicket"  : ticketID
-                    }
-                    ActivityUtils.insertNewActivity(DataPreset, ActivityLink);
+                    var ActivityLink = ["SupportTicket", ticketID];
+        
+                    ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]);
                     
                     // add Attachment from Mail
                     ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY")
@@ -443,11 +438,10 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj)
                     "categoryKeywordId"  : $KeywordRegistry.activityCategory$mail(), 
                     "userNew"            : "System"
                 }
-                var ActivityLink =
-                {
-                    "SupportTicket"  : ticketID
-                }
-                ActivityUtils.insertNewActivity(DataPreset, ActivityLink);
+               
+                var ActivityLink = ["SupportTicket", ticketID];
+
+                ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]);
                 
                 ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY")
             }   
@@ -676,12 +670,10 @@ ticketMailbridgeUtils.createTicket = function(pMailObject, pFilterResult, pInbox
                     "content"            : "<p>"+ eml.subject +"</p><br>"+ eml.body.toString(),
                     "categoryKeywordId"  : $KeywordRegistry.activityCategory$mail(), 
                     "userNew"            : "System"
-                }
-                var ActivityLink =
-                {
-                    "SupportTicket"  : ticketID
-                }
-                ActivityUtils.insertNewActivity(DataPreset, ActivityLink);
+                }                
+                var ActivityLink = ["SupportTicket", ticketID];
+
+                ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]);
         }
         else
         {