WAS IST NEU IN 4D 20 R5

4D Write Pro

TextumLAUF um Bilder und Textrahmen.

Mit 4D 20 R5 bieten Bilder und Textrahmen jetzt die Möglichkeit des Textumbruchs, was für mehr Flexibilität bei der Gestaltung des Dokumentenlayouts sorgt. Mit den neuen Ankermodi können Anwender Text um Bilder und Textrahmen herumlegen und so optisch ansprechende Dokumente ohne Einschränkungen erstellen.

Die Benutzeroberfläche von 4D Write Pro wurde verbessert, so dass Sie selbst entscheiden können, wie Sie Bilder und Textrahmen anzeigen möchten. Es stehen neue Werte für die Standardaktionen image/anchorLayout und textBox/anchorLayout zur Verfügung. Sie können diese Einstellungen auch über die Programmierung mit Hilfe der neuen Attribute anpassen: wk Textumbruch text wrap top bottom, wk text wrap square, wk text wrap square left, wk text wrap square right, und wk text wrap square largest.

Als Bonus wird diese Funktion beim Export in SVG, PDF und HTML (basierend auf dem eingebetteten Modus) sowie beim Import und Export in Word berücksichtigt.

Bearbeiten von Abschnitten über die Benutzeroberfläche

4D 20 R5 ermöglicht es Ihnen, Abschnittswechsel über die Benutzeroberfläche zu verwalten.

Mit dem Interface-Update werden Menüs eingeführt, die über zwei Schaltflächen zugänglich sind. Damit können Benutzer Abschnittswechsel einfügen (wie bisher) und auf Optionen für verschiedene Seiten zugreifen. Dies ermöglicht eine einfache Anpassung innerhalb der Abschnitte, wie z.B. die Unterscheidung zwischen der ersten und der folgenden Seite oder die Unterscheidung zwischen rechten und linken Seiten direkt von der Benutzeroberfläche aus. Außerdem bietet das neue Menü die Möglichkeit, Kopf- und Fußzeilen von Abschnitten und Unterabschnitten zu entfernen.

Tabellen mit unbegrenzten Zeilen und Spalten auffüllen

4D 20 R5 hebt die Begrenzung auf 1000 Zeilen auf.

Dieses Limit ist nicht mehr fest und wird von 4D Write Pro gesteuert, sondern wird nur noch durch den verfügbaren Speicher begrenzt. Sie können jetzt Datenquellen mit Tabellen verknüpfen, was eine automatische Befüllung ohne Einschränkungen ermöglicht.

wk-Seitengröße für Dokumentengröße

4D 20 R5 führt ein neues Dokumentattribut für 4D Write Pro ein: wk-Seitengröße. Diese praktische Funktion ermöglicht es Ihnen, Breite und Höhe des Dokuments in einem einzigen Schritt festzulegen. Unabhängig von Ihrem aktuellen Drucker können Sie zwischen vordefinierten Druckerformaten, benutzerdefinierten Formaten oder sogar ISO-Standardformaten (A0-C10, DL, Legal, usw.) wählen. Dies vereinfacht die Definition von Dokumentenformaten für verschiedene Anforderungen und spart Ihnen Zeit und Code!

ORDA

Einschränkung der Daten bei der Auswahl von Entitäten

4D 20 R5 verbessert die Datenbeschränkung bei der Auswahl von Entitäten, indem es die Implementierung von Filtern rationalisiert, einen präziseren, auf bestimmte Kriterien und Benutzerinteraktionen zugeschnittenen Datenabruf gewährleistet und den Datenzugriff durch verfeinerte Abfrage- und Auswahlbeschränkungen sichert.

Es ermöglicht 4D Entwicklern, Geschäftsfilter auf die gelesenen Daten aus bestimmten Datenklassen anzuwenden. Webentwickler können die abgerufenen Daten anhand von Benutzer- oder anderen relevanten Informationen filtern, die in Websitzungen gespeichert sind. Qodly-Entwickler können die gelesenen Daten nach den Endbenutzern filtern, die mit der Anwendung interagieren.

