Was ist neu in 4D 21 R4

NETZWERK

Sind Sie es leid, dass Netzwerkfehler Ihre Benutzer behindern?

Netzwerkstörungen gehören in realen Umgebungen nun einmal dazu. Zwischen einer 4D -Client-Workstation und dem 4D-Server können Switches, Router, Firewalls, VPN-Gateways und andere Netzwerkgeräte liegen. Ein Neustart eines Switches, das erneute Anschließen eines Kabels, ein Handover im Mobilfunknetz oder ein vorübergehendes Routing-Problem können dazu führen, dass die beiden Peers vorübergehend nicht erreichbar sind – selbst wenn die Störung nur wenige Minuten andauert.

Diese Funktion basiert auf der Transportschicht QUIC, die die 4D-Client/Server-Kommunikation ermöglicht. Da QUIC über UDP läuft , kann es Verbindungsunterbrechungen zwischen den Knoten tolerieren. Wenn der 4D-Server feststellt, dass ein entfernter 4D-Client nicht mehr erreichbar ist, hält er die Sitzung für die konfigurierte QUIC session timeout aufrecht , anstatt sie sofort zu schließen.

Während der Unterbrechung wird der Client im Verwaltungsfenster als Unreachable angezeigt , während unter Session.info.unreachableSince angegeben wird, wie lange der Peer bereits nicht erreichbar ist. Auf der Client-Seite wechseln nur Fenster, die von der Serverkommunikation abhängig sind, in den Unreachable-Modus, während lokale Fenster weiterhin nutzbar bleiben.

Wird die Kommunikation rechtzeitig wiederhergestellt, wird die Sitzung erneut aktiv und die betroffenen Fenster kehren in ihren vorherigen Zustand zurück. Wird das Timeout überschritten, wird die Sitzung ordnungsgemäß beendet, begleitet von einer Warnung im Diagnoseprotokoll und einer eindeutigen Benachrichtigung über einen Neustart oder das Beenden der Anwendung für den Benutzer.

Client-Server-Bereitstellungen laufen unter realen Netzwerkbedingungen reibungsloser und zuverlässiger ab, ohne dass zusätzlicher Anwendungscode erforderlich ist.

KI-Integration

Lokale KI-Unterstützung für die Texterstellung in 4D Forms

Die Apple Writing Tools Integration bringt lokale KI-Unterstützung direkt in die Textbereiche von 4D Form, einschließlich mehrzeiliger Texteingaben und 4D Write Pro-Bereiche. Es müssen keine KI-Verträge verwaltet oder Zahlungen getätigt werden, es ist keine zusätzliche Installation erforderlich und es muss kein externer KI-Dienst konfiguriert werden. Solange die Umgebung des Benutzers Apple Writing Tools unterstützt, profitiert die Anwendung ohne zusätzliche Einrichtung von der vom Betriebssystem verwalteten Schreibunterstützung. Endbenutzer können Texte korrigieren, umformulieren, zusammenfassen, den Ton anpassen oder Kernaussagen extrahieren, ohne die 4D-Anwendung verlassen oder Inhalte in ein anderes Tool kopieren zu müssen.

Die Funktion wird über die Eigenschaft Writing Tools in der Eigenschaftsliste aktiviert. Sobald sie verfügbar ist, können Benutzer über das Kontextmenü mit Schreibwerkzeuge anzeigen auf die Tools zugreifen, oder Entwickler können sie über die Standardaktion WritingTools von einer Schaltfläche oder einem Menüpunkt aus bereitstellen. Ausgewählter Text wird durch das zurückgegebene Ergebnis ersetzt, während bei fehlender Auswahl die Aktion auf den gesamten Inhalt des Bereichs angewendet wird.

Da die Funktion auf Apple Intelligence basiert, wird sie lokal in kompatiblen macOS-Umgebungen ausgeführt, in denen Apple Intelligence aktiviert ist. In nicht unterstützten Umgebungen, einschließlich Windows, bleibt die Eigenschaft an den entsprechenden Stellen sichtbar, die Funktion ist jedoch zur Laufzeit inaktiv.

