Was ist neu in 4D V17 R5

Verschlüsselung

4D v17 R5 führt eine neue integrierte Datenverschlüsselung für Ihre 4D Datenbanken ein. Daten können über Code oder die Benutzeroberfläche verschlüsselt werden, für alle Tabellen oder nur für ausgewählte Tabellen. Die Verschlüsselungswerkzeuge von 4D basieren auf einer Passphrase. Sie besteht aus einem Satz oder einer Wortkombination, aus der ein binärer Schlüssel für die Verschlüsselung der Daten mit dem AES-Algorithmus erzeugt wird. Um mit einer verschlüsselten Datei arbeiten zu können, ist die Passphrase oder der binäre Chiffrierschlüssel zwingend erforderlich.

Es ist wichtig zu wissen, dass es bei Verlust des Schlüssels KEINE Abhilfe gibt. Die Daten sind dann für immer gesperrt!

Verschlüsseln über das MSC

Ein neues Attribut Encryptable ist für Tabellen im Designmodus verfügbar. Es legt den Verschlüsselungsstatus einer Tabelle fest, indem es angibt, dass sie verschlüsselt werden kann. Sobald Sie bereit sind, Ihre Daten zu verschlüsseln, können Sie dies am einfachsten über die neue Verschlüsselungsseite im MSC tun. Diese Seite bietet alle notwendigen Funktionen, um die Verschlüsselung Ihrer Daten zu überwachen. Sie können diese Seite nutzen, um die Datendatei zu ver- oder entschlüsseln, sie erneut zu verschlüsseln und/oder Ihre Passphrase zu ändern.

Verschlüsseln mit 4D Befehlen

Zusätzlich zum MSC enthält 4D v17 R5 eine Reihe von Befehlen, die für die meisten Verschlüsselungsanforderungen geeignet sind. So können Sie beispielsweise die Verschlüsselung mit dem Befehl Encrypt data file() verwalten oder den Befehl provideDataKey() verwenden, um einer geöffneten Datendatei den Schlüssel für die Datenverschlüsselung bereitzustellen. Sie können sogar den Befehl encryptionStatus() verwenden, um zu prüfen, ob die geöffnete Datendatei verschlüsselt ist und ob ein gültiger Datenverschlüsselungsschlüssel bereitgestellt wurde. Die vollständige Liste der Befehle ist im Doc Center verfügbar.

4D für iOS – Vorschau

Aktionen

Mit 4D für iOS sind jetzt Aktionen verfügbar, die Ihnen mehr Interaktivität mit Ihrer mobilen App ermöglichen. Mit diesen Aktionen können Ihre Nutzer Aufgaben auf erledigt oder abgeschlossen setzen oder Ereignisse markieren, die überprüft werden sollen – mit einer einfachen Fingerbewegung oder durch Auswahl einer Aktion aus einem Menü. Es gibt eine neue Datenbankmethode On Mobile App Action, mit der Sie alle Ihre Aktionen deklarieren können. Darüber hinaus wurde im Projekt-Editor ein Abschnitt “ Aktion“ hinzugefügt, in dem Sie Ihre Aktionselemente (Name, Symbol, kurze/lange Beschriftungen, Tabellen und Umfang) definieren können.

Inkrementelle Datensynchronisation

Mit 4D v17 R5 enthält 4D für iOS eine inkrementelle Datensynchronisation. Das bedeutet, dass 4D nicht mehr ständig den gesamten Datensatz an ein Gerät sendet, sondern automatisch die aktualisierten oder gelöschten Datensätze verfolgt und nur diese Daten auf dem Gerät aktualisiert. Außerdem werden Ihre Daten nicht nur bei jedem Start Ihrer App aktualisiert, sondern auch jedes Mal, wenn Ihre App in den Vordergrund wechselt oder als Reaktion auf eine Benutzeraktion.

N-zu-eins-Beziehungen

In 4D v17 R5 unterstützt 4D für iOS N-zu-eins-Beziehungen. Sie können beschreibende Beziehungsnamen verwenden und die Definition Ihrer Projektstruktur vereinfachen. Ändern Sie die Kurz- und Langnamen von Bezugsfeldern, wählen Sie ihr Symbol und wenden Sie Abfragen auf sie an.

Versenden von E-Mails

SMTP-Konversationen protokollieren

