Desativando o componente de tema Search Banner

Nos últimos meses, temos trabalhado em um recurso de banner de boas-vindas que faz parte do produto principal do Discourse. Esse recurso de banner de boas-vindas central apresenta uma mensagem de boas-vindas aos visitantes novos e retornantes da sua comunidade, facilitando a busca por conteúdo relevante para suas necessidades e interesses. Com esse novo banner central em vigor, estamos agora descontinuando o componente de tema “Search Banner” para reduzir a complexidade de nossas ofertas de produtos e garantir que todos os usuários do Discourse se beneficiem de melhorias contínuas no recurso principal.

Neste tópico, abordaremos o que a descontinuação significa para os usuários atuais do componente de tema “Search Banner”.

Se você é um cliente hospedado…

Começaremos a migrar os clientes hospedados do componente “Search Banner” para o recurso de banner de boas-vindas no dia 20 de novembro de 2025. Se você estiver usando atualmente esse componente, receberá uma mensagem com os detalhes exatos do cronograma para o seu nível de plano.

Essa migração copiará todos os textos do site que você atualizou para o componente de tema (ou seja, search_banner.headline, search_banner.subhead, search_banner.search_button_text) e os valores para as configurações do componente de tema show on, plugin outlet e background image para as configurações do recurso principal.

Nosso objetivo é minimizar o impacto visual dessa mudança, para que o banner criado pelo recurso principal pareça o mesmo que o criado pelo componente de tema. Comunidades com uma imagem no banner podem perceber uma pequena mudança na posição da imagem, o que pode ser corrigido cortando a imagem para centralizar o conteúdo que deseja exibir no banner.

Após essa migração, o componente de tema será desativado e poderá ser excluído com segurança da página Temas e componentes (/admin/config/customize/components).

Se você é um usuário auto-hospedado…

Você deve planejar migrar você mesmo do componente de tema para o recurso principal até 15 de dezembro de 2025. Você pode fazer isso manualmente ou usando nosso script fornecido.

Migração manual

Aqui está um mapa de como os textos e configurações do componente de tema “Search Banner” se relacionam com os mesmos recursos do banner de boas-vindas central:

Descrição da configuração Componente de tema “Search Banner” Recurso de banner de boas-vindas central
O texto do título exibido no banner de boas-vindas. search_banner.headline texto do site js.welcome_banner.header.anonymous_members e js.welcome_banner.header.logged_in_members textos do site
O texto do subtítulo exibido no banner de boas-vindas. search_banner.subhead texto do site js.welcome_banner.subheader.anonymous_members e js.welcome_banner.subheader.logged_in_members textos do site
O texto usado para o botão de pesquisa no banner. \* search_banner.search_button_text texto do site js.welcome_banner.search_placeholder texto do site
Configuração para determinar em quais páginas o banner de boas-vindas é exibido. show on configuração do componente de tema Configuração de site “Visibilidade da página do banner de boas-vindas”
Configuração para determinar onde na página o banner de boas-vindas aparece. plugin outlet configuração do componente de tema Configuração de site “Localização do banner de boas-vindas”
Imagem de fundo usada no banner de boas-vindas. background image light configuração do componente de tema Configuração de site “Imagem do banner de boas-vindas”

\* Note que o recurso de banner de boas-vindas central não suporta um botão de pesquisa explícito, por isso recomendamos mapear esse texto para o texto personalizável do campo de pesquisa (placeholder) para obter um resultado semelhante.

Migração com script

A migração consiste em três tarefas rake que devem ser executadas na seguinte ordem:

  1. Migrar configurações do componente:
    themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
  2. Migrar traduções do componente:
    themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
  3. Habilitar o banner central, excluir o componente dos temas onde ele é usado e desativar o componente:
    themes:advanced_search_banner:3_exclude_and_disable

Arquivos r<random_name>.sh a serem executados no container:

  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

É recomendado executar cada tarefa rake individualmente para um melhor controle do processo de migração.

Também está disponível uma tarefa conveniente themes:advanced_search_banner:migrate_all para executar todas as três tarefas sequencialmente, mas use-a por sua própria conta e risco.

9 curtidas

Você quer dizer algo como isso?

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

Acho que poucos auto-hospedadores vão inferir isso de <task_1_2_or_3>.

Essas tarefas rake têm probabilidade de falhar? Podemos executá-las todas de uma vez? Se for o caso, por que não ter apenas uma tarefa rake que faça tudo?

