Was ist neu in 4D v17 R5

 

Verschlüsselung

 

4D führt in v17 R5 neu die Verschlüsselung von Daten für Ihre 4D Anwendungen ein. Daten lassen sich per Code oder über die Benutzeroberfläche, für alle oder nur für ausgewählte Tabellen verschlüsseln. Die Verschlüsselung in 4D basiert auf einer Passphrase. Das kann ein kompletter Satz oder eine umfangreiche Anzahl von Zeichen sein. Daraus wird ein binärer Verschlüsselungscode generiert, um die Daten mit dem AES Algorithmus zu verschlüsseln. Zum Arbeiten mit einer verschlüsselten Datendatei ist die Passphrase oder der binäre Verschlüsselungscode erforderlich.

Wichtiger Hinweis: Wenn Sie den Verschlüsselungscode bzw. die Passphrase verlieren, gibt es keinen Workaround. Die Daten sind für immer gesperrt!

 

Über das MSC verschlüsseln

Im Designmodus gibt es für Tabellen im Inspektorfenster die neue Eigenschaft Verschlüsselbar. Ist sie markiert, lässt sich die Tabelle verschlüsseln. Das Verschlüsseln Ihrer Daten ist am einfachsten über die neue Seite Verschlüsseln des MSC (Maintenance und Security Center). Sie enthält alle notwendigen Funktionalitäten zum Verwalten der Datenverschlüsselung: Sie können die Datendatei verschlüsseln oder entschlüsseln, erneut verschlüsseln oder Ihre Passphrase ändern.

 

Über 4D Befehle verschlüsseln

Zusätzlich zum MSC gibt es einen Satz Befehle, der für die Anforderungen der Verschlüsselung eingerichtet wurde. Sie können z.B. die Verschlüsselung mit dem Befehl Encrypt data file() steuern oder über den Befehl provideDataKey() den Verschlüsselungscode für eine geöffnete Datendatei liefern. Mit encryptionStatus() können Sie prüfen, ob eine geöffnete Datendatei verschlüsselt ist und ob ein gültiger Verschlüsselungscode geliefert wurde. Die komplette Liste der Befehle finden Sie im Handbuch 4D Programmiersprache.

 
 

4D for iOS – Preview 

Actions

In 4D for iOS sind jetzt Actions verfügbar, die für mehr Interaktivität mit Ihrer mobilen App sorgen und die Änderung von Daten vom iPhone zulassen. Darüber können Ihre Benutzer z. B. eine Todo-Liste mit einem Fingerwischen oder über eine Menü-Aktion auf erledigt setzen oder Rechnungen als Bezahlt markieren. Über die neue Methode On Mobile App Action database können Sie all Ihre Aktionen deklarieren. Darüberhinaus wurde der Bereich Action im Project Editor hinzugefügt, so dass Sie Ihre Action-Elemente definieren können (Name, Icon, short/long Labels, Tables und Scope).

 

Incremental Data Synchronization

4D for iOS enthält inkrementelle Synchronisation der Daten, d.h. es werden nur die geänderten, nicht alle Daten, übertragen. 4D erkennt aktualisierte oder gelöschte Datensätze automatisch und aktualisiert nur diese Daten auf dem mobilen Gerät. Ihre Daten werden beim Starten Ihrer App aktualisiert, sowie jedes Mal, wenn Ihre App nach vorne geht oder als Antwort auf eine Benutzeraktion. 

 

N to one relations

4D for iOS unterstützt Viele-zu-Eine Verknüpfungen. Sie können beschreibende Namen für Verknüpfungen verwenden und so Ihre Projektstruktur vereinfachen. Sie können auch kurze und lange Namen eines verknüpften Feldes ändern, den Icon wählen sowie Suchen durchführen.

 
 

 E-Mails senden

 

Protokoll der Kommunikation über SMTP