4D v17 R5 bietet eine neue Funktion für E-Mail-Protokolle: den Befehl SMTP New transporter. Er stellt eine Verbindung zwischen einem SMTP-Server (z. B. Exchange oder Google Mail) und dem Client her und protokolliert – in unverschlüsseltem Text – die gesamte Kommunikation. Es gibt eine neue Eigenschaft logFile, die den vollständigen Pfad der für die SMTP-Verbindung definierten Protokolldatei enthält. Die Datei kann in zwei Versionen erstellt werden: Eine Standardversion und eine erweiterte Version. Beide Versionen können durch den Befehl SET DATABASE PARAMETER ausgelöst werden.

Benutzerdefinierte Mail-Kopfzeilen

4D v17 R5 bietet fünf neue vordefinierte Kopfzeilen direkt über das Mail-Objekt:

  • messageId: Einzelner, eindeutiger Nachrichtenidentifikator, der sich auf eine bestimmte Nachrichtenversion bezieht.
  • inReplyTo: Nachrichten-Identifikator der ursprünglichen Nachricht, auf die die aktuelle Nachricht eine Antwort ist
  • Referenzen: Sammlung von Nachrichten-Identifikatoren anderer Nachrichten, zu denen die aktuelle Nachricht in Beziehung stehen kann.
  • Schlüsselwörter: Objekt mit wichtigen Wörtern und Ausdrücken, die für den Empfänger nützlich sein könnten.
  • Kommentare: Enthält zusätzliche Kommentare zum Text des Nachrichtentextes.

Wenn Sie andere Header benötigen, verwenden Sie die Header-Sammlung, um spezifische SMTP-Header zu Ihrer E-Mail hinzuzufügen.

Unterstützung von Legacy-Zeichensätzen

Mit 4D v17 R5 können Sie ältere Zeichensätze für den E-Mail-Versand verwenden: ISO-2022-JP für Japanisch oder ISO-8859-1 für Westeuropa. Der Befehl SMTP New transporter akzeptiert neue Parameter, mit denen Sie die Art der Kodierung angeben können, die Sie in Ihrem Header oder Body verwenden möchten.

ORDA

Benannte Platzhalter für Werte

4D v17 R5 erleichtert das Schreiben von generischen ORDA-Abfragen dank benannter Platzhalter für Werte. Diese Platzhalter werden als Objektparameter in den Abfrageeinstellungen angegeben und durch einen anderen Wert ersetzt, wenn der Abfrage-String ausgewertet wird.

Benannte Platzhalter für Attributpfade

Sie können auch Platzhalter für Attributpfade (Feldnamen in Tabellen) verwenden. Zwei Typen sind verfügbar: Indiziert – eingefügt als :paramIndex(z. B. :1, :2,… mit einer Schrittweite von 1) in den Abfrage-String und ihre entsprechenden Werte werden durch die Sequenz von Wert-Parameter(n) bereitgestellt, und Benannt – eingefügt als :paramName und ihre Werte werden in den Attributen oder Parameter-Objekten im Abfrage-String bereitgestellt.

Leistungsoptimierung im Client/Server-Modus

Der Zugriff auf große Tabellen (insbesondere solche mit Relationen) im Client/Server Modus unter Verwendung von ORDA wurde in 4D v17 R5 stark verbessert. Bei der Verwendung von Entity-Auswahlen in Listboxen oder in Codeschleifen( z. B. While oder For each) werden die verwendeten Felder automatisch analysiert, um die Netzwerkübertragung zu optimieren. Sie werden eine 2-3-fach verbesserte LAN-Leistung und eine bis zu 30-fach schnellere WAN-Leistung feststellen (je nach Netzwerk und Datensatzgröße). Und das Beste daran: Sie müssen nichts an Ihrem Code ändern, alles läuft automatisch ab.

Signifikante Verbesserungen

Verbesserte Leistung

Bei stark genutzten Servern (z. B. viele parallele Benutzer oder Prozesse, die auf Datensätze zugreifen, während andere Benutzer Datensätze derselben Tabelle ändern/erstellen) kann ein verbesserter interner Sperrmechanismus die Leistung drastisch verbessern. Dies kann zu deutlich höheren Geschwindigkeiten (4-8x) bei höherer CPU-Auslastung führen, da Threads weniger Zeit mit dem Warten auf Mikrosperren verbringen.

Librairies Update

Da 4D v17 R5 nur 64-bit ist, wurden mehrere Bibliotheken aktualisiert: Hunspell v.1.7.0 (Rechtschreibprüfung), PHP v7.3.1, CEF 3626 (Chrome Foundation, interner Webbereich), OpenSSL v1.1.1 (ermöglicht die Unterstützung von TLS 1.3), und ICU 63.1 (neue Unicode-Versionen. Diese Aktualisierung bewirkt eine automatische Neuindizierung von Text-, Alpha- und Objektfeldern).

