WAS IST NEU IN 4D 20 R7

Qodly Studio für 4D

Direkter 4D Server-Zugang zum Testen und Debuggen von Qodly Studio

Qodly Studio für 4D erweitert Ihre Applikationen um Webseiten, die jetzt vollständig in die 4D Developer Edition integriert sind.

Mit der Veröffentlichung von 4D 20 R7 können Sie direkt von Ihrem 4D Server aus auf Qodly Studio für 4D zugreifen, was das Debuggen und Testen Ihrer Web Applikation erleichtert.

Um zu starten, öffnen Sie Qodly Studio für 4D über das Menü „Fenster“, wenn sich Ihr Projekt im Interpretationsmodus befindet. Die neue Option „Vorschau der Qodly-App“ ermöglicht die Visualisierung von Änderungen in Echtzeit.

Sie können den Debugger auch mit Qodly Studio for 4D verbinden, aber denken Sie daran, dass nur ein Debugger gleichzeitig aktiv sein kann.

4D-Klassen

OutgoingMessage Klasse

4D 20 R7 führt die Klasse OutgoingMessage ein, die es Entwicklern erleichtert, benutzerdefinierte Inhalte wie Dateien oder Binärdaten in Web-Applikationen zu übermitteln. Mit dieser Klasse können Sie HTTP-Kopfteile, Hauptteile und Statuscodes festlegen und haben so die vollständige Kontrolle über die Antworten. Mit dem neuen onHTTPGet-Schlüsselwort können Sie jetzt Funktionen über eine GET-Anfrage des Browsers aufrufen, so dass User ganz einfach direkt über ihren Browser auf Inhalte wie PDFs oder Bilder zugreifen können.

Compiler

Variablen-Deklarationen mit direkter Typisierung vereinfachen

The new direct typing feature in 4D 20 R7 simplifies variable declarations by eliminating the need for “Compiler” methods.

Die neue Funktion zur direkten Typisierung in 4D 20 R7 vereinfacht die Variablendeklarationen, da die Notwendigkeit von “Compiler”-Methoden entfällt.

Mit dieser Änderung können Entwickler Prozess- und Interprozessvariablen direkt in ihrem Code deklarieren, was die Organisation und Kapselung verbessert. Anstatt sich auf die Typisierung zu verlassen, die die Kompilierung verlangsamen und zu Fehlern führen kann, hält der Compiler an, wenn er auf eine nicht typisierte Variable stößt, und gewährleistet so Typsicherheit, ohne die Effizienz zu beeinträchtigen. Die direkte Typisierung ist bei neuen Projekten standardmäßig aktiviert, und bei bestehenden Projekten kann die Funktion in den Compiler-Einstellungen einfach umgeschaltet werden, um einen reibungslosen Übergang zu gewährleisten. Dies bedeutet eine erhebliche Verbesserung der Flexibilität und Kontrolle für 4D Entwickler.

4D Write Pro

Verbessern Sie die Dokumentenverwaltung mit neuen Abschnittsfunktionen

In 4D 20 R7 wurde die Verwaltung von Abschnitten und Unterabschnitten in 4D Write Pro erheblich verbessert.

Der neue Befehl WP DELETE SECTION ermöglicht das vollständige Löschen des Inhalts und der Eigenschaften eines Abschnitts, ohne dass es zu Indexverschiebungen oder unbeabsichtigten Zusammenführungen kommt, so dass mindestens ein Abschnitt im Dokument verbleibt.

Außerdem fordert eine Standardaktion zum Löschen den User zur Bestätigung auf und erlaubt das Löschen eines Abschnitts auf einmal.

Der Befehl WP DELETE SUBSECTION entfernt alle zugehörigen Attribute, einschließlich Kopfteile und verankerte Bilder oder Textfelder. Der aktualisierte Befehl WP RESET ATTRIBUTES ermöglicht das gleichzeitige Löschen aller Attribute für Abschnitte oder Unterabschnitte und setzt sie auf geerbte Eigenschaften zurück.

