Was ist neu in 4D v16 R5

Abrufen der Neuerungen in früheren R-Versionen >

Sicherheit

Verbesserte Sicherheit für 4D Server

4D unterstützt Transport Layer Security (TLS v1.0, TLS v1.1 und TLS v1.2), um verschlüsselte Kommunikation zwischen Clients und Servern zu ermöglichen. Ab 4D v16 R5 ist die standardmäßig unterstützte Mindestversion TLS v1.2, ältere Versionen werden abgelehnt, da sie unsicher sein könnten. Um die Sicherheit Ihres 4D Servers zu erhöhen, aktualisieren Sie einfach auf 4D v16 R5. Für Ihre Webseiten und Methoden sind keine Änderungen erforderlich, dasselbe gilt für Ihre Client-Server-Anwendungen.

Wenn Sie jedoch ältere Browser (oder Tools) unterstützen möchten, die TLS v1.2 nicht unterstützen, können Sie die Sicherheitsstufe mit dem neuen Min TLS Versionsselektor für die Befehle Get database parameter und SET DATABASE PARAMETER verringern.

Befehl „Digest generieren“ und SHA-2-Unterstützung

Die Digest-Funktionen sind praktisch, wenn es um die Überprüfung der Datenintegrität während des Datenaustauschs oder -vergleichs geht. Der Befehl Generate Digest wurde um die Unterstützung von SHA-2 erweitert. Er unterstützt zwei neue Algorithmen der SHA-2-Familie: SHA-256 und SHA-512. Die Syntax bleibt gleich, enthält aber jetzt zwei neue Konstanten: SHA256 digest und SHA512 digest.

Hash und Passwortüberprüfung für die Anmeldung von Webbenutzern

Der Hash-Mechanismus ist ein idealer Weg, um Passwörter zu speichern. Zwei neue Befehle wurden erstellt, um Hash-Passwörter zu erzeugen und zu überprüfen: Kennwort-Hash generieren und Kennwort-Hash verifizieren. Beide basieren auf dem bcrypt-Algorithmus, der von vornherein langsam ist. Daher sind Brute-Force-Angriffe langsamer und die Auswirkungen werden minimiert.

Weitere Befehle für präemptive Prozesse

Die Ausführung Ihrer Methoden in präemptiven Prozessen bedeutet, dass Ihre Anwendungen schneller sind und mehr verbundene Benutzer unterstützen können. Mit 4D v16 R5 wurden mehr als zwanzig bestehende Befehle erweitert, so dass sie in präemptiven Prozessen verwendet werden können. Bitte beachten Sie, dass Projektmethoden standardmäßig im kooperativen Modus ausgeführt werden. Wenn Sie also in einen präemptiven Modus wechseln möchten, müssen Sie die Option „kann im präemptiven Modus ausgeführt werden“ in den Methodeneigenschaften aktivieren.

Verwaltung von JSON-Zeigern

JSON-Pointer sind nützlich, um Ihre JSON-Dokumente zu strukturieren, indem sie in kleinere, wiederverwendbare Teile zerlegt werden.

4D unterstützt jetzt JSON-Pointer mit dem neuen Befehl JSON resolve pointers. Er analysiert die JSON-Zeiger, die in dem als Parameter übergebenen Objekt gefunden wurden, und gibt dann ein Objekt mit dem Erfolgsstatus, dem Ergebniswert und einer möglichen Fehlerliste zurück.

Umgang mit undefinierten Werten

Die Verwendung von undefinierten Eigenschaften und Werten mit der Object Notation wird vereinfacht, da die 4D Sprache nun undefinierte Werte überall in einem Ausdruck akzeptiert. Und wenn Sie einer Variablen einen undefinierten Wert zuweisen, wird sie auf einen Standardwert entsprechend ihrem Typ gesetzt. Das bedeutet, dass das Lesen der Eigenschaft eines nicht existierenden Objekts keine Fehler erzeugt oder die Codeausführung stoppt.

Daten zwischen Formularen weitergeben

Jetzt können Sie ein Objekt an ein Formular binden und es intern mit dem neuen Befehl Form verwenden, anstatt globale Variablen zu verwenden, wenn die Daten nicht aus der Datenbank stammen. Alles, was Sie tun müssen, ist, Parameter in einem Objekt mit dem DIALOG-Befehl an ein Formular zu übergeben. Jede Eigenschaft dieses Objekts ist dann innerhalb des Formulars über den Befehl Form verfügbar. Dasselbe kann für Unterformularbereiche getan werden.

Hilfestellungen zu Listenfeldern

Mit 4D v16 R5 wurden zwei Befehle zur Anzeige von Hilfetexten in Listenfeldern verbessert. Erstens wurde OBJECT SET HELP TIP erweitert, um Listboxen zu unterstützen. Zweitens unterstützt der Befehl LISTBOX GET CELL POSITION jetzt zwei neue optionale Parameter (x- und y-Position, in Pixeln) und gibt die entsprechenden Spalten- und Zeilennummern zurück.