Multi-Mandanten-Instanzen

Mit 4D v17 R5 können Sie mehrere Clients auf demselben Computer laufen lassen und sie gleichzeitig mit demselben 4D Server verbinden. Jede Client-Verbindung enthält jetzt einen separaten Cache-Ordner, der die IP-Adresse, den Port und einen Hash-Code der Verbindung enthält. So können Sie auch mehrere Clients von einem Rechner aus mit mehreren Servern auf verschiedenen Rechnern verbinden. Keine Konfiguration erforderlich.

Verbesserte Benutzeroberfläche in Quick Report

Die Benutzeroberfläche von Quick Report wurde um eine Schaltfläche„Speichern / Speichern unter“ und einen Tooltip erweitert. Wenn Sie„Speichern“ wählen, wird Ihre Arbeit gespeichert, indem die zuletzt gespeicherte Version der Datei aktualisiert wird, damit sie mit der Version auf Ihrem Bildschirm übereinstimmt. Wenn Sie„Speichern unter“ wählen, werden Sie aufgefordert, Ihre Arbeit als Datei mit einem anderen Namen zu speichern. Ein zusätzlicher Tooltip zeigt Ihnen die Sortierrichtung an: aufsteigend oder absteigend.

4D Sprache

Lesen von 4D Objektfeldern mit der SQL Engine

Die SQL Engine in 4D v17 R5 wurde aktualisiert, um das Lesen von 4D Objektfeldern zu ermöglichen. Um den Inhalt eines Objektfeldes zu durchsuchen, wurde die SQL CAST Funktion erweitert, um eine JSON Darstellung des Feldes zurückzugeben.

Objektnotation für den Umgang mit Dateien und Ordnern

4D v17 R5 bietet Befehle zum Umgang mit Dateien und Ordnern über Objektnotation. Es wurde ein neuer Befehl Folder hinzugefügt, mit dem Sie ein Ordnerobjekt aus einer Konstante, einem POSIX-Pfad oder einem Plattformpfad erstellen können. Das Ordnerobjekt verfügt über Eigenschaften(z. B. name, modificationDate, modificationTime) und Methoden( z. B. create(), moveTo(), rename(), delete()), die die Erstellung und Bearbeitung von Ordnern ermöglichen. Wie bei Ordnern steht auch für Dateien der Befehl File zur Verfügung. Das neue File-Objekt ermöglicht den Zugriff auf und die Bearbeitung von Dateiattributen. Sie können Dateimethoden verwenden, um den Inhalt einer Datei zu schreiben und zu lesen, sie zu verschieben, zu löschen, usw.

Mehr Informationen über Webprozesse

Mit 4D v17 R5 stehen neue Informationen über die von Webprozessen verwendete URL zur Verfügung. Diese Informationen können auf zwei Arten abgerufen werden: über das 4D Server Administrationsfenster oder über die 4D Sprache mit dem Befehl Prozessaktivität ab rufen; ein neues Attribut „url“ wird dem Prozessobjekt hinzugefügt, wenn der Prozesstyp ein Webprozess ist.

Definieren eines alternativen Namens für 4D Benutzerkonto

Mit dem neuen Befehl SET USER ALIAS können Sie einen benutzerdefinierten Namen festlegen, der anstelle des aktuellen 4D Benutzerkontonamens verwendet wird. Er akzeptiert eine Zeichenkette als Parameter. Diese Zeichenkette (Alias) ersetzt den 4D Benutzernamen in der 4D Umgebung. Dieser Befehl kann nur von 4D Remote oder 4D Einzelplatzanwendungen aus aufgerufen werden, nicht von 4D Server aus. Ein Alias ermöglicht die Verwendung Ihres eigenen Benutzer-/Passwortsystems oder eines externen Benutzerverzeichnisses wie Active Directory oder LDAP, während Sie weiterhin von allen in 4D integrierten Konzepten zur Benutzeridentifikation profitieren.

Verbesserungen im Debug-Protokoll

Mit 4D v17 R5 wurde der Befehl SET DATABASE PARAMETER so erweitert, dass nur bestimmte Prozesse sowie Aufrufe von Member-Methoden (Sammel- oder Objektmethoden) protokolliert werden können. Es gibt einen neuen Selektor(Debug-Log-Aufzeichnung des aktuellen Prozesses), der die Debug-Protokollierung des aktuellen Prozesses startet und eine Datei mit dem Namen „4DDebugLog_pX_Y.txt“ im 4D Logs-Ordner erstellt (wobei X die Prozess-PID und Y die Nummer der Sequenzdatei ist). Verwenden Sie die Selektoren Debug log recording oder Current process debug log recording, die eine neue Option mit dem Wert 32 akzeptieren, um Member-Methoden zu protokollieren.

