Was ist neu in 4D v16 R5

 

Sicherheit

Verbesserte Sicherheit Für 4D Server

4D unterstützt Transport Layer Security (TLS v1.0, TLS v1.1 und TLS v1.2) für die verschlüsselte Kommunikation zwischen Clients und Servern.  4D v16 R5 unterstützt standardmäßig die Version TLS v1.2, ältere Versionen werden abgewiesen, da sie unsicher sein können. Für mehr Sicherheit Ihres 4D Server müssen Sie nur auf 4D v16 R5 upgraden. Dafür sind keine Änderungen für Ihre Web Seiten und Methoden erforderlich, das gilt ebenso für Ihre Client-Server Anwendungen.

Wollen Sie ältere Browser oder Tools einsetzen, die TLS v1.2 noch nicht unterstützen, können Sie die Sicherheitsstufe herabsetzen. Dazu verwenden Sie den neuen Selektor Min TLS version der Befehle Get database parameter und SET DATABASE PARAMETER.

Unterstützung von SHA-2

Digest bzw. Hash Funktionen sind hilfreich, um beim Datenaustausch oder -vergleich die Datenintegrität zu überprüfen. Die Funktion Generate digest wurde erweitert und unterstützt jetzt zwei neue Algorithmen der SHA-2 Familie: SHA-256 und SHA-512. Die Syntax bleibt gleich, neu dazugekommen sind die beiden Konstanten SHA256 digest und SHA512 digest.

Sicherer Kennwort-Hash fÜr web user login

Der Hash-Mechanismus ist ein idealer Weg zum Speichern von Kennwörtern. Es gibt zwei neue Funktionen zum Erstellen und Prüfen von sicheren Kennwort-Hashs: Generate password hash und Verify password hash. Sie basieren auf dem bcrypt Algorithmus, der gezielt verlangsamt. Das macht ihn selbst bei steigender Rechenleistung gegenüber brute-force Angriffen resistent, da er zuviel Zeit beansprucht und es somit zu teuer wird.

Mehr befehle für preemptive prozesse

Methoden, die in preemptive Prozessen laufen, machen Ihre Anwendungen schneller und unterstützen mehr gleichzeitig angemeldete Benutzer. In 4D v16 R5 wurden über zwanzig Befehle erweitert, so dass sie in preemptive Prozessen verwendbar sind. Beachten Sie, dass Projektmethoden standardmäßig im kooperativen Modus laufen. Wollen Sie in den preemptive Modus wechseln, müssen Sie in den Methodeneigenschaften unter Ausführungsmodus die Option Als preemptive Prozess starten markieren.

json Zeiger nutzen

Über JSON Zeiger können Sie Ihre JSON Dokumente strukturieren, d.h. in kleinere wiederverwendbare Teile aufteilen.

Dafür bietet 4D die neue Funktion JSON resolve pointers. Sie analysiert die im Parameter Objekt gefundenen JSON Zeiger und gibt ein Objekt zurück mit den Angaben success, value und errors (falls zutreffend).

Undefinierte Werte einfacher verwalten

Das Verwenden undefinierter Eigenschaften und Werte mit Objektnotation ist jetzt einfacher, da die 4D Programmiersprache überall in einem Ausdruck undefinierte Werte zulässt. Und immer wenn Sie einer Variablen einen undefinierten Wert zuweisen, wird er je nach Typ auf einen Standardwert gesetzt. Das hat zur Folge, dass das Bewerten einer Objekteigenschaft, die einen undefinierten Wert ergibt, keine Fehler mehr generiert oder die Ausführung des Code stoppt.

daten zwischen formularen übergeben

Sie können ein Objekt an ein Formular binden und es intern mit der neuen Funktion Form verwenden. Dadurch müssen keine globale Variablen mehr verwendet werden, sondern lediglich das an das Formular gebundene Objekt als Parameter an den Befehl DIALOG übergeben. Alle Eigenschaften dieses Objekts sind dann innerhalb des Formulars über die Funktion Form verfügbar. Dasselbe lässt sich auch für Unterformularbereiche ausführen.

hilfetipps in listboxen anzeigen

Mit 4D v16 R5 wurden zwei Befehle erweitert, um Hilfetipps auch in Zellen von Listboxen anzuzeigen: OBJECT SET HELP TIP unterstützt jetzt auch Listboxen. LISTBOX GET CELL POSITION hat zwei neue optionale Parameter erhalten (X und Y, in Pixel), welche die Spalten- und Zeilennummer der Mauskoordinaten zurückgeben.

