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.

7 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.

4 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 scripts para torná-la mais clara.

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

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

2 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!

2 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?

2 curtidas