Was ist neu in 4D v18 R4

Klassen in Orda

In ORDA können Sie über das Datenmodell umfassende Funktionen für Klassen erstellen und so business-orientierten Code schreiben, der komplexe Vorgänge ausblendet, die Fehlerquote verringert und den Entwicklungsprozess beschleunigt. Zusätzlich können Sie Ihr Projekt mit einem REST Server einfach als API veröffentlichen.

ORDA Klassen zum verwalten des datenmodells

Die ORDA Struktur (Datastore, Dataclass, Entity, Entity-Selection) besteht aus streng-typisierten Objekten, die an spezifische ORDA Klassen gebunden sind, d.h. Sie können Funktionen schreiben, die die Komplexität der physischen Implementierung Ihrer Daten in den Hintergrund setzen. 

ORDA Klassen sind mit Anwendungen im Projektmodus automatisch verfügbar. 4D erstellt automatisch:

  • DataStore: Zum Einfügen von Funktionen für den Datastore
  • Klasse DataClass: Zum Einfügen von Funktionen für die Dataclass
  • Klasse Entity: Zum Einfügen von Funktionen für eine Entity
  • Klasse EntitySelection: Zum Einfügen von Funktionen für eine Entity-Selection

ORDA klassen des DatenModells und REST

Sie können Funktionen für Klassen, die für das ORDA Datenmodell definiert wurden, über REST Anfragen aufrufen, um die Vorteile des veröffentlichten API des dazugehörigen 4D Anwendungsprojekts zu nutzen. Beachten Sie, dass Funktionen immer über REST POST Anfragen aufgerufen werden müssen.

features zum programmieren

Entwicklung von Server Code IM PROJECT MODUS 

In Anwendungen im Projektmodus wird das Entwickeln und Debuggen von Server Code einfacher. Sie sparen Zeit und müssen Ihre Server Anwendung nach Änderungen im Code (im Einzelplatz) nicht neu starten, wenn ein 4D Remote auf demselben Rechner wie 4D Server läuft. Dann kann Remote die Projektdateien direkt ändern.

Meldet sich ein 4D Developer Client an einen 4D Server auf demselben Rechner an, wird die Datei .4DZ nicht vom Server auf den Client übertragen. Das 4D Remote verwaltet die Projektdateien (Methoden, Formulare, Ressourcen, etc.) wie einen Client im 4D Einzelplatz. 4D Server und 4D Remote nutzen die Projektdateien gemeinsam. Auf diese Weise können Sie Ihren Code ändern und direkt testen.

Soll der Server die geänderten Dateien neu laden, wechseln Sie von der Entwicklungsumgebung in den Anwendungsmodus, setzen den 4D Server in den Vordergrund oder wählen in 4D Remote den Menüeintrag “Datei/Ablage -> Alle sichern” (oder verwenden Sie den neuen Befehl RELOAD PROJECT).

Zur Erinnerung: Wird eine geänderte Methode auf dem Client ausgeführt, führt dies automatisch die Aktion “Alle sichern” aus und lädt somit die geänderten Dateien auf dem Server erneut.

Auf Werte von Formularobjekten zugreifen

Es gibt zwei neue Befehle, um auf die Werte von Formularobjekten zuzugreifen, egal ob Variable oder Ausdruck: OBJECT Get value und OBJECT SET VALUE. Um den Wert der Datenquelle zu erhalten, übergeben Sie in OBJECT Get value den Namen Ihres Formularobjekts als Parameter. Um den Wert zu setzen, übergeben Sie in OBJECT SET VALUE den Namen und den neuen Wert als Parameter.

Neue Syntax für Variablen

Zum Deklarieren Ihrer Variablen ist eine neue Syntax verfügbar. Sie nutzt das Schlüsselwort var, den Variablennamen und -typ. Das verbessert entscheidend das automatische Vervollständigen (autocompletion) beim Deklarieren Ihrer Variablen. Sie können in einer Anwendung die klassische und die neue Syntax zusammen verwenden.

Unterstützung von Cross-origin resource sharing (CORS)

