Kompatibilitätseinstellungen – der ganze Rest (Teil 4)

Automatisch übersetzt von Deepl

Wir haben eine Reihe von Blog-Beiträgen über Kompatibilitätseinstellungen und die geheimen Optionen begonnen, die die Leistung und das Verhalten Ihrer Anwendungen drastisch verbessern können(QUERY BY FORMULA, Transaktionen und Punkt und Komma). Dieser letzte Beitrag der Serie gibt einen Überblick über die übrigen Einstellungen.

Hier ist ein Beispiel für eine Struktur, die vor vielen Jahren erstellt wurde. Die Kompatibilitätsoptionen sind deaktiviert, d. h. sie läuft vollständig im Modus v17.

Beachten Sie, dass die Kompatibilitätseinstellungen es Ihnen ermöglichen, ein älteres Verhalten zu emulieren, aber sie sind nicht als dauerhaft zu betrachten. Sie gewähren Ihnen eine längere Migrationszeit, aber warten Sie nicht zu lange … mit der Zeit verschwinden die Migrationsoptionen. Da neu erstellte Strukturen die Verwendung dieser alten Einstellungen nicht zulassen, werden sie immer weniger getestet, was das Risiko unerwarteter Verhaltensweisen erhöht.

Unicode-Modus

OS X, Windows NT und 4D v11 (und neuer) sind nur für Unicode ausgelegt und laufen auch nur mit diesem. Die Datenbank-Engine von 4D arbeitet nur mit Unicode. Die Sprache unterstützt einen Kompatibilitätsmodus, in dem jede ausgeführte Zeile Text in/aus Unicode konvertiert, um die MacRoman-Kodierung zu emulieren. Und ja, das verringert die Leistung. In den letzten 10 Jahren gab es viele technische Hinweise, 4D Summit-Sitzungen und Schulungen über die Umstellung auf Unicode. Falls noch nicht geschehen, ist es jetzt an der Zeit, damit zu beginnen.

Wenn Unicode aktiviert ist, sollten Sie auch die Kompatibilitätseinstellung „Methoden als Unicode speichern“ aktivieren. Sobald diese Einstellung aktiviert ist, wird jede neu geparste Methode in Unicode gespeichert, so dass erweiterte Zeichensätze als Literale in Ihrem Code verwendet werden können. Es gibt kein Kompatibilitätsproblem mit dem Speichern von Methoden in Unicode, es sei denn, Sie verwenden alte Plugins zum direkten Lesen/Schreiben von Methoden (die schon seit langem veraltet sind).

Zu guter Letzt (aber DEFINITELY not least), ist die Objektnotation nur mit Unicode möglich.

Datumstyp anstelle des ISO-Datumsformats in Objekten verwenden

Diese Option ist neu in v17, lesen Sie den Blogbeitrag Datumsangaben in Objekten, um mehr zu erfahren.

Neue Architektur für Anwendungsimplementierungen verwenden

Diese Option erleichtert die Erstellung von schreibgeschützten Anwendungen. Da der Pfad zum zuletzt verwendeten Server oder zur Datendatei nicht mehr innerhalb der Anwendung gespeichert wird, erleichtert sie auch die Bereitstellung von Updates. Weitere Informationen finden Sie in diesem Blog-Beitrag.

Drop von Daten, die nicht von 4D stammen, verhindern

Wenn diese Einstellung aktiviert ist, laufen Ihre Anwendungen noch im 4D v2004 Modus, in dem das Ziehen und Ablegen von Daten aus anderen Anwendungen in 4D (außer Text und Bilder) nicht möglich war.

Falls noch nicht geschehen, ist es nun an der Zeit, Drag and Drop zu unterstützen. Weitere Informationen finden Sie in der Dokumentation in den Kapiteln Drag and Drop und Verwaltung der Zwischenablage.

Den neuen Modus für die Kontextreferenzierung nicht verwenden

Diese Einstellung ist so alt, dass ich ehrlich gesagt nicht einmal mehr weiß, ob damit 4D 6.0 oder 6.5 emuliert wird.

Wenn Sie den 4D Web Server nicht verwenden, deaktivieren Sie ihn einfach. Wenn Sie ihn benutzen, er aktiviert ist und Sie Ihren Code seit 15 Jahren nicht mehr angefasst haben, ist es Zeit für ein Update …

Entfernen Sie „/“ bei unbekannten URLs

Hiermit wird der Web Server in den 4D v2003 Modus versetzt. Wenn diese Einstellung aktiviert ist, ist es an der Zeit, Ihren Code neu zu schreiben.

Automatische Variablenzuweisung

Falls aktiviert: DRINGEND – JETZT LESEN!

Dies ist ein potentielles Sicherheitsproblem, möglicherweise ein großes (abhängig von Ihrem Code).

Vor 20 Jahren war dies eine Komfortfunktion, die schnell durch einen sichereren Ansatz ersetzt wurde (und mehr Kodierung erforderte).

Wenn diese Funktion aktiviert ist, werden HTML-Variablen, die in einem HTML-Formular verwendet werden, automatisch auf 4D-Variablen abgebildet, solange sie in Compiler_Web definiert sind. Auch wenn nur eine kleine Teilmenge der Variablen dort definiert wird, besteht die Gefahr, dass diese Variablen von einem Hacker überschrieben werden könnten.

Eine bessere Möglichkeit, Variablen zuzuweisen (eingeführt mit 4D 6.5), ist die Verwendung von WEB GET VARIABLES.

4D empfiehlt Ihnen dringend, Ihren Code neu zu schreiben (falls nötig) und diese Einstellung zu deaktivieren.

… zum Schluss

Dieser letzte Beitrag schließt die Serie über Kompatibilitätseinstellungen ab. Wir hoffen, er hat Ihnen gefallen. Freuen Sie sich über Ihr neues Kompatibilitätswissen und viel Spaß beim Konfigurieren Ihrer Anwendungen, damit diese sicher und optimal laufen!

Thomas Maul
• VP of Strategy, 4D Product Line • Als die deutsche Niederlassung von 4D 1988 gegründet wurde, trat Thomas dem Unternehmen als Technischer Direktor bei und half beim Aufbau der 4D Entwicklergemeinschaft in Deutschland und Österreich. Nach vielen Jahren, in denen er Kunden bei technischen Problemen unterstützte und zunehmend in Vertriebs- und Managementfragen involviert war, wurde er 1999 zum Geschäftsführer von 4D Deutschland befördert. Seit 2005 war er als Mitglied der Geschäftsleitung an der weltweiten Strategie des Unternehmens beteiligt, was zu seiner jetzigen Position als Vice President of Strategy, 4D Product Line, führte, wo er für die Definition und Umsetzung der Gesamtstrategie für die 4D Produktlinie in Verknüpfung mit den Teams für Programm, F&E, Vertrieb und Marketing verantwortlich ist.