Talvez as pessoas queiram algo assim:

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`

Então, para pessoas que não entendem como fazer isso, elas simplesmente perdem todas as suas configurações antigas e textos personalizados, certo?

E quanto às pessoas que não atualizam novamente até março? Elas ainda podem executar essas tarefas rake naquela época? Não estou claro sobre a importância de 15 de dezembro.

3 curtidas

Vou deixar meu colega que criou o script ajudar com a primeira parte da sua pergunta, mas quanto às duas últimas perguntas:

Não.
O script é uma opção; a migração manual é outra opção. É por isso que fornecemos descrições muito claras de como as configurações e textos do componente de tema do Search Banner se mapeiam para as configurações e textos do banner de boas-vindas.

O dia 15 de dezembro é quando concluímos nossa migração de clientes hospedados e quando deixaremos oficialmente de suportar / manter o componente Search Banner. Recomendamos que outros usuários desse componente migrem antes dessa data para não serem surpreendidos quando o componente de tema se tornar incompatível com o núcleo do Discourse no futuro.

Se as pessoas optarem por esperar até mais tarde, ainda poderão executar essas tarefas ou realizar a migração manualmente, mas, enquanto isso, estarão usando um componente de tema não suportado.

5 curtidas

Correto, o comando fornecido executará as três tarefas uma após a outra. Observe que prefixamos cada tarefa com um número para indicar a ordem de execução pretendida.

Obrigado, atualizamos a seção Migração de Script para deixar mais claro.

Não podemos garantir 100% de sucesso, mas garantimos que as falhas são altamente improváveis.

Sim, adicionamos uma tarefa de conveniência: themes:advanced_search_banner:migrate_all.

3 curtidas

Incrível! Acho que isso vai ajudar muito. Pessoas como nós não se importam de executar algumas tarefas de instalação dentro de um contêiner, mas a maioria dos auto-hospedeiros, nem tanto.

Se fosse possível atualizar o componente do tema para ter um link de depreciação no painel de administração que apontasse para cá, isso os ajudaria a saber que este tópico existe.

O que eu gostaria de fazer é encontrar uma maneira de descobrir se o componente do tema está instalado, de preferência pela API. Acho que isso será feito puxando o JSON do componente do tema, executando-o através do jq e filtrando pelo nome do componente. Acho que isso deve funcionar, e meu painel tem uma chave de API. Então, posso fazer o Ansible executar a tarefa rake dentro do contêiner!

3 curtidas

Os temas oficiais que instalam automaticamente o componente são alterados previamente para que ninguém instale o componente sem perceber que precisa configurar manualmente o banner de boas-vindas no core para que o tema funcione no futuro?

3 curtidas

Apenas para informação, executei as tarefas rake conforme descrito e parece que funcionou como planejado.

rake.txt.md (3,1 KB)

2 curtidas

Todos os temas oficiais que usavam o Banner de Pesquisa (Search Banner) foram atualizados e migrados para usar o Banner de Boas-vindas (Welcome Banner):

4 curtidas

Posso fazer uma pergunta sobre isso? Eu usei o modo seguro hoje, e isso porque hoje foi a primeira vez que vi o banner após a migração (ele está desativado no meu tema atual; o componente foi instalado com o Air Theme, que está atualmente desativado).
Então, notei que os textos no banner agora correspondem aos textos do banner de pesquisa



Em seguida, mudei o idioma da minha interface para o idioma padrão do meu fórum (alemão), e parece que esses textos não foram alterados.



Este é o resultado esperado da migração? Não consigo encontrar nenhum log que indique que fui eu quem editou os textos; é por isso que presumo que este seja o resultado da migração. Mas eu realmente não entendo por que isso mudaria apenas um idioma e não os outros. Especialmente não que não migraria o locale padrão.

Sim, o script de migração foi projetado para migrar os textos padrão do banner de pesquisa para os textos principais do banner de boas-vindas.

Por que os textos foram migrados?

A migração foi executada porque o banner de pesquisa foi instalado com o Air Theme - o script não verifica se o tema pai (no seu caso, Air Theme) está desativado, o que é uma falha na lógica do script.


O script de migração suporta múltiplos locales, se estiverem definidos: link to source code.

Isso significa que o banner de pesquisa não tinha textos em alemão definidos, então não havia nada para migrar.

Como autor do script de migração, peço desculpas por esta supervisão para garantir uma migração tranquila. Se eu negligenciei algo em sua postagem, receio não poder oferecer ajuda melhor, pois não faço mais parte da equipe principal. Se você ainda precisar de alguma assistência com o assunto, a pessoa que realizou a migração em 2025-12-15 deve ser capaz de ajudar.

:thinking: Mas por que eu vejo textos em alemão no componente do tema? Essas são as traduções padrão que foram adicionadas há mais de um ano.

Então eu ainda não entendo muito bem a diferença entre inglês e alemão. O único idioma em que os textos do site parecem ser substituídos é o inglês. Sem espanhol, sem francês, sem chinês, mas o componente do banner de pesquisa foi traduzido em todos esses idiomas.