Sie können den CORS Dienst aktivieren, so dass eine Web Seite auch Anfragen an andere Domains als die eigene stellen kann. Aus Sicherheitsgründen sind “cross-domain” Anfragen auf Browser-Ebene standardmäßig verboten. Sie können für spezifische Domains zulassen, dass andere Web Sites HTTP Anfragen an Ihren Server stellen können, um bestimmte Daten zu erhalten oder zu senden. Dafür gibt es zwei Wege:

  • Über die Befehle WEB SET OPTION und WEB Server. Sie übernehmen Domain Parameter, um spezifische Aktionen, wie GET, POST, HEAD, PUT zuzulassen
  • Datenbank-Eigenschaften: Über die Option CORS Einstellungen auf der Seite Web > Optionen (II) .

Listbox

features für listboxen sind frei verfügbar

Sie benötigen keine 4D View Pro Lizenz mehr, um fortgeschrittene Features, z.B. für Listboxen zu nutzen. Sie sind frei verfügbar, d.h. Sie können jetzt auch folgendes ausführen:

  • Die Zeilenhöhe automatisch an den jeweiligen Inhalt anpassen, damit Text oder Bild komplett angezeigt werden.
  • Objekt Arrays in Spalten verwenden, um in den Zeilen einer Spalte der Listbox verschiedene Datentypen einzugeben und auch unterschiedliche Widgets anzuzeigen. 

Bewegliche Zeilen per Code einrichten

Für Listboxen vom Typ Array können Sie im Designmodus festlegen, ob Endbenutzer Zeilen bewegen dürfen, z.B. um Zeilen anders anzuordnen bzw. zu gruppieren. Die Befehle LISTBOX SET PROPERTY und LISTBOX Get property wurden ergänzt und unterstützen die neue Eigenschaft lk movable rows.

Administration

Benutzerrechte dynamisch zuweisen

Es ist bereits möglich, ein eigenes Zugriffssystem für Endbenutzer einzurichten und den Befehl SET USER ALIAS einzusetzen. Jetzt können Sie auch die Zugriffsrechte des 4D Benutzerkontos steuern. Mit dem neuen Befehl SET GROUP ACCESS lassen sich Zugehörigkeiten zu Gruppen ändern und anders zuweisen. 

E-mail

e-mails über IMAP empfangen

In 4D v18 haben wir einen neuen Weg zum Senden von E-Mails eingeführt, mit 4D v18 R2 dann einen weiteren Weg, um E-Mails über  POP3 zu empfangen. Mit 4D v18 R4 beginnen wir nun mit der Neuimplementierung des IMAP Protokolls. Analog zu SMTP und POP3 gibt es den neuen Befehl IMAP New transporter für IMAP. Wir haben Befehle zum Auswählen einer Mailbox und Laden einer E-Mail hinzugefügt. Weitere Befehle für IMAP Features folgen in den nächsten Feature Releases.

4D for iOS

Push notification

In 4D for iOS sind Push Notifications verfügbar. Sie machen Benutzer auf wichtige Informationen aufmerksam, damit sie sich mit der betreffenden App befassen. Sie definieren einfach Meldung mit Titel als Push Notification, und 4D for iOS erledigt den Sendevorgang für Sie.

Noch ein Pluspunkt: Werden Push Notifications für eine installierte App auf Ihrem iPhone aktiviert, erhalten Sie diese auch auf Ihrer Apple Watch!

Authentifizierung Der E-mail

In 4D for iOS können Sie leicht die Authentizität und Legitimität der Person feststellen, die sich in Ihre App einloggen will, indem Sie überprüfen, ob die E-Mail tatsächlich von dem stammt, der sich als vermeintlicher Absender ausgibt. Der Prozess setzt den Sitzungsstatus des Benutzers erst in Wartestellung und schaltet dann den Zugriff auf die Anwendung frei:

  • Gibt ein Benutzer seine E-Mail Adresse im Login-Formular ein und klickt auf die Schaltfläche Login, wird sein Sitzungsstatus auf “pending” gesetzt.
  • Dann wird ein E-Mail zur Bestätigung an den Benutzer gesendet, der auf den Link zum Bestätigen klicken muss, damit der Status von “pending” auf “accepted” gesetzt wird.
  • Ist die Bestätigung abgeschlossen, kann der Benutzer die App erneut öffnen, da seine Sitzung freigegeben ist und der Zugriff auf die App gewährt wurde.

Die Methode, die diesen Vorgang automatisch steuert, steht auch zu Ihrer Verfügung, so dass Sie die Authentifizierung an Ihre eigenen Bedürfnisse anpassen können.

templates für Detailformular einrichten

