Release-Notes Versionen 23.2.x
Neuheiten auf der Benutzeroberfläche
Marina PURE
Die neu gestaltete Benutzeroberfläche stellt die Bedürfnisse der Anwenderinnen und Anwender noch stärker in den Fokus und lenkt die Konzentration auf das Wesentliche: Das klar strukturierte und fokussierte Design von Marina PURE fördert intuitives Arbeiten und die abteilungsübergreifende Zusammenarbeit. Die für das Tagesgeschäft relevanten Kundeninformationen sind auf einen Blick sichtbar – weniger relevante Informationen werden kontextabhängig ausgeblendet.
Nach dem Konzept "Weniger ist mehr" werden nicht ausgefüllt Informationen, welche dem lesenden Anwender keinen Mehrwert bieten und stattdessen eher die Übersichtlichkeit reduzieren, in einer neuen Lesedarstellung nicht angezeigt. Die tatsächlich vorhandenen Informationen werden so komprimiert dargestellt, sodass der Anwender beim Öffnen einer Kundenakte nicht überfordert ist und kann sich stattdessen schnell einen Überblick verschaffen. Auch werden die Icons für Änderungen (z.B. Nachschlagen, Dropdown-Auswahl) in der Lesedarstellung nicht angezeigt und die Felder werden grundsätzlich optisch auf die Texte reduziert.
Zum schnellen Ändern (oder Löschen) von vorhandenen Informationen gibt es die Möglichkeit, in der Lesedarstellung einzelne Felder zu bearbeiten. Mithilfe eines einfachen Klicks gelangt der Anwender in die Bearbeitung des jeweiligen Feldes und kann dort Änderungen vornehmen. Diese Änderungen werden nicht implizit gespeichert, das aktive Speichern durch den Anwender ist weiterhin notwendig.
![](../../../__attachments/7012766/image2023-4-18_11-58-32.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Maske in der lesenden Darstellung
Zum Hinzufügen von Informationen innerhalb eines Datensatzes kann ein Anwender mithilfe des "Bearbeiten"-Buttons in der Toolbar in die Bearbeitungs-Darstellung wechseln, sodass die "fehlenden" Felder und Icons wieder angezeigt werden. Es handelt sich dabei nicht um eine globale / datensatzübergreifende Darstellung, sondern ist auf diesen speziellen Datensatz bezogen (Bearbeitung dieses Datensatzes). Eine Ausnahme bildet die levelbezogene Bearbeitung von Datensätzen, d.h. wenn mehrere Datensätze in einer Liste nacheinander bearbeitet werden (mithilfe der Buttons zur Datensatznavigation), bleibt der Modus erhalten.
Die Neuanlage von Datensätzen erfolgt grundsätzlich im bearbeitenden Modus, sodass alle Felder sichtbar sind. Gleiches gilt für die Masken in BPM-Prozessen.
![](../../../__attachments/7012766/image2023-4-18_12-1-46.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Maske in der bearbeitenden Darstellung
Informationen, die eine hohe Wichtigkeit haben, aber gleichzeitig nicht als Pflichtfelder klassifiziert werden können (weil sie beispielsweise bei der Neuanlage nicht immer ausgefüllt werden können), dürfen dabei natürlich auch im Lesemodus nicht vergessen werden. Hierfür wurde ein Ergänzungsfeature eingeführt, welches dabei unterstützt, wichtige Informationen auch nach der Neuanlage schnellstmöglich zu ergänzen (siehe Abschnitt "Datenqualität").
Die neue Benutzeroberfläche ist nur im Web Client verfügbar und kann nicht abgeschaltet werden (keine System- oder Benutzereinstellung vorhanden). Nach dem Update werden alle Masken automatisch im neuen Lese- und Bearbeitungsmodus dargestellt.
Datenqualität
Damit direkt ersichtlich ist, ob Datensätze mit den wichtigsten Informationen vollständig gefüllt sind, hat jeder Datensatz einen schnell ersichtlichen, visualisierten Score. Dieser zeigt an, wie viel Prozent der wichtigsten Informationen im vorliegenden Datensatz gefüllt sind. Sind bei einem Datensatz zum Beispiel nur 20 Prozent der relevanten Daten vorhanden, ist direkt klar, dass Nacharbeiten nötig sind bzw. fehlende Informationen ergänzt werden sollten.
Diese "wichtigen" Informationen werden über eine Feldeigenschaft "Relevant für Datenqualität" gekennzeichnet. Pflichtfelder sind automatisch als "Relevant für Datenqualität" gekennzeichnet.
![](../../../__attachments/7012766/image2023-4-18_10-37-37.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Visualisierung des Datenqualitäts-Scores für die Einschätzung des Füllgrades eines Datensatzes
Um die relevanten Felder nicht auf der Maske suchen zu müssen, kann der Anwender sich per Klick auf den Button die wichtigen Felder anzeigen lassen. In dem Dialog werden immer alle relevanten Felder angezeigt, damit auch die Aktualität dieser Felder überprüft werden kann.
![](../../../__attachments/7012766/image2023-4-18_13-49-29.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Datenqualitäts-Dialog zum Ausfüllen der Informationen
Nach Datensätzen mit einer bestimmten Datenqualität kann gezielt gesucht werden, z.B. "Zeige mir meine Ansprechpartner, deren Datenqualität unter 70% liegt". Die Datenqualität kann als Suchbedingung in Suchen hinzugefügt werden. Die Anzeige der Datenqualität in Suchergebnislisten bezieht sich allerdings immer auf die Datenqualität des Suchergebnis-Datensatzes, nicht auf eine eventuell eingefügte Datenqualitäts-Suchbedingung in Relationen der zugrunde liegenden Entität.
Die Datenqualität kann somit auch ausgewertet werden, z.B. die durchschnittliche Datenqualität aller Geschäftspartner in einem spezifischen Kundensegment innerhalb einer KPI-Kachel. Mit der Verfügbarkeit des Features werden entsprechende Standardsuchen und Kacheln zur Datenqualität ausgeliefert.
Für die Entitäten Geschäftspartner, Ansprechpartner, Anfragen, Angebote, Projekte, Verträge und Inbounds wurden einige wenige Standardfelder als relevant für die Datenqualität markiert.
Entfernung von Leerschlüsseln
Damit die Pflichtfeldeigenschaft zukünftig ihren eigentlichen Sinn erfüllen kann, wurde die Feldeigenschaft "Leerschlüssel erlauben" entfernt. Es gibt es somit nur noch die Unterscheidung zwischen Pflichtfeld ja/nein. Handelt es sich um ein Pflichtfeld, muss ein sinnhafter Wert eingetragen werden. Soll weiterhin eine Art Platzhalter für undefinierte Werte verwendet werden, muss dieser als Schlüssel manuell angelegt werden (z.B. "nicht zutreffend" / "keine Aussage möglich" / "undefiniert").
Ist ein Feld (vor der Umstellung) als Pflichtfeld definiert, aber mit einem erlaubten Leerschlüssel, muss dieses Feld zukünftig (nach der Umstellung) bei der nächsten Änderung durch den Anwender nachgepflegt werden. Bei der Bearbeitung eines Datensatzes, bei dem in einem Pflichtfeld ein Leerschlüssel eingetragen war, kommt spätestens beim Speichern der Hinweis auf das noch zu befüllende Pflichtfeld.
Der Leerschlüssel wird aktuell noch in Infoboard-Kacheln oder auch in der CURSOR-App angezeigt, soll aber demnächst auch dort entfernt werden.
Anpassungen an bestehenden Schnittstellen (z.B. REST-API) aufgrund dieser Änderung sind nicht notwendig. Für neue Schnittstellen sollen keine Leerschlüssel verwendet werden.
Bestehende Suchen, deren Suchbedingungen einen Leerschlüssel enthalten, sind weiterhin grundsätzlich funktionsfähig und verhalten sich analog des Suchoperators ist leer. Sie müssen allerdings angepasst werden, wenn zukünftig eine Art Platzhalter für undefinierte Werte (z.B. "nicht zutreffend" / "keine Aussage möglich" / "undefiniert") verwendet wird. Neue Suchen müssen mithilfe des Suchoperators ist leer gebaut werden.
Der Skriptbefehl isEmptyKeyAllowed ist veraltet und wird im Skript-Editor nicht mehr zur Auswahl angeboten. Stattdessen muss die Methode !MetaDataUtils.isNotNullField() genutzt werden.
Anpassung an den Prozessmasken
Um für den Anwender einen optimalen Workflow in BPM-Prozessen zu ermöglichen, sind Anpassungen an den Prozessmasken-Buttons (insb. "Fortfahren") durchgeführt worden. Der Anwender kann die notwendigen Infomationen im Formular nacheinander ausfüllen und direkt im Anschluss am unteren rechten Rand des jeweiligen Formulars den Prozess fortführen. Voraussetzung hierfür ist, dass die Prozessmaske auf erster Ebene in einer Spalte mit Maximalbreite konfiguriert ist. Ist keine Maximalbreite konfiguriert, wird der Fortfahren-Button am unteren rechten Rand angezeigt der Maske angezeigt. Wird in der Maske die Eigenschaft "vertikal vergrößern" nicht genutzt, kann sich der Fortfahren-Button direkt ans untere Ende des Formular anschließen, auch wenn die Komponente (z.B. Karte) nicht bis ans untere Ende des Fensters reicht.
![](../../../__attachments/7012766/image2023-4-18_19-1-53.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: BPM-Maske im Card-Layout und Positionierung des Fortfahren-Buttons in BPM-Prozessen
Die Funktionen "Prozess abbrechen" und "Prozess pausieren" sind nun im Schließen des Tabs platziert. Ein Klick auf den Schließen-Button des Tabs führt zu einer Abfrage, ob der Prozess unterbrochen (= Maske schließen, Variablen werden gespeichert, Benachrichtung im Benachrichtigungsmenü erscheint) oder abgebrochen (= Löschen der gesamten Instanz, räumt aber ggf. vorher angelegte Daten nicht auf) werden soll.
Weiterhin wurden nun auch alle BPM-Masken von C0-Prozessen überarbeitet und in das neue Card-Layout überführt. Die neuen BPM Standardmasken werden in nicht übersteuerten C0-Prozessen automatisch veröffentlicht und sind somit in der Anwendung sichtbar.
Wurde ein C0-Prozess übersteuert, aber es wird noch weiterhin die C0-BPM Maske verwendet, muss der Prozess einmal neu veröffentlicht werden, damit die neue C0-BPM-Maske in der Anwendung sichtbar ist.
Fortschrittsanzeige im BPM
Die Fortschrittsanzeige in BPM-Prozessen wurde wie folgt angepasst:
linksbündige Ausrichtung (wie Inhalte des Headers)
offene Phasen sind weiß , die Schrift ist schwarz
aktuelle Phase hat die Nutzerfarbe und weiße Schrift
erledigte Phasen haben aufgehellte Nutzerfarbe (Tabfarbe) und weiße Schrift
Border erhält das Grau der Feldumrahmung auf der Maske
Beschreibung "Phasenübersicht:" wird entfernt
Abrundung der Ecken um 2px
Teilprozessphasen werden in der Zeile der Phasen des Hauptprozesses angezeigt
Die Spitzen der Teilprozess-Phasen werden angeglichen (Mittendrin, am Ende)
Die Teilprozess-Phasen werden abgegrenzt dargestellt (Länge der Spitze)
![](../../../__attachments/7012766/3.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Prozeßverlauf im neuen Design
Stacked Layout für Kacheln
Das Stacked Layout ist ein einspaltiges Layout, welches insbesondere bei der CURSOR-App auf einem Smartphone angezeigt wird.
Hierfür wurde eine Layout-Verwaltung und eine Reihe von Verbesserungen durchgeführt:
Migration von bestehenden Boards und Kacheln
Die Höhen von Kacheln aus dem Infoboard im normalen Layout wird auch in das Stacked Layout übernommen. Wurden bisher schon Änderungen speziell für das Stacked Layout vorgenommen, gehen diese Änderungen verloren.
Änderungen von bestehenden Boards und Kacheln
Werden die Höhe von Kacheln im normalen Layout des Infoboard vergrößert/verkleinert, wirkt sich dies auch im Stacked Layout aus
Gibt es Änderungen im Stacked Layout werden die Größenänderungen aus dem normalen Layout nicht mehr in das Stacked Layout übernommen. Ab diesem Zeitpunkt ist das Stacked Layout von dem normalen Board gelöst worden.
Layout-Verwaltung und Stacked Layout
Es gibt nun im Infoboard-Menü einen neuen Schalter "Layout Verwaltung". Nach der Aktivierung erscheinen rechts oben Schalter, um zwischen dem normalen (mehrspaltigem) Layout, dem Stacked (einspaltigem) Layout zu wechseln
Das Stacked Layout ist auf eine Breite von 800 Pixel begrenzt.
Man kann zwischen mehreren Boards wechseln und der ausgewählte Modus bleibt bestehen.
Es gibt auch im Administrations-Modus die Möglichkeit in den Layout-Modus zu wechseln. So hat der Administrator die Möglichkeit, Infoboards und Kacheln für das Stacked Layout zu optimieren.
![](../../../__attachments/7012766/image2023-4-5_20-30-15.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Kachel-Layout vor der Optimierung
![](../../../__attachments/7012766/Stacked_Layout.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Kachel-Layout nach der Optimierung
Infokachel - Kanban v.2.0
Die Infokachel Kanban wurde überarbeitet. Sie zeigt beliebige Datensätze mit Statusbezug auf einem Kanban-Board. Ideale Einsatzbereiche der Kachel sind Tickets, Anfragen oder (organisatorische) Aktivitäten. Die Daten für das Kanban-Board können dabei aus einer Suche, einem Unterbereich oder dem aktuellen Arbeitsbereich stammen.
Das Kanban-Board besteht aus Spalten, die jeweils einen oder mehrere zusammengefasste Status repräsentieren. Auf diesen Spalten befinden sich Karten, wobei jede Karte einem Datensatz entspricht. Jede Karte ist mit den wichtigsten Informationen ausgestattet, so dass der Inhalt des Datensatz sofort ersichtlich ist. Um mehr Übersichtlichkeit zu schaffen, sind Filter- und Sortiereinstellungen vorgesehen, um das Kanban-Board individuell gestalten und anordnen zu können. Die gesamte Anzahl, wie viele Datensätze sich in den Spalten befinden, wird direkt neben der Spaltenüberschrift angezeigt. Neue Datensätze können einfach mit dem Button "Datensatz hinzufügen" angelegt werden, ohne dass ein weiterer Absprung im CRM-System notwendig ist.
![](../../../__attachments/7012766/image2023-7-31_13-37-25.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Beispiel einer Kanban-Kachel
UI-Anpassungen der Desktopbenachrichtigungen
Das Aussehen der Desktopbenachrichtigungen wurde überarbeitet. Die Benachrichtigungsdialoge wurde sowohl farblich als auch förmlich modernisiert. Dadurch sind die Mitteilungen deutlicher und einfacher zu lesen.
![](../../../__attachments/7012766/image2023-1-30_16-25-4.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Benachrichtigung über das Beenden eines Server-Tasks
Prozess-Icon im Header
Bei einem BPM-Prozess wird der Titel in einem Header dargestellt. Das Prozessicon ist nun wie das Entitätsicon links im Header zu sehen. Anstelle der Entität wird "BPM-Prozess" dargestellt und anstelle der Primärschlüssel wird der Prozessname dargestellt. Der Hintergrund ist weiß.
Der Prozesstitel liegt somit nicht auf der Maske, sondern auf einem übergeordneten Element.
![](../../../__attachments/7012766/TitelImHeader.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Prozesstitel im Header
Namensanzeige von Kacheln und Infoboards in der Kachel- und Boardverwaltung
Die Namen der Kacheln und Infoboards sind direkt ersichtlich und werden möglichst vollständig angezeigt, um sofort identifizieren zu können, mit welcher Kachel / welchem Board gearbeitet wird. Für den Titel der Kachel und des Boards stehen zwei Zeilen zur Verfügung.
![](../../../__attachments/7012766/image2023-5-2_10-38-10.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Auswahl von Kacheln
Infokachel Ressourcen-Kalender
Verbesserte Anzeige der Wochenansicht
Die Wochenansicht im Kalender beginnt mit dem Montag anstelle von dem Sonntag.
Filter-Sortier-Komponente für die nicht zugewiesenen Ereignisse
Die Datensätze der nicht zugewiesenen Ereignisse werden initial nach dem Datum ("Datum von") sortiert.
Buttons der Datensatznavigation
Die Buttons der Datensatznavigation wurden zu dem Counter der Datensätze nach rechts verschoben, damit der Kontext besser verständlich ist.
![](../../../__attachments/7012766/image2023-1-30_16-10-30.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Buttons der Datensatznavigation im Fokus
Lokale Kopie von Dokumenten innerhalb der Listenansicht im Unterbereich speichern
Wenn mehrere Dokumente ausgewählt wurden, können diese serverseitig in eine ZIP-Datei gepackt und im Anschluss heruntergeladen werden.
![](../../../__attachments/7012766/image2023-4-5_13-15-9.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Eine Liste von Dokumenten lokal speichern
Zwischensummen in Angebotspositionen (Web Client)
In den Angebotspositionen werden Zwischensummen in der Listenansicht mit fetter Schrift hervorgehoben.
![](../../../__attachments/7012766/Screenshot_20230405_230242.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Zwischensummen im Angebot
Umbenennung des Importordners
Mit der Outlook-Schnittstelle wird nun ein Ordner "Gesendete Elemente" anstatt "Gesendete Objekte" im Postfach der CRM-Anwender angelegt.
Für bestehende Installationen hat es keine Auswirkungen. Die Änderungen greifen in den Neu-Installationen.
![](../../../__attachments/7012766/image2023-4-5_13-30-8.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Ordner "Gesendete Elemente"
Header-Dropzone für Uploads im Web Client
Es wurde ein Dropbereich im Header eingeführt, der sich genauso wie jener im dialogContent verhält, aber immer nutzbar ist und Dokumente ohne Verknüpfung hochlädt.
Nachdem das Dokument hochgeladen wurde, wird ein neuer Datensatz angelegt und das importierte Dokument geöffnet.
![](../../../__attachments/7012766/image2023-4-5_20-10-23.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Visualisierung beim Drag & Drop über Header
Automatisch Mails bei Nachrichten erhalten
Anwender können einstellen und entscheiden, ob zusätzlich zu den Nachrichten im CRM-System noch Mail-Benachrichtigungen für Erwähnungen, Delegationen, Mitteilungen oder Veränderungen in beobachteten Datensätzen automatisch versendet werden sollen, um einen korrekten Informationsfluss zu gewährleisten und sicherzustellen, dass keine Informationen verloren gehen.
![](../../../__attachments/7012766/image2023-4-5_19-29-3.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Benutzereinstellungen für Mail-Benachrichtigungen
![](../../../__attachments/7012766/image2023-4-5_19-32-52.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Mailvorlage für eine CRM-Benachrichtigung
Benutzeroptionen für Nachschlagefelder
Diverse Benutzereinstellungen wurden in Bezug auf das Verhalten von Nachschlagefeldern (Schlüsselfelder zählen in diesem Fall als Nachschlagefelder) geprüft. Um die Komplexität der Anwendung zu reduzieren und die Benutzerfreundlichkeit zu steigern, wurden einige Benutzereinstellungen entfernt bzw. die Verhaltens-Steuerung geändert.
Folgende Benutzereinstellungen sind weggefallen:
Nachschlagefelder validieren mit „ist gleich“
Verhalten bei mehrdeutiger Eingabe in Nachschlagefeldern
Automatischer Fokuswechsel bei Nachschlagefeldern
Nachschlagebuttons beim Fokuswechsel überspringen
Nachschlagebutton ignoriert aktuellen Feldwert
Diese Systemeinstellung wurde entfernt:
Inhalt der Felder in Detailmasken
![](../../../__attachments/7012766/image2022-11-25_13-54-10.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Entfernte Benutzereinstellungen
![](../../../__attachments/7012766/image2023-4-5_16-18-5.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Entfernte Systemeinstellung
Verhaltensänderungen
Nachschlagefelder validieren mit „ist gleich“
Benutzer kann die Validierung nicht mehr beeinflussen. Hierfür kann die Einstellung seitens Administrator für ein dediziertes Feld genutzt werden, wo die Validierung mit "ist gleich" notwendig ist.
aktueller Standardsals Systemstandard → inaktivVerhalten bei mehrdeutiger Eingabe in Nachschlagefeldern
Da man davon ausgehen kann, dass der Nutzer in den überwiegenden Fällen eine fehlerhafte Eingabe korrigieren möchte, wurde dies vereinfacht
aktueller Standard als Systemstandard → Feld darf nicht verlassen werdenAutomatischer Fokuswechsel bei Nachschlagefeldern
Normalerweise ist ENTER typischerweise nur eine Bestätigung der Eingabe, während TAB auch die Navigation ins nächste Feld auslöst.
Aus Komfortabilitätsgründen erfolgt der automatische Fokuswechsel deswegen auch bei "Enter" oder "Klick"
aktueller Standard als Systemstandard → aktiv
In diesem Kontext wird Fokuswechsel bei Nachschlagefeldern auch nach Auswahl des Werts im Nachschlagebrowser aktiviertNachschlagebuttons beim Fokuswechsel überspringen
Der Anwendungsfall, dass man das Öffnen der Vorschlagsliste oder des Nachschlagefensters per Tastatur erledigen möchte, ist durch den Pfeil nach unten bzw. den Shortcut CTRL+N weiterhin möglich
Für alle anderen Anwendungsfälle wird das Fokussieren übersprungen
aktueller Standards als Systemstandard → aktivNachschlagebutton ignoriert aktuellen Feldwert
Es handelte sich um eine Sonderentwicklung, die im Standard nicht griff
neuer Systemstandard → inaktiv
Inhalt der Felder in Detailmasken
Es wurde eine Feldeigenschaft eingeführt, welche die Darstellung im Web Client steuert
Wenn trotz Feldeinstellung "Nur Beschreibung" auch der Schlüssel angezeigt wird, kann es daran liegen, dass die Beschreibung so konfiguriert ist, dass der Schlüssel in der Beschreibung angezeigt wird. Die Beschreibung muss in diesem Fall angepasst werden.
DOCX als Ausgabeformat beim Generieren von Einzelbriefen
Bei der Generierung von Einzelbriefen basierend auf nativen Dokumentvorlagen steht nun die Ausgabevariante DOCX zur Verfügung. Die Besonderheit des Ausgabeformats besteht darin, dass keinerlei Makros enthalten sind und daher die Dokumente als vertrauenswürdig eingestuft werden können.
Die Wahl des Ausgabeformats DOCX steht in folgenden Bereichen zur Verfügung:
Verwaltung der Dokumentvorlagen (Wahl des Ausgabeformats)
![](../../../__attachments/7012766/image2023-4-5_19-0-8.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Assistent zur Dokumentengenerierung (sofern dort die Wahl des Ausgabeformats für die verwendete Dokumentvorlage freigeschaltet ist)
![](../../../__attachments/7012766/image2023-4-5_18-59-46.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Skripting: bei Verwendung der Skriptmethode DocumentUtils.generateDocument kann das Ausgabeformat DOCX als String oder Konstante angegeben werden
DocumentUtils.generateDocument("Blanko NATIVE (Beispiel)", "ActPk1", DocumentUtils.DOC_SAVEFORMAT_DOCX, "meineDokumentenbeschreibung");
Es ist zu beachten, dass bei Wahl des Ausgabeformats DOCX keine Makros ausgeführt werden. Die Wahl des Ausgabeformats DOCX wird nicht unterbunden.
In der Administrationskonsole erhält der Administrator eine Hinweismeldung, wenn das Ausgabeformat DOCX verwendet wird und gleichzeitig die Methode "StartMacro" im VBA-Projekt der Dokumentvorlage vorhanden ist. Die Methode "StartMacro" ist der Ausgangspunkt für den Aufruf kundenindividueller Makros, welche durch das ausgelieferte NATIVE-Modul automatisch aufgerufen werden. Ist die Methode "StartMacro" also vorhanden, so gehen wir von individuellen Makros im Dokument aus.
Hinweismeldung für ausgeliehene/ archivierte Dokumente
Aktivitäten im Web Client, die ein Dokument mit angehängt haben, konnten versendet werden unabhängig davon, ob das Dokument ausgeliehen oder archiviert worden war. Somit konnten Dokumente, die nicht den neuesten Stand beinhalten, versehentlich versendet werden.
Anwender im Web Client erhalten nun eine Warnmeldung mit Aktionsmöglichkeiten, wenn versucht wird, ausgeliehene oder archivierte Dokumente als externe Mail zu verschicken.
Abhängig vom Kontext,
wer ein Dokument ausgeliehen hat
ob der Native-Messaging-Host mitsamt der Benutzereinstellung "Erweiterte Dateibehandlung" aktiviert ist
ob das Dokument archiviert ist
werden verschiedene Hinweismeldungen mit Aktionen ausgegeben.
Es wurden für den Web Client Hinweismeldungen mit Aktionen eingeführt, die verhindern, dass Aktivitäten, an denen Dokumente angehängt sind und diese ausgeliehen, gesperrt oder archiviert wurden, als Mail weiter versendet werden. Dies soll sicherstellen, dass Dokumente immer mit dem aktuellsten Stand versendet werden.
Das Dokument wurde vom Benutzer selber ausgeliehen und die erweiterte Dateibehandlung ist aktiv
![](../../../__attachments/7012766/image2022-10-19_21-32-29.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Das Dokument wurde vom User selber ausgeliehen und die erweiterte Dateibehandlung ist inaktiv
![](../../../__attachments/7012766/image2022-10-19_21-33-13.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Das Dokument wurde von einem anderen Benutzer ausgeliehen
![](../../../__attachments/7012766/image2022-10-19_21-36-16.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Das Dokument ist archiviert worden
![](../../../__attachments/7012766/image2022-10-19_21-38-57.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Masken: Schnittstellenübersicht und Schnittstellen-Details
Die Standard-Masken für die Schnittstellenübersicht und Schnittstellen-Details wurden so überarbeitet, dass nur noch genutzte Felder angezeigt werden, um die Übersicht zu verbessern.
![](../../../__attachments/7012766/image2023-1-30_14-43-7.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Maske 'Schnittstellenübersicht'
Maskenskript-Historie
Die Maskenskript-Historie wurde so überarbeitet, dass jetzt das Datum festgehalten wird, an dem das Skript ursprünglich gespeichert wurde und nicht das Datum, an dem der Stand historisiert wurde.
![](../../../__attachments/7012766/screenshot-2.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Maskenskripthistorie
Ausblenden der Anruf-Buttons via MS-Teams
Bisher konnte man die Teams-Integration per Systemeinstellung "aktivieren". Diese führte dazu, dass die Teams-Buttons in Feldern und Toollbars freigeschaltet werden. Es kommt aber vor, dass die Nutzung von Teams nur für interne Anrufe freigegeben ist und die Teams-Buttons im CRM (Anrufen über die E-Mail-Adresse) bei Ansprech- und Geschäftspartnern keine Funktion haben bzw. bei Aufruf zu einer Meldung in Teams führen.
Die Systemeinstellung soll "Externe Anrufe mit MS Teams aktivieren" legt fest, ob die Anruf-Buttons von Teams systemweit ausgeblendet werden.
Dies betrifft folgende Stellen:
Geschäftspartner E-Mail-Feld
Geschäftspartner Toolbar
Ansprechpartner E-Mail-Feld
Ansprechpartner Toolbar
Nachschlagefeld Ansprechpartner (z.B. Aktivität mit)
Die Funktion "Microsoft-Teams Besprechung erstellen" kann weiterhin genutzt werden. Alle Buttons bei Mitarbeitern bleiben bestehen.
Teststudio mit dem Edge-Browser
Das Teststudio war bisher nur für die Nutzung mit dem Chrome und Firefox-Browser verfügbar. Ab der Version 2023.2 kann das Teststudio auch mit dem Edge-Browser genutzt werden.
Anzahl der selektierten / markierten Datensätze in der Listenansicht
Die Anzahl der selektierten / markierten Datensätze in der Listenansicht wird neben der Anzahl der Einträge angezeigt.
Beispiel:
21 Einträge (5 ausgewählt)
![](../../../__attachments/7012766/image2023-1-30_13-53-35.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Anzahl der selektierten Datensätze
Entität 'Produkte'
Die Produkt-Maske wurde um ein neues Feld erweitert, so dass ein Produktbild hinzugefügt werden kann.
Eigenschaften von Entitäten 'Anzeigen im Web Client'
Innerhalb des Dialogfensters "Eigenschaften der Entität" konnte die Eigenschaft aktiviert werden, die bestimmt, ob die Entität im Web Client angezeigt werden soll. Die Möglichkeit, den Haken an dieser Stelle zu setzen, wird nicht mehr angeboten, da alle Entitäten im Web Client automatisch zur Verfügung stehen.
![](../../../__attachments/7012766/image-20230814-173052.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Eigenschaften einer Entität
Bereichsranking für die COMMAND Suchergebnisse
Das Ranking der unterschiedlichen Bereiche kann über eine Konfigurationseinstellung verändert werden, so dass man einzelne Bereiche höher gewichten kann und damit die Treffer aus diesem Bereich weiter oben angezeigt werden.
![](../../../__attachments/7012766/image2022-12-14_13-10-53.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Konfiguration der Gewichtung
In der Anwendungsvariable EnhancedIndexSearcher
kann die Gewichtung für Bereiche konfiguriert werden.
Die Gewichtung erfolgt prinzipiell nach folgender Logik:
Wenn kein Eintrag für einen Bereich vorhanden ist der Score 1.0
Alles unter 1.0 wertet den Bereich ab
Alles über 1.0 wertet den Bereich auf
Folgende Scoring-Einstellungen werden ausgeliefert:
Geschäftspartner: 1.5
Ansprechpartner: 1.3
Mitarbeiter: 1.2
Aktivität: 0.25
Dokumente: 0.1
Projekte: 0.25
Vorgang: 0.25
Timer
Auslieferung von Timern mit Modulen
Bisher konnten Timer, die bspw. Prozesse starteten, lediglich in der C2-Schicht angelegt werden. Dies hatte zur Folge, dass Neukunden innerhalb des EVU-Projektes zwar über die Auslieferungsversion in der C2-Schicht angelegten Timern ausgestattet werden konnten, nicht aber Bestandskunden. Hier entstand bei der Inbetriebnahme eines Moduls, das für bestimmte Prozesse Timer erforderte, im Projekt stets ein manueller Einrichtungsaufwand. Durch die Anlage der Timer in der Kundenschicht (C2) in der Auslieferungsversion erhalten Neukunden diverse, vorbereitete Timer für Module, die sie unter Umständen nicht nutzen.
Timer werden nun in der C1-Schicht an ein Modul gebunden und mit Einspielen eines Moduls ausgeliefert. Dies verhindert zum einen, dass Kunden Timer in ihren Systemen vorfinden, die sie gar nicht brauchen und andererseits beim Einspielen eines Moduls die manuellen Nacharbeiten auf das Einstellen des mit dem Modul ausgelieferten Timers verringern.
Spezifikation der Timer:
Timer können in der C1-Schicht an Module gebunden werden
Timer sind nur dann im System sichtbar, wenn das Modul, zu dem sie gehören, im System vorhanden ist
Timer werden bei vorhandenen, aber inaktiven Modulen durchgestrichen dargestellt und nie ausgeführt
Timer werden nur dann als verfügbar dargestellt, wenn das Modul, zu dem sie gehören im System vorhanden und lizensiert ist
Beim Timer wird beim erstmaligen Speichern die Partner-ID dem gewählten Timer-Namen in der ID vorangestellt
In der C1-Schicht können lediglich Timer mit der eigenen Partner-ID bearbeitet werden
Der Zeitplan ist in der C1-Schicht schreibgeschützt, außer es handelt sich um eine Aktion mit der eigenen Partner-ID
In der C2-Schicht ist der Zeitplan nicht schreibgeschützt
Timer für die Unit-Tests
Mit den EVU-Modulen werden zahlreiche Skripttests ausgeliefert, die sicherstellen sollen, dass das CRM-System korrekt konfiguriert ist und alle Funktionen und Prozesse ordnungsgemäß funktionieren. Diese werden durch die Aktion Tests ausführen, die wiederum von einen Timer aufgerufen wird, regelmäßig gestartet. Der Timer wird mit der EVI-Auslieferungsversion ausgeliefert.
Timer vom Typ 'SCRIPT_TEST' werden standardmäßig beim Customizing-Transport von Timern deaktiviert, sodass sie in einem Produktivsystem deaktiviert sind. Der Systemadministrator kann sie im Produktivsystem wieder explizit aktivieren. So hält man sich die Möglichkeit offen, die Skripttests weiterhin auf einem Produktivsystem ausführen zu können, sofern man das möchte (und sich sicher ist, dass alle Testdaten wieder entfernt werden).
Logiken:
Timer war im Produktivsystem bereits aktiv und Timer ist im Quellsystem aktiv: Bleibt beim Transport aktiv.
Timer war im Produktivsystem inaktiv und Timer ist im Quellsystem aktiv: Timer bleibt inaktiv.
Timer war im Produktivsystem bereits aktiv und Timer ist im Quellsystem inaktiv: Timer wird beim Transport deaktiviert.
Timer war im Produktivsystem inaktiv: Bleibt beim Transport inaktiv.
Fehlermeldung vom CTI-Server
Nach dem Ablauf der Lizenz wurde im CTI-Log jede 15 Minuten ein Fehler geloggt. Dieser Fehler besagte, dass sich der JBoss-Dienst nicht mit dem Dienst von CTI-JBoss verbinden konnte.
Lösung:
Die Initialisierungs-Timer wurde entfernt
Die Initialisierung des CTI-Servers (wenn Lizenz vorhanden) wird beim Start des CRM-JBoss durchgeführt
Der Versuch zum Erreichen des Servers wird still mehrmals alle 5min durchgeführt.
Nach max. 12 Versuchen (1h) wird einmal der Fehler zum nicht erreichen in das Log geschrieben und weitere Versuche unterlassen.
Das weitere Anstoßen der CIT-Schnittstelle obliegt dann dem CTI-Monitor Service.
Die Relationen von Anschlussobjekten zu Angeboten und Verträgen
Die Relationen
rLoQu
rLoCn
wurden an das BASE_MODULE gehängt und sind somit in CURSOR-CRM sichtbar und nutzbar.
Maskenkorrekturen für Lese- und Bearbeitungsmodus
Aufgrund von weiteren Verbesserungen für den Lese- und Bearbeitungsmodus sind einzelne Masken aktualisiert worden:
Activity
Campaign
Customer
Employee
EventArchive
InterfaceOver
Person
Project
Quote
QuoteItem
Außerdem wurde vier i18n-Werte (auf Deutsch) geändert:
GroupwareLogin.Employee
vorher: Groupware-Benutzername
nachher: E-Mail BenutzerEmailPassword.Employee
vorher: Groupware-Passwort
nachher: E-Mail PasswortAutoMailSync.Employee
vorher: Automatischer Groupware-Abgleich
nachher: Automatischer AbgleichAutoImpPwEx.Employee
vorher: Groupware-Passwort ist gesperrt nachher: Passwort ist gesperrt
Englische Version bleibt unverändert.
Paralleles Öffnen der Skriptbibliothek im Windows Client
Im Windows Client wurde die Einstiegsstelle für die Skriptbibliothek im Maskenskript-Editor entfernt. Das Öffnen der Skriptbibliothek ist weiterhin über die Administrationskonsole möglich.
Beim Öffnen des Maskenskript-Editors wird die Skriptbibliothek auch nicht mehr im Hintergrund "hoch gezogen", sodass sich die beiden Instanzen nicht mehr in die Quere kommen können.
Availability-Prüfung für Felder
Bisher gab es vermehrt Situationen, in denen im Serverlog Fehler protokolliert wurden, die Felder als in der aktuellen Ansicht nicht sichtbar auswiesen.
Beispiel:
2023-03-13 13:14:30,190 ERROR [de.cursor.jevi.common.script.AbstractFieldUtils] The field [Freenumber7.Installation] does not exists in the current view.
2023-03-13 13:14:30,195 ERROR [de.cursor.jevi.common.script.AbstractFieldUtils] The field [Medium.C12RATETYPE] does not exists in the current view.
Es konnte umständlich herausfgefunden werden, wo und was die Auslöser für die protokollierten Fehler sind.
In unseren bisher betrachteten Fällen waren das nicht-existierende Felder, für die versucht wurde, im Maskenskript-Aktionen wie das Ein-/Ausblenden vorzunehmen oder ihren Wert auszulesen.
Andere wurden in BPM-Maskenskripten per FieldUtils.getValue()
ausgelesen, obwohl sie auf der Maske gar nicht mehr in Verwendung waren und das Skript damit eigentlich überflüssig.
Bei der Bereinigung solcher Stellen gibt es nun zu den Log-Einträgen direkt auch eine Fehlermeldung an der Oberfläche (als Skript-Fehler). Das Skript bricht an dieser Stelle dann ab.
Somit bekommt man den Fehler unmittelbar bei dessen Auftreten mit und nicht erst bei der Sichtung der Logs.
Die Funktion ist im Standard inaktiv und kann für einzelne Systeme per PropertyMapper-Eintrag über die Datenbank aktiviert werden. Anschließend ist der Systemcache zu leeren.
Zum Aktivieren ist im PropertyMapper dieser Eintrag neu aufzunehmen oder der PropertyValue auf 'true' zu setzen.
ORACLE
INSERT into PropertyMapper (Pk, id, property, propertyType, principal, Active, CreateUser, UpdateUser, CustLayer, CreateDate, UpdateDate, propertyValue)
VALUES ('IsGetterSetterBreak', '/de/cursor/jevi/common/AttributeValueChecker$!!$IsGetterSetterBreak', '', 'SYSTEM', '', 1, 'TECH_USER', 'TECH_USER', 'CN', sysdate, sysdate, 'true');
MSSQL
INSERT into PropertyMapper (Pk, id, property, propertyType, principal, Active, CreateUser, UpdateUser, CustLayer, CreateDate, UpdateDate, propertyValue)
VALUES ('IsGetterSetterBreak', '/de/cursor/jevi/common/AttributeValueChecker$!!$IsGetterSetterBreak', '', 'SYSTEM', '', 1, 'TECH_USER', 'TECH_USER', 'CN', getDate(), getDate(), 'true');
Links der WorkSpaceScriptUtils.unlinkEntries()
In den WorkSpaceScriptUtils existieren Methoden, um Datensätze miteinander zu verknüpfen (linkEntries) oder Verknüpfungen zwischen Datensätzen zu entfernen (unlinkEntries).
Während bisher beim Verlinken von Datensätzen eine bereits bestehende Verknüpfung einfach ignoriert wurde, kam es zu einem Fehler, wenn eine nicht (mehr) bestehende Verknüpfung entfernt werden soll.
Das Verhalten bezüglich bereits behandelter Links der WorkSpaceScriptUtils.unlinkEntries()
wurde dem der WorkSpaceScriptUtils.linkEntries()
angeglichen:
Sind im Falle von linkEntries Datensätze, die verknüpft werden sollen, bereits verknüpft, wird keine Exception ausgelöst.
Im Falle von unlinkEntries sollen Datensätze, die gelöst werden sollen und bereits gelöst sind, keine Exception auslösen
Löschlauf für Kundenwert-Daten
Um dem Grundsatz der Datensparsamkeit gemäß DS-GVO gerecht zu werden, werden Datensätze, deren Berechnungsdatum älter als ein Jahr ist, über den zeitbasierten Löschmechanismus gelöscht.
Die hinterlegte Suche ermittelt alle Kundenwert-Datensätze, deren Berechnungsdatum größer als das aktuelle Datum - 365 Tage ist.
Die Entität Kundenwert ist nur dann sichtbar, wenn das Modul "Kundenwert" vorhanden und aktiv ist. Die Löschregel ist ebenfalls an das Modul gebunden.
![](../../../__attachments/7012766/image2023-5-2_11-0-35.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Konfiguration der Suche für die Löschregel
Linkgenerierierung im HTTPS-Kontext
Bei der Weblink-Generierung im HTTPS-Kontext wird die Information des Standardports (443) entfernt, da diese redundant geworden ist.
Schlüsselbearbeitung
Mögliche Eingabe in KeyName.S_Keytab auf der Maske wurde von 20 auf 100 Zeichen erhöht.
![](../../../__attachments/7012766/NeuanlangeSchl%C3%BCssel.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Schlüsselbearbeitung
Top-Count Defaults für über BPM neu angelegte gespeicherte Suchen
Bei der Anlage von neuen gespeicherten Suchen via CURSOR-BPM wird als neuer Default für den Top-Count immer "-1" eingetragen. Der Prozess-Ersteller kann dann bei Bedarf diesen neuen Default-Wert manuell abändern.
![](../../../__attachments/7012766/screenshot-1.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Suchenbearbeitung
NULL-Werte im Ansprechpartner-/Geschäftspartnerporträt
Auf der Ansprechpartner-/Geschäftspartnerportrait-Kachel können offene Anfragen, Angebote und Projekte dargestellt werden. Durch Ausklappen der einzelnen Bereiche kann man Detailinformationen zu den jeweiligen Daten betrachten, so auch den Anfragen-/Angebots- und Projektwert.
Im EVU-Umfeld findet jedoch kein konkreter Angebotswert Verwendung, sodass dieser immer NULL (leer) ist.
Wenn der Angebots-, Projekt- oder Anfragenwert zu in der Kachel dargestellten Einträgen leer (= NULL) ist, so wird dieser Wert inklusive des Werte-Labels nicht auf der Kachel ausgewiesen (ausgeblendet).
(Angebots-/Projekt-/Anfragen-)Werte für Einträge, für deren Werte tatsächliche Zahlen vorhanden sind, werden auf der Kachel dargestellt.
Spalten in Ergebnisliste
Die Spalten in der Ergebnisliste lassen sich per 'Drag and Drop' verschieben. Getätigte Änderungen werden direkt benutzerspezifisch persistiert.
Aktualisierung zur Korrektur der Darstellung von Schlüsseltexten (Internationalisierung)
Nach dem manuellen Einfügen von englischen Übersetzungen in Schlüsseln wurde auch in der deutschen Version der englische Schlüssel angezeigt. Dies konnte nach aktuellem Stand nur korrigiert werden, wenn die deutschen Übersetzungen manuell angepasst wurden, sodass diese gespeichert und transportiert werden können.
Ein Skript in der Adminkonsole korrigiert die Translation im Hintergrund.
![](../../../__attachments/7012766/image2023-5-2_10-29-46.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Internationalisierung der Schlüssel
Redundante Ausgabefelder vor der Suchausführung
Bei Suchen mit sehr vielen Feldern kann es vorkommen, dass Ausgabefelder redundant aufgenommen wurden.
Dies führte manchmal zu einem ORACLE-Fehler, da die Menge der ausgegebenen Felder dort auf 1000 begrenzt ist. Um ein solches Szenario zu verhindern, sollen werden vor der Suchausführung redundante Ausgabefelder ermittelt und zusammengefasst.
Installation
Die Installation von CURSOR-CRM ist auch auf einer Oracle 21c-Version durchführbar.
Aktualisierung Jasper Reports auf die Version 6.20
Jasper Reports wurde auf die aktuelle Version 6.20.0 aktualisiert, um das Problem upgrade POI compile dependency to 5.0.0 for fixing java.lang.NoSuchMethodError zu beheben.
Anpassung der Bibliotheken und ggf. Codestellen wurde ebenfalls vorgenommen.
Maskenskripts auf dem Ansprechpartner
Der Kurzname des Ansprechpartners wurde beim Durch-Tabulieren durch die Felder des Datensatzes angepasst und es kam zu einer Speichern-Abfrage beim Verlassen des Satzes.
Das korrekte Verhalten wurde auf Feldänderungen (fieldValueChange
anstatt fieldFocusLost
) angepasst, um den Kurznamen neu zu generieren.
Visualisierung von Deprecated-Methoden in der Methodenliste
Als veraltet (@Deprecated) markierte Methoden werden innerhalb der Skriptbibliothek besonders gekennzeichnet.
Der Methodenname wird durchgestrichen mit einem grauen Symbol dargestellt.
![](../../../__attachments/7012766/image2023-5-2_14-18-1.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Methoden-Bibliothek
Skripting (Neue Methoden)
isTabAvailable
Prüft die Verfügbarkeit der übergebenen Lasche in einer TabbedPane. Dabei wird sowohl die Sichtbarkeit (nur Web Client) als auch der Enabled-State geprüft.
CURSOR-App: Anmeldung
Der Splashscreen für die Anmeldung ist auch im Querformat verfügbar. Darüber hinaus kann das Passwort im Klartext angezeigt werden.
Abbildung: Anmeldung bei der App