Schließlich bieten neue Elemente in der Symbolleiste und der Seitenleiste kontextabhängige Aktionen zum Löschen von Abschnitten oder Zurücksetzen von Attributen und verbessern so die allgemeine Dokumentenverwaltung und die Kontrolle des Users.

Temporäre Sichtbarkeit für versteckte Tabellenränder

In 4D 20 R7 wurde die Arbeit mit 4D Write Pro Tabellen durch die neue Eigenschaft visibleTableBorders erleichtert, die versteckte interne und externe Tabellenrahmen als gepunktete Linien anzeigt.

Diese Funktion verbessert Ihre Fähigkeit, Layouts und Dateneingaben zu verwalten, insbesondere bei zusammengeführten Zellen, ohne das endgültige Dokument zu beeinflussen.

Sie können auf diese Eigenschaft in der Symbolleiste und in der Seitenleiste zugreifen und sie bequem nutzen.

Listbox

Einführung von „blank if null“ für Zeitspalten und Fußteile

Mit 4D 20 R7 ist die Eigenschaft ” Blank if null” jetzt auch für Spalten vom Typ “Zeit” und Fußteile in Listenfeldern verfügbar, wodurch eine seit langem bestehende Einschränkung behoben wird.

Sie können das Anzeigeverhalten ganz einfach über das Anzeigethema oder durch Programmierung festlegen. Diese Verbesserung sorgt für klarere und intuitivere Ergebnisse, egal ob Sie ein einfaches Checkbox oder eine Zeile Code verwenden.

Singletons

Session Singletons

4D 20 R7 führt Session Singletons ein, die es Entwicklern ermöglichen, benutzerspezifische Daten innerhalb von Sessions zu verwalten und sie gleichzeitig zwischen den Usern zu isolieren. Session Singletons sind ideal für Web- und Client-Server-Umgebungen und sorgen für eine reibungslose Bearbeitung von User-Anfragen über mehrere Prozesse hinweg. Sie vereinfachen Anwendungsfälle wie personalisierte Warenkörbe und andere sitzungsbasierte Datenverwaltungsaufgaben.

Komponenten-Manager

Hinzufügen und Entfernen lokaler Komponenten

In 4D 20 R7 wird die Verwaltung lokaler Komponenten durch eine verbesserte Oberfläche für Projektabhängigkeiten erleichtert. Über diese Schnittstelle können User mit nur wenigen Klicks Komponenten hinzufügen und entfernen.

Die Datei ‘dependencies.json’ zentralisiert die Projektabhängigkeiten für eine bessere Konsistenz, während environment4d.json’ benutzerdefinierte Komponentenpfade ermöglicht. Das Hinzufügen von Komponenten ist ganz einfach und das Entfernen beinhaltet Bestätigungsaufforderungen, um Fehler zu vermeiden.

Ein Neustart ist erforderlich, um Änderungen zu übernehmen, wobei Benachrichtigungen Sie dabei unterstützen. Diese Verbesserung vereinfacht Ihre 4D Entwicklungserfahrung und ermöglicht einen schnelleren Zugriff auf bereits vorhandenen Code und Komponenten. Die zukünftige GitHub Integration wird die Verwaltung weiter verbessern.

Administration

Optimierung der Prozess- und Session-Verwaltung

Die Verwaltung von Prozessen und Sessions ist entscheidend für die Optimierung Ihrer 4D Applikationen. Mit 4D 20 R7 führen wir Verbesserungen ein, die diese Funktionen vereinfachen und die Performance Ihres Codes steigern.

Die neuen Funktionen umfassen:

  • einen Befehl Process info, der ein Objekt zurückgibt, mit dem Sie die Prozesseigenschaften leichter bearbeiten können,
  • einen Befehl Session info, der den direkten Zugriff auf Session-Informationen über die Session ID ermöglicht,
  • einen aktualisierten Befehl Process number zum Abrufen von Prozessnummern aus IDs,
  • und die Hinzufügung der Eigenschaft creationDateTime, um zu verfolgen, wann ein Prozess erstellt wurde.
  • Darüber hinaus wurde der Befehl Process activity verbessert, um die Ergebnisse effizienter nach Sitzungen zu filtern, so dass Sie ganz einfach Prozesse abrufen können, die mit einer bestimmten Session verknüpft sind.