Sie können beliebig viele Felder in das Template für Detailformular setzen, denn es lässt sich scrollen. Zum Hinzufügen der Felder gibt es mehrere Möglichkeiten:

  • Sie wählen ein leeres Template, in das Sie alle gewünschten Felder ohne Einschränkung ziehen können
  • Sie setzen die Felder per Drag-and-Drop an eine beliebige Stelle oder zwischen bereits vorhandene Felder in die Ansicht, um sie gleich nach dem zuletzt hinzugefügten Feld anzuzeigen
  • Sie doppelklicken auf ein Feld. Es wird am Ende der Liste angefügt
  • Sie klicken in der Tabelle auf der linken Seite mit rechter Maustaste auf eins der verfügbaren Felder. Es erscheint ein Menü, so dass Sie die fehlenden Felder in Ihrem Detailformular ergänzen können.

Sicherheit

Neue klasse Cryptokey

Die neue Klasse CryptoKey enthält einen Satz Methoden zum Durchführen gängiger kryptografischer Operationen wie Signatur und Verifizierung, Verschlüsseln und Entschlüsseln. Damit können Sie vertrauliche Daten schützen, sowie die Integrität von Meldungen und die Authentizität des Senders verifizieren. Diese Klasse dient für folgende Zwecke:

  • Vertraulichkeit: Daten vor unerlaubtem Zugriff schützen
  • Integrität: Vollständige und korrekte Daten gewährleisten 
  • Authentizität: Die Authentizität des Absenders/Empfängers einer Meldung bestätigen

Schnellbericht

unterstützung virtueller strukturen

In Schnellberichten können Sie jetzt virtuelle Strukturen nutzen, d.h. alternative Tabellen und Feldnamen (Aliase) setzen, um sie für Endbenutzer lesbarer zu machen.

 

4D write Pro

Direkter export in PDF

4D Write Pro Dokumente lassen sich direkt in das PDF-Format exportieren. Sie müssen dafür keine Druckertreiber oder zusätzliche Software installieren. Das macht den Export schneller und zuverlässiger als über Druckertreiber und bietet mehr Kontrolle über das Druckergebnis: Hyperlinks werden unterstützt, Sie können die Bildgröße optimieren, u.v.m. Der Befehl WP EXPORT DOCUMENT wurde ergänzt und hat die neue Konstante wk pdf erhalten.

Zeilenschaltungen in formeln bewerten

Die neue Konstante wk break paragraphs in formulas definiert, wie ein Zeilenumbruch in Formeln im 4D Write Pro Dokument gewertet wird. Es gibt zwei Werte:

  • wk true: Interpretiert als Absatzumbruch
  • wk false: (Standardwert) Interpretiert als Zeilenumbruch

import und export über das 4D Write Pro widget

Das 4D Write Pro Widget hat ein neues Steuer-Panel erhalten, um Dokumente in verschiedenen Formaten zu importieren und exportieren. 

4D View Pro

Offscreen Area

Der neue Befehl VP Run offscreen area steuert 4D View Pro Befehle und Funktionen in einem offscreen Bereich. Um ihn zu verwenden, übergeben Sie im Parameter einfach die Angaben zum Bereich, wie z.B. Name des Bereichs und die aufgerufene Methode, wenn vom 4D View Pro Bereich ein Ereignis ausgelöst wird.

Zellenverbund setzen und aufheben

Es gibt neue Befehle, um einen Zellenverbund per Programmierung zu setzen bzw. aufzuheben:

  • Zum Setzen eines Zellenverbunds definieren Sie den Bereich der gewünschten Zellen und übergeben ihn in VP ADD SPAN. Er kombiniert dann diese Zellen zu einem Zellenverbund.
  • Über VP Get spans erhalten Sie alle gesetzten Zellenverbünde.
  • Mit VP REMOVE SPAN heben Sie die gesetzten Zellenverbünde in Ihrem Dokument wieder auf.

formeln: berechnung starten,  stoppen und fortführen

Es gibt drei neue Befehle, um die Berechnung von Formeln unmittelbar auszulösen, zu stoppen bzw. fortzuführen:

  • VP RECOMPUTE FORMULAS – um Formeln neu zu berechnen, z.B. wenn sich Daten geändert haben.
  • VP SUSPEND COMPUTING und VP RESUME COMPUTING – um Berechnungen zu stoppen und dann fortzuführen.
 
 

Sie wollen mehr wissen? Lesen Sie alle Blog Posts zu 4D v18 R4