REST

Verbesserte Nutzung von 4D Client Lizenzen

4D 20 R5 führt eine neue Funktion für Ihre REST APIs namens Force Login ein. Dieser Modus stellt sicher, dass niemand auf Ihre Daten zugreifen kann, der nicht ordnungsgemäß authentifiziert ist, indem er eine erfolgreiche Authentifizierung verlangt, bevor Daten über die REST-APIs angezeigt oder manipuliert werden können. Außerdem stellt diese Funktion sicher, dass keine 4D Client Lizenz verwendet wird, solange die Authentifizierung nicht erfolgreich war.

Programmierungsbezogene Funktionen

Einführung von Try-Catch-Blöcken

Nach der Implementierung des Befehls throw() und der Einführung des Schlüsselworts Try(Expression) wird 4D 20 R5 mit der nächsten Weiterentwicklung des Fehlerbehandlungssystems von 4D ausgeliefert: den Try-Catch Codeblöcken!

Entwickler können Fehler präzise behandeln und lokalisieren, indem sie Code innerhalb der Schlüsselwörter Try, Catch und End try kapseln. Wenn ein Fehler auftritt, wird der Catch-Block ausgeführt, um ihn angemessen zu behandeln.

Gemeinsame Klassen

4D 20 R5 führt gemeinsame Klassen ein, die die Arbeit mit gemeinsamen Objekten erleichtern.

Gemeinsame Klassen vereinfachen die Erstellung und Verwendung gemeinsamer Objekte, indem sie die notwendigen Einstellungen automatisch vornehmen. Indem Sie das Schlüsselwort “shared” zu einem Klassenkonstruktor oder einer Funktion hinzufügen, geben Sie an, dass diese gemeinsam genutzte Objekte erstellen oder verändern wird.

4D Singleton

4D 20 R5 führt eine äußerst nützliche Funktion ein: Singletons, ein Objekt, das in Ihrer gesamten Anwendung zugänglich ist. Sie bieten eine Vielzahl von Funktionen und dienen als Hosts für prozessübergreifende Werte und Utility-Klassen und sogar als grundlegende Elemente für Entwurfsmuster wie das Factory Pattern.

Sie werden in zwei Typen unterteilt:

  • reguläre Singletons, eindeutig pro Prozess,
  • und gemeinsame Singletons, die für die gesamte Anwendung eindeutig sind.

Sie zu definieren ist einfach. Fügen Sie “singleton” zum Klassenkonstruktor hinzu. Dann können Sie mit dem Attribut “me” ganz einfach auf Ihre Singletons zugreifen.

Eigenschaftsdeklaration und Initialisierung

4D 20 R5 führt eine neue Funktion ein, die die Deklaration von Eigenschaften vereinfacht und es Entwicklern ermöglicht, Eigenschaften gleichzeitig mit ihrer Deklaration in einer einzigen Zeile zu initialisieren. Diese Verbesserung vereinfacht die Lesbarkeit und Effizienz des Codes, da keine separaten Initialisierungsblöcke mehr erforderlich sind. Entwickler können mit den Optionen für abgeleitete Typen oder deklarierte Typen und Initialisierung sauberere, besser wartbare Codebasen erstellen.

Neues 4D Remote Session Objekt mit Client/Server Verbindung

4D 20 R5 führt eine erweiterte Funktionalität für den Befehl Session ein, die Client/Server Verbindungen und gespeicherte Prozeduren neben den bestehenden Web und Mobile Sessions in 4D Anwendungen abdeckt. Mit diesem Update wird eine neue Klasse, ‘ClientServerSession’, eingeführt, die speziell für 4D Remote-Sitzungen entwickelt wurde und die folgenden Eigenschaften bietet: ID, info, storage und userName.

Vereinfachte Paketverwaltung

