WebSQL-Entfernung und Auswirkungen auf Ihr Mendix PWAs
Chromium-basierte Webbrowser (Chrome, Edge, Android) werden die Unterstützung für WebSQL in Updates, die nach dem 31. Oktober 2023 veröffentlicht werden, einstellen. Dies führt dazu, dass Offline-First Mendix Progressive Web Applications (PWAs) funktionieren auf diesen Browsern nicht mehr. In diesem Blog erklären wir, wie man diese Situation kurzfristig entschärfen kann, indem man den Support für WebSQL bis Mai 2024 verlängert und langfristig auf eine andere Speichertechnologie umsteigt.
Update 2 (März 2024): Die Entfernung von WebSQL in Chromium-basierten Browsern wird in den folgenden Versionen von behoben Mendix:
- Mendix 9.24.18
- Mendix 10.6.6
- Mendix 10.9.0
Offline-First Progressive Web Apps, die mit diesen oder neueren Versionen von Mendix Verwenden Sie WebSQL nicht mehr, um Offlinedaten zu speichern. Die Offlinedatenbank wird automatisch migriert, wenn ein Benutzer die aktualisierte App zum ersten Mal öffnet. Um Datenverlust zu vermeiden, stellen Sie bitte sicher, dass die Migration erfolgt, bevor WebSQL endgültig entfernt wird, wenn Chromium 124 von den Browsern Ihrer Benutzer übernommen wird.
Update (März 2024): Das Chromium-Team hat angekündigt, dass die Unterstützung für WebSQL mit der Origin-Testversion mit Version 124 eingestellt wird, die voraussichtlich am 16. April veröffentlicht wird. Das ist mehr als einen Monat früher als ursprünglich angekündigt. Positiv ist, dass wir den Fix für Mendix von WebSQL abzurücken und planen, es noch in diesem Monat zu veröffentlichen. Um Ihre Mendix Offline-First-PWA, aktualisieren Sie es auf die neueste Version von Mendix 9.24 oder 10.6. Sobald wir die Veröffentlichung des Fixes bekannt geben, aktualisieren Sie die Anwendung auf diese Version und veröffentlichen Sie sie. Auf diese Weise wird das endgültige Update höchstwahrscheinlich nahtlos sein, d. h. es sind keine manuellen Anpassungen erforderlich. Dasselbe gilt für Ihre Benutzer: Der Fix wird automatisch angewendet und alle Offlinedaten werden migriert. Stellen Sie einfach sicher, dass Ihre Benutzer auf die App zugreifen, bevor sie ihre Browser aktualisieren.
Chromium ist ein Open-Source-Webbrowser, der in mehreren gängigen Webbrowsern verwendet wird, darunter Google Chrome, Microsoft Edge und der Standard-Webbrowser des Android-Betriebssystems. In diesem Blog-Posthat das Team, das Chromium betreut, angekündigt, dass die Unterstützung für WebSQL in Chromium 119, das am 31. Oktober veröffentlicht wird, eingestellt wird. Diese Änderung wird von zukünftigen Versionen der oben genannten Browser übernommen, sobald sie auf diese Version von Chromium aktualisiert werden. Während Chrome und Edge häufig aktualisiert werden, wird der Android-Webbrowser normalerweise nur beim Update des Betriebssystems aktualisiert. Das bedeutet, dass die Änderung nur angewendet wird, wenn das Gerät auf eine Android-Version aktualisiert wird, die nach dem 31. Oktober veröffentlicht wurde.
Mendix unterstützt das Erstellen webbasierter, offline-first-Apps mithilfe eines der Offline-PWA-Navigationsprofile. Diese Apps verwenden WebSQL im Hintergrund, um alle Objekte zu speichern, die mit dem Gerät synchronisiert und für die Offline-Verwendung verfügbar sind. Folglich funktionieren diese Apps nicht mehr, sobald die Webbrowser ihrer Benutzer auf Chromium 119 aktualisiert wurden. Hybride Offline-First-Apps und native Apps, die mit Mendix sind nicht betroffen.
Erweitern der Unterstützung für WebSQL
Als erste Maßnahme empfehlen wir, die Unterstützung für WebSQL zu erweitern, wenn Ihre App von Chrome oder Edge aus verwendet wird. Dies ist nicht erforderlich, wenn auf Ihre App nur über Android-Webbrowser zugegriffen wird. Um diese Maßnahme umzusetzen, sind zwei Schritte erforderlich:
- Registrieren Sie sich für die Origin-Testversion „WebSQL“ und erhalten Sie einen Test-Token.
- Fügen Sie einen benutzerdefinierten Header zum Webserver hinzu, der die Mendix Anwendung.
Wir erläutern diese Schritte im Folgenden im Detail.
Registrierung der Ursprungsstudie
Origin Trials werden von Google und Microsoft verwaltet. Sie ermöglichen Entwicklern, neue Funktionen zu aktivieren oder erweiterten Support für entfernte Funktionen in Chromium-basierten Browsern anzufordern. Befolgen Sie diese Anweisungen, um sich bei Google für die Origin Trial zu registrieren:
- Um sich für ein Token zu registrieren, benötigen Sie ein Google-Konto. Wenn Sie noch keins haben, erstellen Sie ein Konto werden auf dieser Seite erläutert.
- Besuchen Sie das Registrierungswebsite für Origin-Testversionen von Chrome und melden Sie sich mit Ihrem Google-Konto an.
- Suchen Sie nach der Testversion für WebSQL und klicken Sie auf „Registrieren“.
- Geben Sie unter „Web Origin“ die URL der Umgebung ein, in der Ihre Offline-PWA ausgeführt wird.
- Wählen Sie nicht „Abgleich durch Drittanbieter“ oder „Ich brauche ein Token, um alle Subdomänen abzugleichen“ aus.
- Wählen Sie die erwartete Nutzung Ihrer App pro Tag aus.
- Aktivieren Sie die vier Kontrollkästchen unten.
- Klicken Sie auf Registrieren.
- Stellen Sie die App erneut bereit und starten Sie die Umgebung, damit die Änderungen wirksam werden
Es ist auch möglich, Registrieren Sie sich für einen Origin-Test bei Microsoft. Es ist nicht notwendig, beides zu tun (beide Token funktionieren sowohl im Chrome- als auch im Edge-Webbrowser).
WebServer-Konfiguration
Um die Origin-Testversion zu aktivieren und die Unterstützung für WebSQL zu erweitern, müssen Sie das oben erhaltene Token als benutzerdefinierten Header zum Webserver hinzufügen, der den statischen Inhalt eines Mendix Anwendung.
Origin-Trial: YOUR_TOKEN
Hier finden Sie Anweisungen für die Mendix Cloud, NGINX und Microsoft IIS.
Mendix Cloud
- Besuchen Sie das Mendix Portal und öffnen Sie Ihre App.
- Wählen Sie „Umgebungen“ aus der Navigation auf der linken Seite.
- Klicken Sie auf Details für die Umgebung, für die Sie den Origin-Test aktivieren möchten.
- Wählen Sie „Netzwerk“ aus der Registerkartenleiste oben.
- Klicken Sie im Abschnitt „HTTP-Header“ auf „Hinzufügen“.
- Auswählen
Origin-Trialals Überschrift aus der Liste. - Geben Sie Ihr Testtoken in das Feld „Wert“ ein.
- Klicken Sie auf Speichern.
- Damit die Änderungen wirksam werden, stellen Sie die Umgebung erneut bereit. Ein Neustart reicht nicht aus und führt zu einem Fehler.
Mendix CloudFoundry Buildpack und Docker Mendix Buildpack
Bei der Mendix CloudFoundry-Buildpack und der Docker Mendix Buildpack, wir haben ein ähnliches Update wie das Mendix Cloud Portal-Update für den 26. Oktober geplant.
Mit diesem Update können Sie die Origin-Testversion aktivieren, indem Sie Festlegen eines HTTP-Antwortheaders mit diesem Befehl:
cf set-env <YOUR_APP> HTTP_RESPONSE_HEADERS '{"Origin-Trial": "YOUR_TOKEN"}'
NGINX
Speichern add_header Origin-Trial "YOUR_TOKEN"; an den Ort, an dem Mendix Clientdateien werden bereitgestellt (ersetzen YOUR_TOKEN mit dem oben erhaltenen Token). Unten sehen Sie ein vollständiges Beispiel:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
add_header Origin-Trial "YOUR_TOKEN";
try_files $uri $uri/ =404;
}
}
Microsoft IIS
Folgen Sie uns dem Leitfaden , um einen benutzerdefinierten Header zur Website hinzuzufügen, die den Mendix Clientdateien. Setzen Sie den Namen auf Origin-Trial und den Wert für Ihr Testtoken. Starten Sie anschließend den Webserver neu.
Überprüfen des Tokens
Sie können in den von Chrome und Edge bereitgestellten Entwicklertools überprüfen, ob das Token akzeptiert wird und WebSQL weiterhin verfügbar ist:
- Öffnen Sie Ihre Offline-First-PWA in Chrome oder Edge.
- Öffnen Sie die Entwicklertools (drücken Sie F12).
- Wählen Sie die Registerkarte „Anwendung“ aus.
- Wählen Sie in der Liste links unter „Frames“ „oben“ aus.
- Überprüfen Sie, ob WebSQL unter „Origin Trials“ aufgeführt ist.
Outlook
Wir arbeiten daran, WebSQL durch die vom Chromium-Team vorgeschlagene alternative Lösung zu ersetzen. Diese Lösung wird in naher Zukunft für Mendix 9.24 und Mendix 10. Wir informieren Sie in den Versionshinweisen, wenn dies erledigt ist.
Sobald die Lösung veröffentlicht und Ihre Offline-First-PWA auf diese Version migriert ist, ist sie nicht mehr auf WebSQL angewiesen, um Offlinedaten zu speichern. Das bedeutet, dass die WebSQL-Ursprungstestversion nicht mehr benötigt wird und Sie das Token entfernen können.