Features
- Unterstützung für WebDAV.
- Diese Feature erfordert eine Freischaltung über die der Lizenz.
- Im Backend können unter Daten, WebDAV-Verbindungen die Verbindungsdetails zu einem WebDAV-Server gepflegt werden.
- Im Workflow wurde die neue Aktion Speichern mit WebDAV hinzugefügt. Hiermit können Dateien auf einen WebDAV-Server übertragen werden.
- Neue Switch-Bedingung im Workflow.
- Hiermit kann ein Wert gegen mehrere möglich Fälle geprüft werden. Für jeden Fall können dann unterschiedliche Aktionen durchgeführt werden. Besonders bei vielen möglichen Fällen erhöht diese Bedingung die Lesbarkeit im Workflow. Gibt es beispielsweise das Auswahlfeld selFamilienstand, kann der Familienstand mit der Switch-Bedingung gegen die möglichen Werte ledig, verheiratet, geschieden, verwitwet, eingetragene Lebenspartnerschaft geprüft werden.
- Automatische Datenbank- und System-Updates beim Start von Xima® Formcycle
- Xima® Formcycle kann nun alle erforderlichen Updates beim Starten sofort automatisch vornehmen, sodass ein manuelles Update über das Backend nicht mehr nötig ist und der Server schneller wieder betriebsfähig ist.
- Bei Neuinstallationen ist diese Funktionalität standardmäßig aktiviert.
- Bei bestehenden Installationen kann das automatische Update im Backend über System, Datenbank aktiviert werden.
- Anmeldung über Azure-AD
- Bei den Externen Benutzern (Authentifikatoren) ist es nun auch möglich, Azure-AD anzubinden, sodass sich dort hinterlegte Nutzer auch mit ihren Kontodaten anmelden können.
- URL zum Monitoring des Frontend-Servers
- Über die URL https://<domain>/<context>/monitor/fs/connection?name=MeinFrontendServer kann geprüft werden, ob der Master-Server eine Verbindung zum angegebenen Frontend-Server hat. Weiterhin ist es auch möglich, einen neuen Verbindungsaufbau anzustoßen.
- Aus Sicherheitsgründen ist diese URL standardmäßig deaktiviert. Zum Aktivieren müssen die Anwendungseinstellungen monitoring.enabled und monitoring.allowed.hosts entsprechend konfiguriert werden.
- Unterstützung für internationalisierte E-Mail-Adressen und UTF-8-Header
- E-Mails an internationalisierte E-Mail-Adressen wie 山田太郎@株式.会社 können nun versendet werden, sofern der verwendete E-Mail-Server dies unterstützt.
- Hierzu muss in den E-Mail-Server-Einstellungen des Systems oder des Mandanten die Checkbox bei Server unterstützt UTF-8 Nachrichten-Headers (RFC6532) angehakt werden.
Changes
Backend
- Zur Vermeidung von Problemen mit verschiedenen Datenbanksystem wird bei Namen nun nicht mehr zwischen Groß- und Kleinschreibung unterschieden. Wenn es beispielsweise eine Mandantdatei mit Namen demo.txt gibt, kann eine neue Datei nicht mehr Demo.txt genannt werden. Auf bestehenden System, wo es bereits solche Dateien gibt, ist kein unmittelbarer Anpassungsbedarf notwendig. Wir empfehlen aber, langfristig solche Namenskonflikte zur vermeiden.
- Einige Probleme beim Herunterladen von Formularen aus passwortgeschützten Formular-Stores wurden behoben. Zudem wird der Formular-Store nun immer in der korrekten (aktuellen) Sprache angezeigt.
- Hat sich die Hardware-ID eines Servers geändert, wird auf der Lizenzseite beim Aktualisieren der Lizenz nun direkt gefragt, ob man eine bestehende Hardware-ID überschreiben oder eine neue Hardware-ID registrieren möchte.
- Bei externen Nutzern (Authentifikatoren) ist es nun möglich, eine Callback-URL zu verwenden, welche die Callback-ID im Pfad der URL statt als URL-Parameter hat. Dies ist notwendig, da einige Identity-Provider keine URL-Parameter zulassen.
Posteingang
- Bisher gab es im Posteingang nur einen vordefinierten Filter zur Anzeige von Vorgängen, die zuletzt eingegangen sind. Es ist nun auch möglich, Vorgänge auf einen beliebigen Änderungszeitraum zu filtern.
- In der Terminansicht im Posteingang werden Termine nun ausgegraut angezeigt, bei denen der zugehörige Vorgang zwischengespeichert ist oder sich im Double-Opt-In befindet.
- Die Syntax der Word-Fill-Funktionen wurde verbessert. Parameter sollten nun mit Anführungsstrichen angegeben werden, sodass auch beliebige Sonderzeichen möglich sind. Beispiel: selBahnCard.cb("1. Klasse") oder selBookTitle.cb("The Final Odyssey is \"Comet Cowboy\"")
Workflow
- Die Aktionen Textdatei erzeugen und Als XML exportieren stellen den Inhalt der erzeugten Datei nun auch als Platzhalter bereit.
- Auch im alten Workflow ist es nun möglich, bei der Aktion POST-Request eigene HTTP-Header zu definieren.
Frontend-Formulare
- JQuery und JQuery-UI wurden auf die aktuelle Version aktualisiert
- Die Funktion $.xutil._load stellt nun auch die Anzahl von Elementwiederholungen sowie deren Werte wieder her.
- Der Datentyp E-Mail bei Eingabefeldern erlaubt nun keine Punkte am Ende der E-Mail-Addresse mehr. Eine Domain darf mit einem Punkt enden, um auszudrücken, dass es sich um einen vollqualifizierten Domain-Namen handelt. Allerdings werden solche E-Mail von vielen gängigen E-Mail-Servern nicht unterstützt.
Formular-Designer
- Im Formular-Designer ist es möglich, pro Formularfeld festzulegen, in welchen Status und für welche Benutzergruppen dieses verfügbar sein soll. Ist ein Formularfeld nicht verfügbar, so werden nun auch die Werte des Formularfelds in der Datentabelle im Posteingang nicht mehr angezeigt.
- Bei Auswahlelementen ist es für den PDF- und Word-Export nun möglich, die gewünscht Anzahl an Spalten für die Auswahloptionen einzustellen. Dies geschieht im Formular-Designer rechts im Tab Erweitert unten bei Word- und PDF-Export. Ist ein Wert größer 1 eingestellt, werden die Auswahloptionen im PDF- oder Word-Dokument nebeneinander angeordnet.
Fixes
Backend
- Im Vollbildmodus des Rich-Text-Editors funktioniert nun der Knopf für den Platzhalterdialog wieder.
- Herunterzuladende Dateien öffnen sich nun immer in einem neuen Browser-Tab, um zu vermeiden, dass die aktuell geöffnete Seite verloren geht.
- Verschiedene kleinere Fehlerbehebungen in der Backend-Oberfläche.
Posteingang
- Die Erfüllung der Web Content Accessibility Guidelines (WCAG) im Posteingang wurde verbessert.
- Gibt es mehrere Werte für ein Formularfeld, werden dies in der Datentabelle im Posteingang auch alle angezeigt.
Workflow
- Tritt im neuen Workflow ein unbehandelter Fehler auf, so erscheint nun immer die Fehlerseite. Auch wenn in einer bereits ausgeführten Aktion eine andere Antwortseite definiert wurde.
- LDAP-Aktionen, welche eine bestehende LDAP-Abfrage verwenden, werden wieder korrekt ausgeführt.
- Behebung eines Fehler, bei dem die Befüllung eines Formularfelds in einem Word-Dokument manchmal nicht möglich war.
Frontend-Formulare
- Die Session-ID wird beim Zwischenspeichern nun korrekt durchgereicht. Bei Formularen mit Anmeldung war bisher nach dem Zwischenspeichern eine erneute Anmeldung erforderlich.
- Die Konformität von Formularen mit der Verordnung zur Schaffung barrierefreier Informationstechnik (BITV) wurde verbessert.
Formular-Designer
- Die Word-Funktion zum Vorbefüllen von Checkboxen in wiederholten Containern beim Word- und PDF-Export wird nun korrekt in das Word-Dokument geschrieben.
- Formularfelder können eine Bedingung haben, die steuert, wann das Feld verfügbar, gesperrt oder ein Mussfeld ist. Bei den Bedingungen kann auch auf ein Variablenfeld verwiesen werden. Die serverseitige Validierung berücksichtigt nun auch diesen Fall.
- Erfolgt im Rich-Text-Editor über die Quellcodeansicht im Formulardesigner Eingabe von eigenem HTML, so wird dieses nun so weit wie möglich behalten und nicht mehr bereinigt.
- Verbesserung im Bezug auf Falschmeldungen im Bezug auf Bot-Erkennung.
Für Plugin-Entwickler
- Aktualisierung der Abhängigkeit PrimeFaces auf Version 11.
- Aktualisierung der Abhängigkeit pac4j. Plugins, die eigene Authentifikatoren bereitstellen, sollten geprüft und eventuell angepasst werden.
- Die Klasse PluginServletActionRetVal für den Rückgabewert von Servlet-Aktionen-Plugins hat nun Konstruktoren für alle möglichen Parameter. Eine eigene Implementierung des Interfaces IPluginServletActionRetVal sollte nicht verwendet werden, da diese eigenen Klassen bei der Kommunikation mit dem Frontend-Server nicht zur Verfügung stehen.
- Die Formularvorschau im Formular-Designer befindet sich nun in einer Shadow-Root. Dies verbessert die Kapselung des Designer-CSS und des Formular-CSS und verhindert, dass benutzerdefiniertes Formular-CSS das Layout des Designers beeinträchtigt.
- Dies hat zur Folge, dass auch Widget-Plugins ihr CSS entsprechend trennen müssen.
- IPluginFormElementWidget#getCssData darf nur das CSS zurückliefern, welches innerhalb des Formulars benötigt wird.
- IPluginFormElementWidget#getCssDataForDesignerUi darf nur das CSS zurückliefern, welches zum Stylen der Formular-Designer-UI benötigt wird.
- @font-face-Regeln müssen außerhalb der Shadow-Root definiert werden, nicht alle Browser unterstützen aktuell @font-face innerhalb einer Shadow-Root (z.B. chromium)
- Weiterhin ist es durch die Shadow-Root auch nicht mehr möglich, direkt Elemente im Formular zu selektieren. Falls ein Widget-Plugin JavaScript enthält, welches im Designer ausgeführt wird und auf Elemente im Formular zugreift, muss dieses entsprechend angepasst werden.
- Die Funktion IFormDesigner.getFormDesignPanel() kann genutzt werden, um auf das Element zuzugreifen, in dem sich das Formular befindet. Innerhalb dieses Elements kann nun nach Kinderelementen im Formular gesucht werden. Beispiel:
- Dies hat zur Folge, dass auch Widget-Plugins ihr CSS entsprechend trennen müssen.
import { instance } from "@de-xima/fc-form-designer";
function main() {
// Instead of selecting elements directly from the global scope
$(".XTextField");
// Select elements starting from the form design panel
instance().getFormDesignPanel().find(".XTextField");
}
function main() {
// Instead of selecting elements directly from the global scope
$(".XTextField");
// Select elements starting from the form design panel
instance().getFormDesignPanel().find(".XTextField");
}