Eliminación del componente de tema Search Banner

En los últimos meses, hemos estado trabajando en una función de banner de bienvenida que forma parte del producto principal de Discourse. Este banner de bienvenida principal saluda a los visitantes nuevos y recurrentes de tu comunidad y les permite buscar fácilmente contenido relevante para sus necesidades e intereses. Con esta nueva función de banner en el núcleo, ahora estamos deprecando el componente de tema del Banner de Búsqueda para reducir la complejidad de nuestras ofertas de productos y asegurar que todos los usuarios de Discourse se beneficien de mejoras continuas en la función principal.

En este tema, cubriremos qué significa la deprecación para los usuarios actuales del componente de tema del Banner de Búsqueda.

Si eres un cliente alojado…

Comenzaremos a migrar a los clientes alojados del componente Banner de Búsqueda a la función de banner de bienvenida el 20 de noviembre de 2025. Si actualmente estás utilizando este componente, recibirás un mensaje con los detalles exactos del momento para tu nivel de plan.

Esta migración copiará cualquier texto del sitio que hayas actualizado para el componente de tema (es decir, search_banner.headline, search_banner.subhead, search_banner.search_button_text) y los valores de los ajustes del componente de tema show on, plugin outlet y background image en los ajustes de la función principal.

Nuestro objetivo es minimizar el impacto visible de este cambio, para que el banner creado por la función principal se vea igual que el creado por el componente de tema. Las comunidades con una imagen en su banner podrían notar un ligero cambio en la posición de la imagen, que se puede corregir recortando la imagen para centrar el contenido que deseas que aparezca en el banner.

Después de esta migración, el componente de tema se desactivará y podrá eliminarse de forma segura desde la página Temas y componentes (/admin/config/customize/components).

Si eres un usuario autoalojado…

Debes planificar tu propia migración del componente de tema a la función principal para el 15 de diciembre de 2025. Puedes hacerlo manualmente o utilizando nuestra script proporcionado.

Migración manual

Aquí tienes un mapa de cómo los textos del sitio y ajustes del componente de tema del Banner de Búsqueda se relacionan con las mismas funciones del banner de bienvenida principal:

Descripción del ajuste Componente de tema del Banner de Búsqueda Función principal de banner de bienvenida
El texto del encabezado mostrado en el banner de bienvenida. search_banner.headline texto del sitio js.welcome_banner.header.anonymous_members y js.welcome_banner.header.logged_in_members textos del sitio
El texto del subtítulo mostrado en el banner de bienvenida. search_banner.subhead texto del sitio js.welcome_banner.subheader.anonymous_members y js.welcome_banner.subheader.logged_in_members textos del sitio
El texto utilizado para el botón de búsqueda en el banner. \* search_banner.search_button_text texto del sitio js.welcome_banner.search_placeholder texto del sitio
Ajuste para determinar en qué páginas se muestra el banner de bienvenida. show on ajuste del componente de tema Ajuste del sitio “Visibilidad de páginas del banner de bienvenida”
Ajuste para determinar dónde en la página aparece el banner de bienvenida. plugin outlet ajuste del componente de tema Ajuste del sitio “Ubicación del banner de bienvenida”
Imagen de fondo utilizada en el banner de bienvenida. background image light ajuste del componente de tema Ajuste del sitio “Imagen del banner de bienvenida”

\* Nota: la función principal de banner de bienvenida no admite un botón de búsqueda explícito, por lo tanto, recomendamos asignar este texto al texto del marcador de posición del campo de búsqueda personalizable para obtener un resultado similar.

Migración con script

La migración consiste en tres tareas rake que deben ejecutarse en el siguiente orden:

  1. Migrar ajustes del componente:
    themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
  2. Migrar traducciones del componente:
    themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
  3. Habilitar el banner principal, excluir el componente de temas donde se utiliza y deshabilitar el componente:
    themes:advanced_search_banner:3_exclude_and_disable

Archivos \u003crandom_name\u003e.sh a ejecutar en el contenedor:

  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

Se recomienda ejecutar cada tarea rake individualmente para tener un mejor control sobre el proceso de migración.

También está disponible una tarea de conveniencia themes:advanced_search_banner:migrate_all para ejecutar las tres tareas secuencialmente, pero úsala bajo tu propia responsabilidad.

7 Me gusta

¿Te refieres a algo como esto?

#!/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

No creo que muchos usuarios que alojan su propio sitio infieran eso de <task_1_2_or_3>.

¿Es probable que estas tareas rake fallen? ¿Podemos simplemente ejecutarlas todas a la vez? Si ese es el caso, ¿por qué no tener una sola tarea rake que las realice todas?

Quizás la gente quiera algo como esto:

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`

Entonces, para las personas que no entienden cómo hacerlo, simplemente pierden todas sus configuraciones antiguas y texto personalizado, ¿verdad?

¿Y qué pasa con quienes no actualicen hasta marzo? ¿Todavía podrán ejecutar esas tareas rake entonces? No estoy claro sobre la importancia del 15 de diciembre.

3 Me gusta

Dejaré que mi colega, quien creó el script, ayude con la primera parte de tu pregunta, pero para las dos últimas preguntas:

No.

El script es una opción; la migración manual es otra opción. Por eso proporcionamos descripciones muy claras de cómo las configuraciones / cadenas del componente del tema se relacionan con las configuraciones / cadenas de la pancarta de bienvenida.

El 15 de diciembre es cuando completaremos nuestra migración de clientes alojados y cuando dejaremos oficialmente de soportar / mantener el componente de Pancarta de Búsqueda. Recomendamos que otros usuarios de este componente migren antes de esa fecha para que no se vean sorprendidos cuando el componente del tema se vuelva incompatible con el núcleo de Discourse en el futuro.

Si las personas deciden esperar hasta más tarde, aún deberían poder ejecutar estas tareas o realizar la migración manual, pero mientras tanto estarán utilizando un componente de tema no soportado.

4 Me gusta

Correcto, el comando proporcionado ejecutará las tres tareas una tras otra. Ten en cuenta que hemos prefijado cada tarea con un número para indicar el orden de ejecución previsto.

Gracias, hemos actualizado la sección Migración de scripts para hacerlo más claro.

No podemos garantizar un 100 % de éxito, pero hemos asegurado que los fallos sean muy poco probables.

Sí, hemos añadido una tarea de conveniencia: themes:advanced_search_banner:migrate_all.

2 Me gusta

¡Genial! Creo que eso ayudará mucho. A la gente como nosotros no nos importa ejecutar un puñado de tareas dentro de un contenedor, pero a la mayoría de los autoalojadores, no tanto.

Si fuera posible actualizar el componente temático para tener un enlace de depreciación en el panel de administración que apuntara aquí, eso les ayudaría a saber que este tema existe.

Lo que me gustaría hacer es encontrar una manera de averiguar si el componente temático está instalado, preferiblemente desde la API. Supongo que será extraer el JSON del componente temático, pasarlo por jq y filtrar por el nombre del componente. Creo que eso debería funcionar, y mi panel tiene una clave API. ¡Entonces podré hacer que Ansible ejecute la tarea de rake dentro del contenedor!

2 Me gusta

¿Se modifican de antemano los temas oficiales que instalan automáticamente el componente para que nadie instale el componente sin darse cuenta de que necesita configurar manualmente el banner de bienvenida en el núcleo para que el tema funcione en el futuro?

2 Me gusta