4D Write Pro

Kopf- und Fußteile per programmierung steuern

Ein neuer Satz Befehle ermöglicht, 4D Write Pro Kopf- und Fußteile per Programmierung zu steuern. So können Sie leicht andere Dokumente anhand einer Vorlage erstellen. Es gibt zwei Kategorien:

  • “Get”-Funktionen für Referenzen auf Kopfteile, Fußteile oder den Hauptteil im Dokument. Referenzen dienen zum Erhalten der jeweiligen Ausschnitte und zum Erstellen von Dokumenten für einen bestimmten Abschnitt. Die Get-Funktionen sind WP Get header, WP Get body und WP Get footer.
  • Befehle zum Erhalten oder Setzen der Cursor-Position: WP Get frame erhält die Referenz für den Rahmen, in dem sich der Cursor aktuell befindet, WP SET FRAME setzt den Cursor in einen bestimmten Rahmen. 

Unterstützung von bildausdrücken

In 4D v16 R5 wurde der Befehl ST INSERT EXPRESSION erweitert. Er unterstützt jetzt auch Ausdrücke, die Bilder in 4D Write Pro Bereichen zurückgeben. Das kann eine 4D Variable, ein Feld, eine Funktion oder eine benutzerdefinierte Methode sein.

Beachten Sie, dass Sie für eine 4D Methode als Ausdruck zuerst den Befehl SET ALLOWED METHODS aufrufen müssen, um die Methode explizit zu erlauben.  

HIntergrundbild für die ganze seite setzen

In 4D Write Pro lassen sich jetzt Hintergrundbilder für die ganze Seite setzen. Mit dem neuen Attribut für Hintergrundeffekte können Bilder bis zum Papierrand des Dokuments gezeichnet werden und nicht nur bis zum äußeren/inneren Rand bzw. im Inhaltsbereich.

Dieses Attribut lässt sich wie folgt steuern:

  • 4D Programmiersprache: Mit WP SET ATTRIBUTES für den Zeichenbereich oder die Positionierung des Hintergrundbildes den neuen Wert wk paper box wählen.
  • Standardaktionen: Als Parameter im Befehl INVOKE ACTION oder im Designmodus als spezifische Standardaktion für 4D Write Pro Bereiche setzen.
  • 4D Write Pro Widget: Im Kontextmenü des 4D Write Pro Dokuments über die Einträge Dokument>Hintergrund>Begrenzung die neue Option paper box wählen.

 

 

4D view Pro: automatische zeilenhöhe

4D View Pro unterstützt bereits variable Zeilenhöhen in Listboxen, die auf Arrays basieren. 4D v16 R5 unterstützt die variable automatische Zeilenhöhe, d.h. eine Listbox passt die Zeilenhöhe an den jeweiligen Inhalt an, so dass sich der gesamte Inhalt bzw. ein Bild in voller Größe anzeigen lassen und nicht in irgendeiner Weise abgeschnitten erscheinen.

In der Eigenschaftenliste gibt es unter der Gruppe Koordinaten & Größe die neuen Einträge: Automatische Zeilenhöhe, Min Zeilenhöhe und Max Zeilenhöhe. Damit können Sie für die Listbox die automatische Anpassung der Zeilenhöhe und eine Mindest- und Maximumhöhe definieren.

Diese Einstellungen lassen sich über den Befehl LISTBOX SET PROPERTY und den neuen Befehl LISTBOX SET AUTO ROW HEIGHT auch per Programmierung setzen.

Mehr Angaben im server administration DIALOG

detaillierte Angaben zum 4D web server

Die neue Funktion WEB Get server info gibt detaillierte Informationen zu Ihrem 4D Web Server zurück. Sie können den optionalen Eingabeparameter withCacheInfo setzen, wenn Sie Angaben zum Cache des Web Server benötigen. Standardmäßig ist er auf “False” gesetzt.

 

Einfachere ErgebnisAnalyse

Die Funktion Get process activity wurde verbessert, so dass sich die Ergebnisse leichter analysieren lassen. Außerdem wurde das Attribut systemID hinzugefügt. Damit lässt sich jeder Prozess eindeutig als Benutzer, 4D oder wartender Prozess identifizieren.

Sie wollen mehr wissen? Lesen Sie alle Blog Posts über 4D v16 R5!