Das KI-gestützte Schreiben wird Teil der Anwendungserfahrung selbst und hilft Nutzern dabei, Geschäftstexte, Notizen, Berichte und Dokumentinhalte direkt dort zu verbessern, wo sie bereits arbeiten.

4D-Sprache

Zuverlässige Code-Bereinigung beim Verlassen von Methoden und Funktionen

Der neue Befehl defer bietet eine übersichtlichere Möglichkeit, Aufräumcode automatisch beim Verlassen einer Methode oder Funktion auszuführen. Entwickler können nun an beliebiger Stelle im Code einen Ausdruck deklarieren und sich darauf verlassen, dass 4D diesen beim Verlassen ausführt – unabhängig davon, ob die Ausführung normal endet, eine Rückgabe erreicht wird oder nach einem Fehler abgebrochen wird. Aufräumlogik muss nicht mehr vor jedem `return` oder innerhalb jedes `catch`-Blocks wiederholt werden.

Aufgeschobene Ausdrücke werden in einem Aufschubstapel gespeichert und beim Beenden der Methode oder Funktion in LIFO-Reihenfolge ausgeführt. Wenn ein aufgeschobener Ausdruck einen Fehler auslöst, fängt 4D diesen automatisch ab und setzt die Ausführung der verbleibenden aufgeschobenen Ausdrücke fort, wodurch der Beendigungsablauf sicher und vorhersehbar bleibt.

Dies ist besonders nützlich für die Ressourcenverwaltung, die Diagnose und die Wiederherstellung des Zustands. Es kann dabei helfen, XML-Referenzen zu schließen, die Aktivitätsüberwachung zu beenden, Datenbankparameter wiederherzustellen, die Fehlerbehandlung zurückzusetzen oder die Verbindung zu externen Diensten zu trennen. Der Code wird leichter lesbar, sicherer in der Wartung und weniger anfällig für vergessene Aufräumschritte.

HTTP-SERVER

REST-Server-Ressourcenschutz

Die REST-Server-Quotenverwaltung ermöglicht die Steuerung auf Sitzungsebene für im Speicher abgelegte Entitätssätze und schützt Anwendungen so vor übermäßigem Ressourcenverbrauch, der durch intensive Nutzung, schlecht optimierte REST-Abfragen oder Clients verursacht wird, die Ressourcen nicht korrekt freigeben. Dies ist besonders nützlich, wenn REST-APIs für Webanwendungen, externe Systeme, 4D Qodly Pro, mobile Clients oder MCP-basierte KI-Tools verfügbar sind.

Über ` Session.quotas` steht ein neues 4D.QuotaManager-Objekt zur Verfügung. Damit können Entwickler Grenzwerte für die aktuelle REST-Sitzung festlegen, darunter die maximal zulässige Anzahl von Entitätssätzen im Arbeitsspeicher, das Standard-Timeout bei Inaktivität für Entitätssätze und das maximale Timeout, das ein Client anfordern darf. Die aktuelle Quotenauslastung lässt sich zudem über ` currentValues` überwachen.

Die Steuerung der Serverressourcen wird vereinfacht, da Entitätssätze an die REST-Sitzung gebunden sind und automatisch freigegeben werden können, wenn sie ablaufen oder die Sitzung endet. Wenn ein definiertes Limit erreicht ist, werden neue REST-Anfragen, die zusätzliche Entitätssätze erstellen müssen, abgelehnt, bis Ressourcen freigegeben werden. REST-basierte Anwendungen erhalten einen stärkeren Schutz vor versehentlicher Überlastung, während Administratoren eine bessere Kontrolle über Leistung und Verfügbarkeit behalten.

4D Server-Verwaltung

Übersichtlichere Sitzungsanzeige im 4D Server-Verwaltungsfenster

Die Sitzungsüberwachung im 4D Server-Admin-Fenster ist nun übersichtlicher dank einer einheitlichen Registerkarte Sitzungen, die Desktop-Clients, Web-Sitzungen, REST-Zugriffe und SOAP-Aufrufe in einer Ansicht zusammenfasst. Anstatt verstreute Informationen zu überprüfen, können Administratoren aktive Verbindungen von einem einzigen Ort aus vergleichen und die Serveraktivität schneller erfassen.

