Suppression de WebSQL et comment cela affecte votre Mendix PWA | Mendix

Passer au contenu principal

Suppression de WebSQL et comment cela affecte votre Mendix PWA

Les navigateurs Web basés sur Chromium (Chrome, Edge, Android) ne prendront plus en charge WebSQL dans les mises à jour publiées après le 31 octobre 2023. Cela entraînera une mise hors ligne en premier Mendix Les applications Web progressives (PWA) ne fonctionneront plus sur ces navigateurs. Dans ce blog, nous expliquons comment atténuer cette situation à court terme en prolongeant le support de WebSQL jusqu'en mai 2024, et à long terme en passant à une autre technologie de stockage.

Mise à jour 2 (mars 2024) : La suppression de WebSQL dans les navigateurs basés sur Chromium est résolue dans les versions suivantes de Mendix:

  • Mendix 9.24.18
  • Mendix 10.6.6
  • Mendix 10.9.0

Applications Web progressives hors ligne créées avec ces versions ou des versions plus récentes de Mendix n'utilisez plus WebSQL pour stocker des données hors ligne. La base de données hors ligne est migrée automatiquement la première fois qu'un utilisateur ouvre l'application mise à jour. Pour éviter toute perte de données, assurez-vous que la migration a lieu avant que WebSQL ne soit définitivement supprimé lorsque Chromium 124 est adopté par les navigateurs de vos utilisateurs.

Mise à jour (mars 2024) : l'équipe Chromium a annoncé que la prise en charge de WebSQL à l'aide de la version d'essai d'Origin sera abandonnée avec la version 124, dont la sortie est prévue le 16 avril. C'est plus d'un mois plus tôt que prévu initialement. Du côté positif, nous finalisons le correctif pour Mendix de s'éloigner de WebSQL et de prévoir de le publier ce mois-ci. Pour préparer votre Mendix PWA hors ligne en premier, mettez-le à jour vers la dernière version de Mendix 9.24 ou 10.6 maintenant. Une fois que nous aurons annoncé la sortie du correctif, mettez à jour l'application vers cette version et publiez-la. De cette façon, la mise à jour finale sera probablement transparente, ce qui signifie qu'aucun ajustement manuel n'est nécessaire. Il en va de même pour vos utilisateurs : le correctif sera automatiquement appliqué et toutes les données hors ligne seront migrées. Assurez-vous simplement que vos utilisateurs accèdent à l'application avant de mettre à jour leurs navigateurs.

Chromium est un navigateur Web open source utilisé dans plusieurs navigateurs Web populaires, notamment Google Chrome, Microsoft Edge et le navigateur Web par défaut du système d'exploitation Android. ce blog, l'équipe en charge de la maintenance de Chromium a annoncé qu'elle abandonnerait la prise en charge de WebSQL dans Chromium 119, qui sortira le 31 octobre. Ce changement sera adopté par les futures versions des navigateurs ci-dessus dès qu'elles seront mises à jour vers cette version de Chromium. Alors que Chrome et Edge sont fréquemment mis à jour, le navigateur Web Android n'est généralement mis à jour que lors de la mise à jour du système d'exploitation. Cela signifie que le changement n'est appliqué que si l'appareil est mis à jour vers une version Android publiée après le 31 octobre.

Mendix prend en charge la création d'applications Web hors ligne en utilisant l'un des profils de navigation PWA hors ligne. Ces applications utilisent WebSQL en arrière-plan pour stocker tous les objets synchronisés avec l'appareil et disponibles pour une utilisation hors ligne. Par conséquent, ces applications ne fonctionneront plus une fois que les navigateurs Web de leurs utilisateurs auront été mis à jour vers Chromium 119. Applications hybrides hors ligne et applications natives créées avec Mendix ne sont pas affectés.

Extension de la prise en charge de WebSQL

En premier lieu, nous vous recommandons d'étendre la prise en charge de WebSQL si votre application est utilisée depuis Chrome ou Edge. Cela n'est pas nécessaire si votre application n'est accessible que via les navigateurs Web Android. Pour mettre en œuvre cette mesure, deux étapes sont nécessaires :

  1. Inscrivez-vous à l'essai Origin « WebSQL » et recevez un jeton d'essai.
  2. Ajoutez un en-tête personnalisé au serveur Web hébergeant le Mendix .

Nous expliquons ces étapes en détail ci-dessous.

Enregistrement de l'essai d'origine