4D v17 R5 bietet für E-Mail Logs den Befehl SMTP New transporter. Er erstellt eine Verbindung zwischen einem SMTP Server (wie exchange oder gmail) und dem Client, und protokolliert – in reinem, unverschlüsseltem Text – die gesamte Kommunikation. Die neue Eigenschaft transporter.logFile gibt den vollständigen Pfad des Logbuchs an. Die Datei lässt sich in zwei Versionen herstellen: Reguläre oder erweiterte Version. Beide Versionen lassen sich über den Befehl SET DATABASE PARAMETER auslösen.

 

Eigene Mail Header

4D v17 R5 bietet direkt über das Objekt Mail fünf vordefinierte Header:

  • messageId: Einzelner einmaliger Identifier, der sich auf eine bestimmte Version der Meldung bezieht.
  • inReplyTo: Identifier der Originalmeldung, zu der die aktuelle Meldung eine Antwort ist.
  • references: Sammlung von Identifiern anderer Meldungen, die mit der aktuellen Meldung zusammenhängen können.
  • keywords: Objekt mit wichtigen Wörtern und Sätzen, die für den Container wichtig sein können.
  • comments: Enthält alle zusätzlichen Kommentare über den Text im Hauptteil der Meldung.

Benötigen Sie andere Kopfteile, können Sie über die Collection headers beliebige SMTP Header in Ihrer E-Mail hinzufügen.

 

Unterstützung weiterer Zeichensätze

Mit 4D v17 R5 können Sie zum Senden von E-Mails zusätzlich zu Unicode weitere Codierungen verwenden: ISO-2022-JP für Japanisch oder ISO-8859-1 für Western European. Über die neuen Eigenschaften headerCharset und bodyCharset des Befehls SMTP New transporter können Sie die gewünschte Codierung für Kopf- oder Hauptteil festlegen.

 

 

ORDA 

 

Platzhalter als Name für value

In 4D v17 R5 lassen sich generische ORDA Suchen einfacher definieren, da es Platzhalter als Name für Werte gibt. Sie werden als Objekt Parameter in den Sucheinstellungen übergeben und beim Bewerten des Suchkriteriums durch einen anderen Wert ersetzt.

 

Platzhalter für attributePath

Sie können Platzhalter auch für Attributspfade (Feldnamen in Tabellen) verwenden. Es gibt zwei Arten:

Index – wird als :paramIndex (z.B. :1, :2,… mit Erhöhung von 1) im Suchstring eingefügt und die entsprechenden Werte werden als Sequenz der Parameter value geliefert.
Name – wird als :paramName (z.B. :myparam) eingefügt und ihre Werte werden in den Objekten Attribute bzw. Parameter in den Suchoptionen geliefert. 

 

 

Performance Optimierung im Client/Server Modus 

In 4D v17 R5 wurde der Zugriff auf umfangreiche Tabellen (besonders solche mit Verknüpfungen) im Client/Server Modus über ORDA stark verbessert. Bei Entity Selections in Listboxen oder Code Schleifen (z.B. While oder For each) werden die benutzten Felder automatisch analysiert, um den Netzwerkverkehr zu optimieren. Das ergibt 2-3 mal schnellere LAN Leistung und bis zu 30 mal schnellere in WAN (je nach Netzwerk und Größe der Datensätze). Und das Allerbeste ist – Sie müssen nichts in Ihrem Code verändern, alles läuft automatisch. 

 Bedeutsame Verbesserungen

 

Erhöhte Performance

In stark benutzten Servern (z.B. viele Benutzer oder Prozesse greifen gleichzeitig auf Datensätze zu, während andere Benutzer Datensätze derselben Tabelle ändern/erstellen), kann ein verbesserter interner Sperrmechanismus die Performance drastisch verbessern. Das führt durch höheren CPU Einsatz zu signifikant erhöhter Geschwindigkeit (4-8xs), da Threads beim Warten auf Micro-Locks weniger Zeit beanspruchen.

  Weitere Infos und Beispiele finden Sie in Blog Post >

Update verschiedener Librairies

