Suppression du composant de thème Search Banner

Au cours des derniers mois, nous avons travaillé sur une fonctionnalité de bannière d’accueil (welcome banner) intégrée au produit principal de Discourse. Cette bannière d’accueil intégrée s’adresse aux visiteurs nouveaux et récurrents de votre communauté et leur permet de rechercher facilement du contenu pertinent pour leurs besoins et leurs intérêts. Avec cette nouvelle bannière intégrée, nous déprécarons désormais le composant de thème Search Banner afin de réduire la complexité de nos offres et de garantir que tous les utilisateurs de Discourse bénéficient des améliorations continues apportées à la fonctionnalité principale.

Dans ce sujet, nous expliquerons ce que signifie cette dépréciation pour les utilisateurs actuels du composant de thème Search Banner.

Si vous êtes un client hébergé…

Nous commencerons à migrer les clients hébergés du composant Search Banner vers la fonctionnalité de bannière d’accueil le 20 novembre 2025. Si vous utilisez actuellement ce composant, vous recevrez un message contenant les détails précis du calendrier pour votre niveau de plan.

Cette migration copiera tous les textes du site que vous avez personnalisés pour le composant de thème (par exemple, search_banner.headline, search_banner.subhead, search_banner.search_button_text) ainsi que les valeurs des paramètres du composant de thème show on, plugin outlet et background image dans les paramètres de la fonctionnalité principale.

Notre objectif est de minimiser l’impact visible de ce changement, afin que la bannière créée par la fonctionnalité principale ressemble à celle créée par le composant de thème. Les communautés ayant une image sur leur bannière pourraient remarquer un léger décalage dans la position de celle-ci, ce qui peut être corrigé en recadrant l’image pour centrer le contenu que vous souhaitez afficher dans la bannière.

Après cette migration, le composant de thème sera désactivé et pourra être supprimé en toute sécurité depuis la page Thèmes et composants (/admin/config/customize/components).

Si vous êtes un utilisateur auto-hébergé…

Vous devez planifier la migration manuelle ou automatique du composant de thème vers la fonctionnalité principale d’ici le 15 décembre 2025. Vous pouvez le faire manuellement ou en utilisant notre script fourni.

Migration manuelle

Voici une correspondance entre les textes et les paramètres du composant de thème Search Banner et les mêmes fonctionnalités de la bannière d’accueil intégrée :

Description du paramètre Composant de thème Search Banner Fonctionnalité principale de la bannière d’accueil
Le texte d’en-tête affiché sur la bannière d’accueil. search_banner.headline texte du site js.welcome_banner.header.anonymous_members et js.welcome_banner.header.logged_in_members textes du site
Le sous-titre affiché sur la bannière d’accueil. search_banner.subhead texte du site js.welcome_banner.subheader.anonymous_members et js.welcome_banner.subheader.logged_in_members textes du site
Le texte utilisé pour le bouton de recherche sur la bannière. \* search_banner.search_button_text texte du site js.welcome_banner.search_placeholder texte du site
Paramètre pour déterminer sur quels pages afficher la bannière d’accueil. show on paramètre du composant de thème Paramètre du site « Visibilité de la bannière d’accueil »
Paramètre pour déterminer où sur la page la bannière d’accueil apparaît. plugin outlet paramètre du composant de thème Paramètre du site « Emplacement de la bannière d’accueil »
Image d’arrière-plan utilisée sur la bannière d’accueil. background image light paramètre du composant de thème Paramètre du site « Image de la bannière d’accueil »

\* Notez que la fonctionnalité de bannière d’accueil intégrée ne prend pas en charge un bouton de recherche explicite, nous vous recommandons donc de mapper ce texte au texte personnalisable du champ de recherche (placeholder) pour obtenir un résultat similaire.

Migration par script

La migration se compose de trois tâches rake qui doivent être exécutées dans l’ordre suivant :

  1. Migrer les paramètres du composant :
    themes:advanced_search_banner:1_migrate_settings_to_welcome_banner

  2. Migrer les traductions du composant :
    themes:advanced_search_banner:2_migrate_translations_to_welcome_banner

  3. Activer la bannière principale, exclure le composant des thèmes où il est utilisé et désactiver le composant :
    themes:advanced_search_banner:3_exclude_and_disable

Fichiers \u003crandom_name\u003e.sh à exécuter dans le conteneur :

  1. task_1.sh :
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
  1. task_2.sh :
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
  1. task_3.sh :
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:3_exclude_and_disable