Les essais Origin sont gérés par Google et Microsoft. Ils permettent aux développeurs d'activer de nouvelles fonctionnalités ou de demander une assistance étendue sur les fonctionnalités supprimées dans les navigateurs basés sur Chromium. Suivez ces instructions pour vous inscrire à l'essai Origin avec Google :

  1. Vous avez besoin d'un compte Google pour vous inscrire et obtenir un token. Si vous n'en avez pas, créez un compte ici.
  2. Consultez la Site Web d'inscription à l'essai d'origine depuis Chrome et connectez-vous avec votre compte Google.
  3. Recherchez la version d’essai de WebSQL et cliquez sur S’inscrire.
  4. Remplissez l'URL de l'environnement exécutant votre PWA hors ligne sous Web Origin.
  5. Ne sélectionnez pas « Correspondance tierce » ou « J’ai besoin d’un jeton pour faire correspondre tous les sous-domaines ».
  6. Sélectionnez l'utilisation prévue de votre application par jour.
  7. Cochez les quatre cases en bas.
  8. Cliquez sur S'inscrire.
  9. Redéployez l'application et démarrez l'environnement pour que les modifications prennent effet

Il est également possible de inscrivez-vous à un essai d'Origin avec MicrosoftIl n’est pas nécessaire de faire les deux (l’un ou l’autre jeton fonctionnera dans les navigateurs Web Chrome et Edge).

Configuration du serveur Web

Pour activer l'essai d'origine et étendre la prise en charge de WebSQL, vous devez ajouter le jeton obtenu ci-dessus en tant qu'en-tête personnalisé au serveur Web qui diffuse le contenu statique d'un Mendix .

Origin-Trial: YOUR_TOKEN

Voici les instructions pour le Mendix Cloud, NGINX et Microsoft IIS.

Mendix Cloud

  1. Consultez la Mendix Portail et ouvrez votre application.
  2. Sélectionnez Environnements dans la navigation sur la gauche.
  3. Cliquez sur Détails pour l’environnement pour lequel vous souhaitez activer la version d’essai d’Origin.
  4. Sélectionnez Réseau dans la barre d’onglets en haut.
  5. Cliquez sur Ajouter dans la section En-têtes HTTP.
  6. Choisir Origin-Trial comme en-tête de la liste.
  7. Saisissez votre jeton d’essai dans le champ Valeur.
  8. Cliquez sur Enregistrer.
  9. Redéployez l'environnement pour que les modifications prennent effet. Le redémarrage n'est pas suffisant et entraînera une erreur.

Mendix CloudFoundry Buildpack et Docker Mendix Pack de construction

Pour la Mendix Pack de construction CloudFoundry et de la Docker Mendix Pack de construction, nous avons une mise à jour similaire à celle-ci Mendix Mise à jour du portail Cloud prévue le 26 octobre.

Avec cette mise à jour, vous pouvez activer l'essai d'Origin en définir un en-tête de réponse HTTP en utilisant cette commande:

cf set-env <YOUR_APP> HTTP_RESPONSE_HEADERS '{"Origin-Trial": "YOUR_TOKEN"}'

Nginx

Ajouter add_header Origin-Trial "YOUR_TOKEN"; à l'endroit où Mendix les fichiers clients sont servis (remplacer YOUR_TOKEN avec le jeton obtenu ci-dessus). Ci-dessous un exemple complet :


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

Suivre pour ajouter un en-tête personnalisé au site Web servant le Mendix fichiers client. Définissez le nom sur Origin-Trial et la valeur de votre jeton d'essai. Redémarrez ensuite le serveur Web.

Valider le jeton

Vous pouvez vérifier que le jeton est accepté et que WebSQL reste disponible dans les outils de développement fournis par Chrome et Edge :

  1. Ouvrez votre PWA hors ligne dans Chrome ou Edge.
  2. Ouvrez les outils de développement (appuyez sur F12).
  3. Sélectionnez l'onglet Application.
  4. Sélectionnez le haut sous Cadres dans la liste de gauche.
  5. Vérifiez que WebSQL est répertorié sous Essais d’origine.

Perspectives

Nous travaillons actuellement au remplacement de WebSQL par la solution alternative suggérée par l'équipe Chromium. Cette solution sera publiée dans un avenir proche pour Mendix 9.24 et Mendix 10. Nous vous informerons dans les notes de version lorsque cela sera fait.

Une fois la solution publiée et votre PWA hors ligne migrée vers cette version, elle ne dépend plus de WebSQL pour stocker les données hors ligne. Cela signifie que la version d'essai d'origine de WebSQL n'est plus nécessaire et que vous pouvez supprimer le jeton.

 

Choisissez votre langue