4D 20 R5 bringt eine Funktion, die die Paketverwaltung vereinfacht: Package Manager. Sie müssen Projektkomponenten nicht mehr in einem Komponentenordner speichern. Stattdessen verwendet diese Funktion die Dateien dependencies.json und environment4d.json, wodurch Entwickler einen besseren Einblick in die Abhängigkeiten ihrer Anwendungen erhalten und die Möglichkeit haben, die Pfade ihrer Komponenten anzupassen.

Außerdem können Sie jetzt über einen neuen Bereich im Menü Design unter Projektabhängigkeiten auf die Komponenten des 4D und des Projektordners Komponenten zugreifen. Bald werden Sie auch in der Lage sein, Abhängigkeiten direkt von dieser Oberfläche aus hinzuzufügen und zu verwalten, ebenso wie andere Funktionen für den Paketmanager.

4D-Projekt

Verbesserte Katalogverwaltung in Versionskontrollsystemen

Aufgrund Ihres Feedbacks haben wir unser 4D Projekt-Setup deutlich verbessert.

Früher wurden alle Projektdetails, wie Farben und Positionen von Tabellen, Feldern und Beziehungen, in catalog.4DCatalog gespeichert. Jetzt haben wir diese Informationen in eine separate Datei namens catalog_editor.json ausgelagert.

Das macht die Verwaltung von Änderungen und die Überprüfung der Arbeit einfacher, insbesondere wenn mehrere Entwickler beteiligt sind. Mit dieser Änderung bleibt die Katalogdatei unangetastet, wenn jemand eine Tabelle oder ein Feld anpasst.

Damit werden Konflikte vermieden und die Überprüfung von Änderungen vereinfacht. Außerdem haben wir eine Option hinzugefügt, mit der Sie für ältere Projekte zu dieser neuen Einstellung wechseln können. Wenn Sie diese Funktion versehentlich aktivieren, machen Sie sich keine Sorgen! Sie können dies ganz einfach rückgängig machen, indem Sie zur alten Einstellung zurückkehren.

4D VIEW Pro

Erweiterung der benutzerdefinierten Funktionen

4D 20 R5 ermöglicht Benutzerdefinierte Berechnungen auf Spalten- oder Zeileninhalten innerhalb einer Kalkulationstabelle ohne vorherige Kenntnis der Anzahl der betroffenen Zellen. Ermöglicht wird dies durch die Übergabe von mehreren Zellbereichen oder Objekten an benutzerdefinierte Formeln, was dazu führt, dass eine Sammlung oder ein Objekt mit allen Zellinhalten innerhalb einer 4D Methode abgerufen wird.

4D Netkit

E-Mails mit Google Mail anhängen

4D 20 R5 bietet eine neue Funktion, mit der Sie E-Mail-Entwürfe erstellen und diese direkt in den dafür vorgesehenen Etiketten in Ihrem Postfach speichern können, ohne sie zu versenden. So können Sie ganz einfach auf Ihre Vorlagen zugreifen und diese ändern, wenn Sie eine ähnliche E-Mail versenden müssen.

PKCE für OAuth 2.0

4D 20 R5 beinhaltet jetzt PKCE (Proof Key for Code Exchange) in der OAuth 2.0 Authentifizierung. Indem Sie die Einstellung PKCEEnabled in der Klasse cs.NetKit.In the OAuth2Provider aktivieren, erhöhen Sie die Sicherheit gegen Abhör- und Wiederholungsangriffe. Diese Funktion bietet zusätzlichen Schutz, indem sie sicherstellt, dass jeder Austausch von Autorisierungscodes verschlüsselt sicher ist.

OAuth2.0-Authentifizierung mit einem Zertifikat

In 4D 20 R5 unterstützt Netkit jetzt OAuth 2.0 zertifikatsbasierte Authentifizierung für verbesserte Sicherheit.

Die Authentifizierung wird durch die Verwendung von Zertifikaten anstelle von Client-Geheimnissen robuster, insbesondere bei Servern wie Microsoft Identity Platform.