Die Sitzungsliste konzentriert sich auf gemeinsame Informationen für alle Verbindungstypen, wie z. B. Sitzungstyp, Benutzername, Verbindungsdatum, CPU-Zeit, Aktivität und Status. Visuelle Symbole erleichtern die Identifizierung der einzelnen Sitzungstypen, während sich der Detailbereich an die ausgewählte Sitzung anpasst. Bei Client-Sitzungen können Kontextinformationen wie der Sitzungsname des Betriebssystems, die IP-Adresse, der Rechnername und die Nutzungsrechte angezeigt werden. Bei REST-, Web- oder SOAP-Sitzungen können Details wie Gaststatus, Berechtigungen, IP-Adresse und User-Agent angezeigt werden.

Eine bessere Übersicht über die Sitzungen ermöglicht eine direktere Fehlerbehebung, insbesondere bei der Untersuchung ungewöhnlicher Aktivitäten, der REST-Nutzung oder des Lizenzverbrauchs. Administratoren können erkennen, wer verbunden ist, woher eine Sitzung stammt, unter welchem Kontext sie ausgeführt wird und ob ein Verbindungsmuster Aufmerksamkeit erfordert, ohne das Admin-Fenster verlassen zu müssen.

4D Write Pro

Hierarchische Stilvorlagen in der 4D Write Pro-Benutzeroberfläche

Mehrstufige Listen-Stylesheets sind nun direkt in der Benutzeroberfläche von 4D Write Pro verfügbar und bieten Benutzern eine visuelle Möglichkeit, strukturierte Listen über die Symbolleiste und die Seitenleiste zu erstellen, anzuwenden und zu verwalten. Dokumente wie technische Handbücher, Verträge, Berichte, Schulungsunterlagen und Sitzungsprotokolle können ohne manuelle Formatierung eine einheitliche Nummerierung und Hierarchie beibehalten.

Der Bereich Formatvorlagen zeigt nun sowohl Dokumentformatvorlagen als auch vordefinierte Vorlagen für mehrstufige Listen an. Benutzer können gebrauchsfertige Vorlagen anwenden, Listenebenen ändern, Unterebenen hinzufügen, Nummerierungsformate anpassen und Nummerierungsmarkierungen zwischen den Ebenen verknüpfen. Die Nummerierung bleibt konsistent, auch wenn Inhalte hinzugefügt, entfernt oder neu angeordnet werden.

Entwickler können die verfügbaren Vorlagen zudem über die Datei multiLevelStyles.json anpassen, sodass Anwendungen vordefinierte Listenstrukturen anbieten können, die auf ihre Geschäftsdokumente abgestimmt sind. 4D Write Pro-Dokumente lassen sich einfacher strukturieren, leichter pflegen und sind beim Export oder Austausch in Formaten wie PDF, HTML, SVG und DOCX zuverlässiger.

4D NetKit & Mailing

BENACHRICHTIGUNGEN ÜBER ÄNDERUNGEN IN E-MAIL UND KALENDER

4D NetKit bietet nun ein einheitliches Benachrichtigungsmodell für Microsoft 365 und Google Workspace, sodass Anwendungen reagieren können, wenn E-Mails oder Kalendertermine erstellt, geändert oder gelöscht werden. Anstatt auf manuelle Aktualisierungen angewiesen zu sein, können 4D-Anwendungen ihre Benutzeroberflächen mit den Daten der Anbieter synchronisieren und die entsprechende Geschäftslogik auslösen, sobald eine Änderung erkannt wird.

Das gleiche Programmiermodell steht für beide Anbieter über Office365.mail.notifier, Office365.calendar.notifier, Google.mail.notifier und Google.calendar.notifier zur Verfügung. Jeder Notifier unterstützt Callbacks für onCreate, onModify und onDelete, sodass Entwickler die Benutzeroberfläche aktualisieren, Warnmeldungen anzeigen, lokale Daten aktualisieren oder benutzerdefinierte Workflows ausführen können, wenn sich E-Mail- oder Kalenderaktivitäten ändern.