Da 4D v17 R5 nur in 64-bit läuft, wurden mehrere Libraries aktualisiert: Hunspell v.1.7.0 (Rechtschreibprüfung), PHP v7.3.1, CEF 3626 (Chrome Foundation, interne Web Area), OpenSSL v1.1.1 (zur Unterstützung von TLS 1.3) und ICU 63.1 (neue Unicode Versionen. Bei diesem Update werden automatisch Felder vom Typ Text, Alpha und Objekt neu indiziert).

 Weitere Infos und Beispiele finden Sie in Blog Post >

Clients mit mehreren Instanzen

In 4D v17 R5 können mehrere Clients auf demselben Rechner laufen und sich gleichzeitig an den gleichen 4D Server anmelden. Jede Client Verbindung enthält einen eigenen Cache Ordner mit der IP Adresse, dem Port und einem Hash Code der Verbindung. Auf diese Weise können Sie auch mehrere Clients vom gleichen Rechner an mehrere Server auf anderen Rechnern anmelden. Dafür ist keine Konfiguration erforderlich.

 
Verbesserte UI im Schnellbericht

Die Benutzeroberfläche für Schnellberichte enthält jetzt die Schaltfläche “Sichern / Sichern als” und einen Tooltip. Mit “Sichern” speichern Sie Ihre Arbeit. Die letzte gesicherte Version der Datei wird gesichert, damit sie mit der Version auf dem Bildschirm übereinstimmt. Mit “Sichern als” können Sie Ihre Arbeit als neues Dokument unter einem anderen Namen sichern. Über den neuen Tooltip können Sie die Sortierrichtung auswählen: Aufsteigend oder Absteigend.

4D Programmiersprache

 

4D Objektfelder mit SQL Engine lesen

Die SQL Engine wurde aktualisiert, so dass jetzt auch 4D Objektfelder lesbar sind. Die SQL Funktion CAST wurde erweitert, um eine JSON Darstellung des Feldes zurückzugeben. Auf diese Weise lässt sich der Inhalt eines Objektfeldes im JSON Format darstellen und durchlaufen.

 

Objektnotation zum Verwalten von Dateien und Ordnern

4D v17 R5 bietet Befehle, um Dateien und Ordner via Objektnotation zu verwalten. Mit dem neuen Befehl Folder können Sie ein Objekt Ordner über eine Konstante, einen POSIX Pfad oder einen Plattform Pfad anlegen. Das Objekt Ordner hat Eigenschaften (z.B. name, modificationDate, modificationTime) und Methoden (z.B. create(), moveTo(), rename(), delete()) zum Erstellen und Verwalten von Ordnern. Mit dem neuen Befehl File können Sie Dateien verwalten und auf Dateiattribute zugreifen. Über Dateimethoden können Sie den Inhalt einer Datei schreiben und lesen, verschieben, löschen, etc.

 

Mehr Information über Web Prozesse

Mit 4D v17 R5 ist neue Information über die von Web Prozessen genutzte URL verfügbar. Das ist auf zwei Wegen möglich: Über das 4D Server Verwaltungsfenster oder über den Befehl Get process activity der 4D Programmiersprache; für den Typ Web Prozess gibt es das neue Attribut “url” mit Angaben zu Pfad und Parametern.

 

Alternativen Namen für 4D Benutzer-Account definieren

Mit dem neuen Befehl SET USER ALIAS können Sie einen eigenen Namen anstelle des aktuellen 4D Benutzer-Accounts definieren. Im Parameter alias übergeben Sie einen String, der den 4D Benutzernamen in der 4D Umgebung ersetzt. Der Befehl lässt sich nur in 4D remote oder 4D Einzelplatz Anwendungen aufrufen, nicht auf 4D Server. Über das Alias können Sie Ihr eigenes Benutzer/Kennwortsystem oder ein externes Benutzerverzeichnis, wie Active Directory oder LDAP verwenden. Dabei bleiben alle Vorteile der Konzepte zur Benutzeridentifikation in 4D erhalten.

 

Verbesserungen für Debug Log