Benutzeroberfläche

Anpassen des Erscheinungsbildes mit neuen Fenstertypen

Zwei neue Fenstertypen ermöglichen es Ihnen, die Titelleiste des Fensters selbst zu gestalten und eigene Elemente, wie Schaltflächen oder ein Suchfeld, hinzuzufügen. Das bedeutet völlige Freiheit bei der Anpassung des Erscheinungsbildes Ihrer Anwendung an Ihre Vorgaben.

Aber das ist noch nicht alles! Wir haben auch mehrere neue Befehle eingeführt, um Ihren Entwicklungsprozess zu rationalisieren:

  • Ein Fenster in der Titelleiste unter Windows oder im Dock unter macOS verkleinern, REDUCE RESTORE WINDOW
  • Erkennen, ob das Fenster in der Titelleiste unter Windows oder im Dock unter macOS verkleinert ist, Is Window Reduced
  • Erkennen Sie, ob das Fenster maximiert ist, Is Window Maximized

Verbesserte Netzwerkkommunikation (QUIC)

IPv6 und Broadcast-Unterstützung

Während QUIC (das zukünftige Netzwerksystem zwischen 4D Remote und 4D Server) sich noch in der Entwicklung befindet und noch nicht produktionsreif ist, fügt 4D 20 R5 weitere Funktionalitäten hinzu; es ist an der Zeit, mit dem Testen in Ihrem eigenen Netzwerk zu beginnen.

Die Broadcast Funktion ermöglicht es Anwendern, 4D Server, auf denen Anwendungen in ihrem Netzwerk laufen, einfach zu identifizieren und sich mit ihnen zu verbinden, was eine nahtlose Integration gewährleistet. Darüber hinaus wurde die Broadcast-Funktionalität verfeinert, um genauere Serverlisten zu liefern und sicherzustellen, dass Benutzer nur mit relevanten Servern verbunden werden

>.

Außerdem wird IPv6 unterstützt, d.h. Sie können Ihren 4D Server in einem IPv6 Netzwerk verwenden.

Visual Studio Code

Workspace-Syntaxprüfung

Mit 4D 20 R5 und der Erweiterung 4D-Analyzer bietet Visual Studio Code jetzt Workspace Syntax Checking. Sie hilft, Fehler zu reduzieren und die Codierung zu rationalisieren, indem sie das gesamte 4D Projekt auf Fehler überprüft. Fehler und Warnungen werden in einer Seitenleiste angezeigt, so dass Sie Probleme leicht erkennen und beheben können.

Automatisches Herunterladen von Tool4D

Mit der Version 0.2.0 der 4D-Analyzer Erweiterung müssen Sie eine 4D Anwendung nicht mehr manuell installieren und ihren Pfad in die Parameter der Erweiterung eingeben. Die Erweiterung lädt automatisch eine Version von tool4d herunter, speichert sie an einem Ort auf dem System und startet sie im Hintergrund. Durch diese Vereinfachung wird der Einstieg in die Entwicklung mit VS Code for 4D vereinfacht und verbessert.

GitHub Codespaces

Die Codespaces von GitHub vereinfachen die Remotentwicklung, indem sie die Bearbeitung von Repositories von jedem beliebigen Ort aus über Visual Studio Code oder die Codespaces-Anwendung ermöglichen.

Mit der Integration von 4D Projekten können Entwickler ihre Codierungserfahrung mit Tools wie 4D-Analyzer verbessern, die Funktionen wie Code-Hervorhebung und Autovervollständigung bieten. Wie Sie im obigen Abschnitt sehen, lädt 4D-Analyzer automatisch die Version der tool4d Anwendung, die Sie definiert haben, herunter und aktualisiert sie. 4D hat eine spezielle Version, tool4d, für GitHub veröffentlicht, um dies in einer Codespace-Umgebung zu ermöglichen.

Wollen Sie mehr wissen? Lesen Sie alle Blogbeiträge über 4D 20 R5