Il est recommandé d’exécuter chaque tâche rake individuellement pour mieux contrôler le processus de migration.

Une tâche de commodité themes:advanced_search_banner:migrate_all est également disponible pour exécuter les trois tâches séquentiellement, mais utilisez-la à vos risques et périls.

7 « J'aime »

Voulez-vous dire quelque chose comme ceci ?

#!/bin/bash
cd /var/www/discourse && rake themes:advanced_search_banner:migrate_settings_to_welcome_banner && rake themes:advanced_search_banner:migrate_translations_to_welcome_banner && rake themes:advanced_search_banner:exclude_and_disable

Je ne pense pas que beaucoup d’hébergeurs autonomes en déduiront le sens à partir de <task_1_2_or_3>.

Ces tâches rake risquent-elles d’échouer ? Peut-on simplement les exécuter toutes en même temps ? Si tel est le cas, pourquoi ne pas avoir une seule tâche rake qui les exécute toutes ?

Peut-être que les utilisateurs souhaitent quelque chose comme ceci :

docker exec -t app bash -c `cd /var/www/discourse && rake themes:advanced_search_banner:migrate_settings_to_welcome_banner && rake themes:advanced_search_banner:migrate_translations_to_welcome_banner && rake themes:advanced_search_banner:exclude_and_disable`

Donc, pour les personnes qui ne comprennent pas comment le faire, elles perdent toutes leurs anciennes configurations et textes personnalisés, n’est-ce pas ?

Et pour celles qui n’effectueront pas la mise à jour avant mars ? Pourront-elles toujours exécuter ces tâches rake à ce moment-là ? Je ne comprends pas bien l’importance du 15 décembre.

3 « J'aime »

Je vais laisser mon collègue qui a créé le script s’occuper de la première partie de votre question, mais pour les deux dernières questions :

Non.

Le script est une option ; la migration manuelle en est une autre. C’est pourquoi nous avons fourni des descriptions très claires de la façon dont les paramètres / chaînes du composant de thème Search Banner correspondent aux paramètres / chaînes de la bannière de bienvenue.

Le 15 décembre est la date à laquelle nous terminerons notre migration des clients hébergés et lorsque nous cesserons officiellement de prendre en charge / maintenir le composant Search Banner. Nous recommandons aux autres utilisateurs de ce composant de migrer avant cette date afin de ne pas être pris au dépourvu lorsque le composant de thème deviendra incompatible avec le noyau de Discourse à l’avenir.

Si les utilisateurs choisissent d’attendre plus tard, ils pourront toujours exécuter ces tâches ou effectuer la migration manuellement, mais pendant ce temps, ils utiliseront un composant de thème non pris en charge.

4 « J'aime »

Exactement, la commande fournie exécutera les trois tâches les unes après les autres. Veuillez noter que nous avons préfixé chaque tâche par un numéro pour indiquer l’ordre d’exécution prévu.

Merci, nous avons mis à jour la section Migration du script pour la rendre plus claire.

Nous ne pouvons pas garantir un succès à 100 %, mais nous avons veillé à ce que les échecs soient très peu probables.

Oui, nous avons ajouté une tâche pratique : themes:advanced_search_banner:migrate_all.

2 « J'aime »

Génial ! Je pense que cela aidera beaucoup. Les gens comme nous ne voient pas d’inconvénient à exécuter quelques tâches de prise en charge à l’intérieur d’un conteneur, mais la plupart des auto-hébergeurs, pas tellement.

S’il était possible de mettre à jour le composant de thème pour avoir un lien de dépréciation sur le panneau d’administration qui pointe ici, cela les aiderait à savoir que ce sujet existe.

Ce que j’aimerais faire, c’est trouver un moyen de savoir si le composant de thème est installé, de préférence via l’API. Je suppose que ce sera de récupérer le JSON du composant de thème, de le faire passer par jq et de filtrer sur le nom du composant. Je pense que cela devrait fonctionner, et mon tableau de bord a une clé API. Ensuite, je pourrai faire exécuter à Ansible la tâche de ratisseuse à l’intérieur du conteneur !

2 « J'aime »

Les thèmes officiels qui installent automatiquement le composant sont-ils modifiés à l’avance afin que personne n’installe le composant sans se rendre compte qu’il doit configurer manuellement la bannière de bienvenue dans le noyau pour que le thème fonctionne à l’avenir ?

2 « J'aime »