4D Write Pro

Verwalten Sie Kopf- und Fußzeilen programmatisch

Mit einer Reihe neuer Befehle lassen sich Kopf- und Fußzeilen in 4D Write Pro programmatisch verwalten, um andere Dokumente auf Basis einer Vorlage zu erstellen. Diese Befehle sind in zwei Kategorien unterteilt:

  • Befehle zum Abrufen von Referenzen auf Kopf-, Fußzeilen oder Textkörper innerhalb von Dokumenten, die verwendet werden können, um zugehörige Bereiche zu erhalten und Dokumente für einen bestimmten Abschnitt zu erstellen. Diese Befehle sind: WP Get header, WP Get body und WP Get footer.
  • Befehle, um den Cursor an eine bestimmte Position zu bewegen: WP Get frame wird verwendet, um einen Verweis auf den Rahmen zu erhalten, in dem sich der Cursor derzeit befindet, während WP SET FRAME den Cursor auf einen bestimmten Rahmen setzt.

Unterstützung von Bildausdrücken

4D Write Pro unterstützt jetzt Bildausdrücke. Beginnend mit 4D v16 R5 wurde der Befehl ST INSERT EXPRESSION erweitert, um jeden Ausdruck zu unterstützen, der ein Bild zurückgibt. Ein Ausdruck kann eine 4D Variable, ein Feld, eine Funktion oder eine benutzerdefinierte Methode sein.

Beachten Sie, dass Sie vor der Verwendung einer 4D Methode in einem Ausdruck zunächst die Verwendung dieser Methode mit dem Befehl SET ALLOWED METHODS aktivieren müssen.

Hintergrundbilder in voller Größe

Die Erstellung von Hintergrundbildern, die die gesamte Seite ausfüllen, ist jetzt mit 4D Write Pro möglich, dank eines neu hinzugefügten Hintergrundstilattributs für Bildausschnitt und Ursprung. Der Vorteil ist, dass Bilder jetzt auf das Papier und nicht nur auf den Rand, die Füllung oder den Inhalt geklebt werden können.

Dieses Attribut kann über gesteuert werden:

  • 4D Sprache: Sie können den Befehl WP SET ATTRIBUTES verwenden und den neuen Wert wk paper box für das Beschneiden von Hintergrundbildern und/oder den Ursprung festlegen.
  • Standard-Aktionen: Der Befehl INVOKE ACTION kann verwendet werden, oder im Designmodus wie jede andere Standardaktion.
  • 4D Write Pro Widget: Wenn Sie die Elemente „Hintergrundbild“ und „Dokument“ auswählen, steht für die Optionen „Ausschnitt“ und „Ursprung“ eine neue Option „Papierrahmen“ zur Verfügung.

4D View Pro: Automatische Zeilenhöhe

4D View Pro unterstützt bereits variable Zeilenhöhen in array-basierten Listenfeldern. 4D v16 R5 unterstützt nun die vollautomatische Zeilenhöhe, d.h. eine Listbox passt die Höhe jeder Zeile an den Inhalt an, so dass der gesamte Text oder das Bild angezeigt werden kann, ohne dass es zu Umbruchproblemen kommt.

Drei neue Eigenschaften sind in der Eigenschaftsliste verfügbar: Automatische Zeilenhöhe, Minimale Zeilenhöhe und Maximale Zeilenhöhe. Mit diesen Einstellungen können Entwickler festlegen, ob ein Listenfeld den Modus für die automatische Zeilenhöhe verwendet, zusätzlich zu der minimal und maximal zulässigen Zeilenhöhe.

Diese Einstellungen können auch programmatisch mit dem Befehl LISTBOX SET PROPERTY und dem neuen Befehl LISTBOX SET AUTO ROW HEIGHT verwaltet werden.

Benutzerdefinierte Server-Verwaltung DIALOG

Detaillierte Informationen über 4D Webserver

Der neue Befehl WEB Get server info ruft detaillierte Informationen über Ihren 4D Web Server ab. Dieser Befehl hat einen optionalen Eingabeparameter, withCacheInfo, der nützlich ist, wenn die Cache-Informationen des Webservers benötigt werden. Dieses Attribut ist standardmäßig auf „False“ gesetzt.

Verbesserung des Befehls get process activity

Der Befehl “ Get process activity “ wurde verbessert, um das Parsen der Ergebnisse zu vereinfachen. Darüber hinaus wurde ein neues systemID-Attribut eingeführt, um jeden Prozess eindeutig zu identifizieren: user, 4D und spare.

Möchten Sie mehr wissen? Lesen Sie alle Blogbeiträge über 4D v16 R5!