4D Write Pro

Links zu 4D Methoden

4D v17 R5 enthält den neuen Befehl WP SET LINK. Er ermöglicht das Setzen von URLs und gibt Ihnen außerdem die Möglichkeit, eine Methode aus Ihrer 4D Anwendung (mit Parametern) aufzurufen oder Lesezeichen aus Ihrem Dokument anzuvisieren. Der neue Befehl WP Get links gibt in einem einzigen Aufruf eine Sammlung aller Links in einem Dokument zurück. Jeder Link der Sammlung ist ein Objekt mit einer Beschreibung des Links in seinen Attributen.

Tab-Einstellungen

Ab 4D v17 R5 können Tabs mit einer Sammlung von Strings, numerischen Werten oder sogar einer Sammlung von Objekten gesetzt werden! Wenn Sie nur die Standardwerte für die Registerkarten ändern möchten, können Sie ein Objekt mit der neuen Konstante wk tab default verwenden (die speziell für diesen Zweck hinzugefügt wurde).

Die Eigenschaften der Ansicht durch Programmierung handhaben

Mit 4D v17 R5 können Sie die Eigenschaften der Ansicht durch Programmierung steuern. Der BefehlWPSET VIEW PROPERTIES ermöglicht die dynamische Einstellung einer oder mehrerer Ansichtseigenschaften des 4D Write Pro Bereichs. Die Einstellungen können in einem Objekt mit allen Ansichtseigenschaften über den Befehl WP Get view properties zurückgegeben werden.

Weitere Ziele und umbenannte Befehle

Die unten aufgeführten Befehle wurden in 4D v17R5 so erweitert, dass sie jede Art von Ziel als ersten Parameter akzeptieren. Sie können immer noch einen Bereich verwenden, aber jetzt auch einen Verweis (Kopfzeile, Textkörper, Fußzeile), ein Element (Bild, Absatz) oder das gesamte Dokument als Ziel verwenden:

  • WP SET TEXT
  • WP INSERT BREAK
  • WP EINFÜGEN DOKUMENT
  • WP BILD EINFÜGEN
  • WP Tabelle einfügen
  • WP ATTRIBUTE SETZEN
  • WP ATTRIBUTE ERHALTEN

Außerdem wurden mehrere Befehle umbenannt:

Bisheriger Name Neuer Name
WP Absatzbereich erstellen WP Absatzbereich
WP Bildbereich erstellen WP Bildbereich
WP Bereich erstellen WP Text-Bereich
WP Bereich Tabelle erstellen WP Tabellenbereich
WP Lesezeichenbereich abrufen WP Lesezeichenbereich
WP Auswahl abrufen WP Auswahlbereich

4D Ansicht Pro

Symbolleiste im Ribbon-Stil

4D v17 R5 bietet eine leistungsstarke Symbolleiste im Stil einer Multifunktionsleiste, um die Benutzeroberfläche von 4D View Pro zu verbessern. Sie ermöglicht es Ihnen, die Funktionen von 4D View Pro in einer Reihe von Registerkarten zu organisieren, um die Auffindbarkeit von Funktionen zu verbessern und einen schnellen Zugriff auf verschiedene Befehle zu ermöglichen. Es ist erwähnenswert, dass diese Symbolleiste auch neue Funktionen wie PDF- und CSV-Exportoptionen einführt.

Verwalten von Auswahlen und aktiven Zellen

Mit 4D v17 R5 erhalten Sie eine Reihe von Befehlen, mit denen Sie die aktive Zelle oder Auswahl(en) in Ihren Dokumenten festlegen und abrufen können:

  • VP Aktive Zelle abrufen
  • VP Auswahl abrufen
  • VP AKTIVE ZELLE SETZEN
  • VP AUSWAHL SETZEN
  • VP AUSWAHL HINZUFÜGEN
  • VP AUSWAHL ZURÜCKSETZEN

Und wenn Sie eine Zelle an einer bestimmten Position in Ihrem 4D View Pro Bereich anzeigen möchten(z. B. oben links oder unten rechts), können Sie den Befehl VP SHOW CELL verwenden.

Möchten Sie mehr wissen? Alle Blog-Beiträge über 4D v17 R5 lesen