IMAP API

Gleichzeitige Anzahl ungelesener E-Mails für mehrere Postfächer

Mit 4D 20 R7 ruft die Funktion IMAPTransporter.getBoxList() jetzt die Anzahl der ungelesenen E-Mails und die Eigenschaften der Postfächer gleichzeitig ab, was die Antwortzeiten verbessert.

Mit dem Parameter “withBoxInfo” können Sie die Anzahlen für mehrere Postfächer in einem Aufruf abrufen. Für bestimmte Postfächer übergeben Sie einfach deren Namen in einer Collection. Diese Verbesserungen halten User über ungelesene E-Mails auf dem Laufenden und werden auch auf die Gmail API von 4D Netkit angewendet.

Sicherheit

Verbesserte Überprüfung der Zertifizierungsstelle für die Client-Server-Kommunikation

In 4D 20 R7 erhöht die Validierung von Zertifizierungsstellen die Sicherheit der Client-Server-Kommunikation, da Clients die Serverzertifikate anhand vertrauenswürdiger Zertifizierungsstellen (CAs) überprüfen können.

Diese Funktion hilft, Man-in-the-Middle-Angriffe (MITM) zu verhindern, da sie sicherstellt, dass die Identität des Servers authentifiziert ist.

Um diese Funktion zu implementieren, müssen Entwickler zwei Werte in die Datei buildSettings.xml aufnehmen: den Speicherort einer Datei mit gültigen CA-Signaturen und den Domain-Namen des Servers.

So kann der Client bestätigen, dass das Zertifikat des Servers von einer gültigen CA ausgestellt wurde und mit der erwarteten Domain übereinstimmt. Aus Gründen der Flexibilität kann auch eine Liste mit gültigen Domain-Namen angegeben werden.

User Interface

Benutzerdefinierte Symbole für jeden Fenstertyp

Mit dem Befehl SET WINDOW DOCUMENT ICON können Sie für jeden Fenstertyp ein benutzerdefiniertes Symbol festlegen und so die Navigation und das Erlebnis für den User verbessern. Mit der Befehlssyntax können Sie ein Symbol oder ein Dokument für ein Fenster festlegen und so Ihre Benutzeroberfläche optisch ansprechender gestalten. Das Symbol ist im Fenster und in der Windows-Taskleiste sichtbar und bietet klare visuelle Anhaltspunkte. Diese Funktion unterstützt auch die Verknüpfung von Symbolen mit Dokumenten und bietet so zusätzliche Anpassungsmöglichkeiten.

4D View Pro

Neue User-friendly Funktionen zur Datenmanipulation

Das neueste Update von SpreadJS verbessert die 4D View Pro Entwicklungserfahrung mit User-friendly Funktionen, die die Datenmanipulation und -visualisierung erleichtern.

Die wichtigsten Aktualisierungen umfassen:

  • Das Verschieben oder Einfügen von Zeilen und Spalten durch Ziehen von Kopfteilen vereinfacht die Datenorganisation.
  • Neue Diagrammoptionen, wie z.B. Wasserfall-Diagramm und glatte Linienformatierung, verbessern die Datendarstellung. User können jetzt Diagramme aus mehreren nicht zusammenhängenden Auswahlen erstellen, und die Lollipop Variance Sparkline zeigt Datenabweichungen effektiv und mit minimalem Platzbedarf an.
  • Verbesserte spezielle Einfügeoptionen ermöglichen das selektive Einfügen von Daten, während anpassbare Arbeitsblatt-Tabs die visuelle Organisation verbessern.
  • Darüber hinaus unterstützen Events jetzt Pixel-Scrolling für eine bessere Reaktionsfähigkeit, und der Excel-Import behält die Sortierbedingungen bei, so dass die Datenintegrität gewährleistet ist.

Möchten Sie mehr erfahren? Lesen Sie alle Blogbeiträge über 4D 20 R7