De tempos em tempos, nos deparamos com uma situação em que um fórum precisa entrar no modo “somente leitura” para evitar a criação de novas postagens.
No entanto, é realmente irritante que o modo somente leitura também impeça alterações de configuração, sincronização SSO e login.
Seria ótimo se tivéssemos algum tipo de modo somente leitura parcial, onde apenas postagens e ações de postagem fossem somente leitura.
No momento, a única coisa que consigo pensar é remover as permissões de postagem de todos os grupos de segurança de categoria, mas isso é um pouco “hacky” demais e requer armazená-las em outro lugar por enquanto.
Alguém tem alguma ideia sobre qual seria a melhor maneira de conseguir isso?
Provavelmente isso é território de plugins, mas ainda assim: qual seria a melhor abordagem?
Talvez tente o hook validate_post, adicione uma validação personalizada que retorne “no good” se a configuração do site a definir como somente leitura.
Usei NewPostManager.add_handler, parece que o evento :validate_post apenas notifica e não oferece a oportunidade de retornar um resultado e negar a postagem.
Para nossa comunidade, este plugin oferece um modo “Sabbath”. O objetivo é incentivar os membros da comunidade a aplicarem o que vivenciaram em nosso contexto online para servir amorosamente seus vizinhos em suas comunidades locais.
Os principais componentes por trás do que Richard desenvolveu são:
A capacidade de agendar horários rotineiros e ocasionais para desativar e reativar a postagem. Existe a capacidade de desativar a postagem para fins de semana (contínuo) e também para feriados importantes (ocasional).
A capacidade de sincronizar isso com um Banner Global personalizado para que não confundamos os participantes (“por que o site não está funcionando?!”). Em vez disso, podemos explicar claramente aos visitantes e membros por que a postagem está temporariamente desativada.
Quanto a outras atividades:
Desativar reações é congruente com a visão original, mas suponho que poderia ser uma caixa de seleção que os administradores poderiam alternar para expandir a versatilidade dessa configuração do site.
Não acho que este plugin afete nenhum outro plugin.
Novas contas podem ser criadas - apenas a postagem é desativada.
Funciona lindamente. Estou animado com a possibilidade de essa capacidade ser integrada ao roteiro.
@outofthebox Na verdade, o agendamento não faz parte deste plugin, esse é o plugin scheduled-readonly que funciona em conjunto com o plugin prevent-posting.
Fico feliz em saber disso, pois tenho experimentado a ideia de um modo de Sábado ou férias, pois posso querer que tiremos um tempo, especialmente se eu estiver administrando meu site Discourse junto com uma aula.
Acho que vou experimentar os dois plugins, obrigado!
EDIT: Acabei de testar isso e consegui fazer funcionar em um dos meus sites, mas quando fui editar o plugin para desativá-lo, ele disse que estava em modo somente leitura e eu não conseguia editar a configuração. Tentei clicar em “desativar modo somente leitura” em Admin > Backups, mas acho que o plugin estava substituindo a configuração.
Uma vez que o plugin está ativado e no período de tempo somente leitura, há alguma maneira de desativá-lo?
EDIT 2: Tive que reconstruir sem o plugin, pois ele travou e forçou o modo somente leitura mesmo após o término do tempo. Não sei se clicar manualmente no botão “desativar modo somente leitura” causou isso. Além disso, por algum motivo, o período de férias nem estava sendo ativado em outra instância do Discourse, então fico perplexo
Recentemente, adicionamos um modo “apenas a equipe escreve” - é um modo somente leitura que afeta apenas não-membros da equipe. Ele permite que a equipe faça login, poste, altere configurações, etc., enquanto outros usuários veem um site que está efetivamente em modo somente leitura.
Há alguma chance de implementar ADMIN_WRITES_ONLY_MODE_KEY para também impedir ações de moderação?
Tenho um cenário de uso onde coloco o fórum em modo somente leitura, realizo o backup e depois mantenho o fórum online e acessível para visualização enquanto o novo VPS está sendo reconstruído do zero, o backup é restaurado e então o IP é trocado para o novo servidor sem interrupções.
Quaisquer ações de moderação no servidor antigo após o backup/modo somente leitura seriam perdidas após a troca ao vivo se os moderadores estiverem isentos do modo parcialmente somente leitura.
Atualmente estou usando um modo totalmente somente leitura, mas é complicado porque também impede alterações de administradores usando a Interface Web.
Apenas um aviso para quem estiver testando o plugin de leitura programada, eu configurei um caso de teste para cerca de 2 minutos e fiquei confuso por que ele não estava desativando — descobri que ele só verifica a cada 5 minutos.