Der Befehl SET DATABASE PARAMETER wurde erweitert, so dass jetzt auch Debug-Logs bestimmter Prozesse bzw. Member Methoden (Collection oder Objektmethoden) möglich sind. Der neue Selector Current process debug log recording startet das Debug Log des aktuellen Prozesses und erstellt im 4D Ordner Logs eine Datei mit Namen “4DDebugLog_pX_Y.txt” (X ist die Prozess ID, Y die Sequenznummer der Datei). Zum Protokollieren von Member Methoden verwenden Sie den Selector Debug log recording oder Current process debug log recording mit der neuen Option 32.

 

 

4D Write Pro

Links zu 4D Methoden

4D v17 R5 enthält den neuen Befehl WP SET LINK. Damit können Sie URLs setzen, aber auch eine Aktion auslösen, wenn der Benutzer auf den Link klickt. Das kann eine Methode (mit Parametern) in Ihrer 4D Applikation aufrufen oder zu einem Lesezeichen in Ihrem Dokument gehen. Der neue Befehl WP Get links gibt in einem einzigen Aufruf eine Collection mit allen Links in einem Dokument zurück. Jedes Link Objekt kann eine oder mehrere Eigenschaften enthalten.


Tabulator-Einstellungen

Ab 4D v17 R5 können Sie Tabulatoren mit einer Collection von Strings, numerischen Werten oder sogar einer Collection von Objekten setzen! Müssen Sie nur die Werte standardmäßiger Tabulatoren verändern, können Sie ein Objekt mit der neuen Konstante wk tab default verwenden.

 

Anzeigeeigenschaften per Programmierung setzen

Mit 4D v17 R5 können Sie die Anzeigeeigenschaften per Programmierung setzen. Der Befehl WP SET VIEW PROPERTIES kann eine oder mehrere Anzeigeeigenschaften des 4D Write Pro Bereichs dynamisch setzen. WP Get view properties gibt die Anzeigeeigenschaften in einem Objekt zusammen mit dem jeweils aktuellen Wert zurück. 

 

Mehr Ziele und umbenannte Befehle

Die nachfolgend aufgelisteten Befehle wurden erweitert und akzeptieren jetzt als ersten Parameter jede Art von Ziel. Sie können als Ziel weiterhin ein Range verwenden, jedoch auch eine Referenz (Haupt-, Kopf- und Fußteil), ein Element (Bild, Absatz) oder das gesamte Dokument:

  • WP SET TEXT
  • WP INSERT BREAK
  • WP INSERT DOCUMENT
  • WP INSERT PICTURE
  • WP Insert table
  • WP SET ATTRIBUTES
  • WP GET ATTRIBUTES

 

Für mehr Klarheit wurden folgende Befehle umbenannt:

Bisheriger Name Neuer Name
WP Create Paragraph range WP Paragraph range
WP Create Picture range WP Picture range
WP Create range WP Text range
WP Create Table range WP Table range
WP Get bookmark range WP Bookmark range
WP Get selection WP Selection range

 

 

4D View Pro

Ribbon Oberfläche

Die leistungsstarke Ribbon Oberfläche ist eine entscheidende Verbesserung in der Benutzeroberfläche von 4D View Pro. Hier können Sie Features von 4D View Pro als übersichtliche Flächen organisieren, so dass sie leicht gefunden werden und rascher Zugriff auf verschiedene Befehle möglich ist. Besonders erwähnenswert ist, dass die Toolbar auch neue Funktionen wie PDF und CSV Exportoptionen einführt.

 

Auswahlen und aktive Zelle verwalten

4D v17 R5 enthält einen Satz neuer Befehle, über die Sie die aktive Zelle bzw. Auswahlen in Ihren Dokumenten setzen und erhalten können:

  • VP Get active cell
  • VP Get selection
  • VP SET ACTIVE CELL
  • VP SET SELECTION
  • VP ADD SELECTION
  • VP RESET SELECTION

Mit dem Befehl VP SHOW  CELL können Sie eine Zelle an einer bestimmten Position in Ihrem 4D View Pro Bereich sehen (z.B. oben links oder unten rechts)

 

Sie wollen mehr wissen? Lesen Sie alle Blog Posts zu 4D v17 R5