Apresentando Mudanças Futuras, um sistema para gerenciar novos recursos e alterações na funcionalidade existente em sua comunidade

À medida que continuamos a melhorar o Discourse, criamos uma nova página de configuração de Mudanças Futuras para ajudar os administradores a entenderem quais mudanças estão chegando ao Discourse e permitir que eles gerenciem como essas mudanças são implementadas em suas comunidades. Acreditamos que este sistema nos ajudará a continuar aprimorando o Discourse de forma segura e transparente.

Neste tópico, explicaremos como este novo sistema funciona e como usá-lo para introduzir novos recursos e outras mudanças com segurança em sua comunidade.

Visão geral de como as Mudanças Futuras funcionam

À medida que trabalhamos em novos recursos ou outras mudanças, nós os adicionaremos à página de configuração de Mudanças Futuras em /admin/config/upcoming-changes. Cada mudança incluirá uma descrição, status, indicador de quais usuários são impactados por ela e para quais usuários (se houver) ela está ativada em sua comunidade.

Dependendo do status da mudança, você pode decidir se a ativa ou a desativa para sua comunidade — pelo menos temporariamente, já que algumas mudanças acabarão sendo ativadas permanentemente.

Desativar temporariamente uma mudança lhe dá tempo para lidar com quaisquer personalizações de site ou processos impactados, informar sua base de membros sobre a mudança ou designar certos grupos de membros para testes.

Analisando uma Mudança Futura

Vamos analisar uma Mudança Futura e definir as informações que você verá em cada seção.

1 - Nome e descrição

O nome e a descrição fornecem uma breve explicação da mudança e geralmente incluirão links para conteúdo relacionado (como um tópico no Meta) para mais detalhes.

2 - Status

O status comunica sua posição no ciclo de vida do desenvolvimento. O status afeta diretamente se a mudança é de opção de entrada (ou seja, desativada por padrão, mas você pode ativá-la), opção de saída (ou seja, ativada por padrão, mas você pode desativá-la) ou forçada (ou seja, ativada e você não pode desativá-la).

Usamos os seguintes status em Mudanças Futuras:

  • Experimental (Experimental): Uma mudança potencial que está em desenvolvimento/teste inicial e deve evoluir rapidamente, ou pode ser removida completamente se encerrarmos o experimento (momento em que passará para o status Inactive (Inativa); veja abaixo). Você pode optar por ativar mudanças Experimental para testá-las.
  • Alpha (Alfa): Uma mudança testada que é segura de usar, embora possa haver algumas atualizações menores em seu design ou funcionalidade. Você pode optar por ativar mudanças Alpha para usá-las antecipadamente.
  • Beta (Beta): Uma mudança testada que é segura de usar e improvável que mude muito antes de passar para o status Stable (Estável) ou possivelmente Permanent (Permanente). Para a maioria dos sites, as mudanças Beta são automaticamente ativadas para todos (se você não a habilitou anteriormente), mas você ainda pode optar por desativar.
  • Stable (Estável): Uma mudança concluída[1] , mas ainda é de opção de saída (ou seja, administradores podem desativá-la). Os administradores serão avisados em seu painel quando tiverem optado por desativar uma mudança Stable.
  • Permanent (Permanente): Uma mudança que concluiu os testes e é forçada (ou seja, administradores não podem desativá-la).
  • Inactive (Inativa): Um experimento abandonado. Você não pode optar por ativar.

Às vezes, as mudanças progredirão linearmente por esses status (ou seja, começarão em Experimental e terminarão em Permanent), mas nem sempre. Algumas mudanças podem ser introduzidas no status Alpha ou Beta, e algumas terminarão no status Stable (se não forem forçadas).

Não há um tempo definido para quanto tempo levará para uma mudança específica progredir de um status para outro, mas os administradores serão notificados quando:

  • Uma nova mudança estiver disponível para experimentação
  • Uma mudança tiver sido ativada automaticamente
  • Quando você tiver desativado uma mudança que em breve será forçada

3 - Usuários impactados

A tag de usuários impactados descreve quais usuários em sua comunidade podem ver ou interagir com a mudança de alguma forma. Para simplificar — quem pode notar essa mudança? Existem vários tipos de usuários impactados:

  • Admins (Administradores): A mudança é visível apenas para administradores.
  • Staff (Equipe): A mudança é visível apenas para administradores e moderadores.
  • All members (Todos os membros): A mudança é visível para todos os membros do seu site.
  • Developers (Desenvolvedores): Em casos raros, uma mudança será perceptível apenas para aqueles que estão interagindo com o código no núcleo, temas ou plugins.

4 - Ativado para…

Este menu suspenso é onde você, como administrador do site, pode controlar se e como introduzir essa mudança em sua comunidade, ativando-a para:

  • No one (Ninguém): Desativa a mudança para todos no site.
  • Everyone (Todos): Ativa a mudança para todos no site, incluindo usuários anônimos. Quando a mudança é ativada automaticamente (tipicamente no status Beta), será para Everyone.
  • Staff only (Apenas equipe): Ativa a mudança para a equipe do site (ou seja, administradores e moderadores).
  • Specific groups (Grupos específicos): Ativa a mudança para os grupos selecionados.

Por enquanto, movemos a maioria das mudanças Experimental de /admin/config/experimental para Mudanças Futuras, e você começará a ver novas atualizações chegando aqui em breve. Estamos ansiosos para saber o impacto que isso causará em sua comunidade e recebemos quaisquer perguntas ou feedback!


  1. Na medida em que qualquer software está completo! ↩︎

17 curtidas

Estou curioso - como ele controla como a alteração é implementada? Pode ser alterado depois que o recurso for introduzido? Obrigado.

1 curtida

Native Feature Flags! Muito bom :clap:

Seria ótimo ter uma API para plugins.

1 curtida

Esse é um recurso muito aguardado! Obrigado!

1 curtida

Isto é ótimo, ter a capacidade de mudar as flags assim é incrível para pessoas na vanguarda como eu, especialmente ao desenvolver um tema.

No entanto, “alterações futuras” (upcoming changes) é realmente o melhor nome para isso? Por exemplo, o HomeAssistant usa “laboratórios” (labs) e muitas outras pessoas usam coisas como “experimentos” (experiments), que soam melhor do que alterações futuras.

Você será notificado sobre novos recursos enquanto eles ainda estiverem em um estado em que você pode experimentá-los antecipadamente (opt-in) e desativá-los temporariamente para corrigir quaisquer problemas causados pela alteração (opt-out). Se uma alteração se tornar permanente (o que significa que você não pode desativá-la) e você a tiver desativado atualmente, nós o informaremos.

Esta seção descreve isso com um pouco mais de detalhes:

No momento, você está vendo apenas alterações experimentais porque migramos essas do painel de configurações para Alterações Futuras, mas no futuro haverá atualizações não experimentais aqui também. Portanto, “laboratórios” não parece preciso para como estamos usando este sistema.

1 curtida