Benachrichtigungen können über Echtzeit-Webhooks ausgeführt werden, wenn ein öffentlicher HTTPS-Endpunkt verfügbar ist, oder über eine zeitgesteuerte Überwachung, wenn ein einfacheres Bereitstellungsmodell bevorzugt wird. Für Google-E-Mail-Benachrichtigungen kann topicName in Verbindung mit Google Cloud Pub/Sub verwendet werden, wenn der Webhook-Modus konfiguriert ist.

Verbundene Anwendungen reagieren schneller und lassen sich einfacher warten – dank eines einheitlichen Ansatzes für die Erstellung von E-Mail- und Kalender-Workflows in Google- und Microsoft-Umgebungen.

4D Qodly Pro

Verbesserungen am Webformular-Editor

Die Arbeitsabläufe im 4D Qodly Pro Editor laufen dank Verbesserungen in den Bereichen Navigation, Ereignisprotokollierung, Dialogfelder und Interaktion zwischen Komponenten reibungsloser ab. Entwickler können einfacher zwischen dem Ereignisbericht und dem Seiteneditor wechseln, die richtige Komponente schneller auswählen und Filter beim Wechseln der Ansichten beibehalten, wodurch kleine Unterbrechungen, die die Formularbearbeitung verlangsamen, reduziert werden.

Auch der Ereignisbericht ist nun praxisorientierter. Über Links aus Plausibilitätsprüfungen lassen sich nun Komponenten innerhalb von Dialogfeldern auswählen, gelöschte Funktionen werden mit einem Tooltip hervorgehoben, und durch Klicken auf Bearbeiten kann die zugehörige Komponente im Webformular ausgewählt und automatisch dorthin gescrollt werden. Dialogfelder zum Umbenennen verfügen zudem über klarere Bestätigen- und Abbrechen-Aktionen für eine besser vorhersehbare Bearbeitungserfahrung.

Die Abdeckung von Komponentenereignissen wurde für Radiobutton- und Select-Input-Komponenten verbessert. Ereignisse wie On Click, On Blur, On Focus, On MouseEnter, On MouseLeave, On KeyDown und On KeyUp sind nun dort verfügbar, wo sie relevant sind, und geben Entwicklern mehr Kontrolle über Validierung, Fokusverwaltung, Tastaturverhalten, Barrierefreiheits-Workflows und erweiterte UI-Interaktionen.

Eine konfigurierbare Debounce- und Throttle-Einstellung für OnChange-Ereignisse hilft Entwicklern zudem dabei, zu steuern, wie oft Änderungen verarbeitet werden. Die Entwicklung von Webformularen wird konsistenter, präziser und in komplexen Benutzeroberflächen einfacher zu handhaben.

Plattform-Updates

Die Plattformgrundlagen werden durch Updates gestärkt, die die Konsistenz, Sicherheit und langfristige Zuverlässigkeit in den Bereichen 4D Qodly Pro, Netzwerkfunktionen, Verschlüsselung und Windows-Schnittstellen verbessern. 4D Qodly Pro erhält eine stärker standardisierte Grundlage für Design-System-Komponenten, wodurch Teams doppelte Styling-Logik vermeiden und konsistentere Benutzeroberflächen mit wiederverwendbaren UI-Mustern erstellen können.

Auch zentrale technische Komponenten wurden aktualisiert, darunter OpenSSL 4.0, BoringSSL, Ngtcp2 1.22.1 und Libuv 1.52.1. Diese Updates unterstützen die Zuverlässigkeit und Sicherheit in Schlüsselbereichen wie QUIC, WebSocket, Broadcast, gesicherten Verbindungen, HTTPS und der Client-Server-Kommunikation. Das OpenSSL 4.0-Update stärkt zudem das moderne TLS-Verhalten, wobei Server standardmäßig TLSv1_3 verwenden und die Mindest-TLS-Einstellungen auf TLSv1_2 und TLSv1_3 ausgerichtet sind .

Unter Windows unterstützt das Update für das Windows App SDK 2.0.1 die WinUI-Grundlage , die beim Erstellen von Anwendungen mit oder ohne eingebettetes WinUI verwendet wird. Zusammen sorgen diese Updates dafür, dass die Plattform den aktuellen Technologiestandards entspricht und gleichzeitig versteckte Wartungsrisiken für bereitgestellte Unternehmensanwendungen reduziert werden.