Gostaria de executar uma única instância do Discourse para um programa universitário, onde diferentes categorias de nível superior correspondem a diferentes cursos e onde o acesso é gerenciado por grupos. Para que os instrutores e alunos do curso possam ter uma impressão coesa de um curso, gostaria de fornecer uma sensação de isolamento dos diferentes cursos. Portanto, gostaria que minha instância oferecesse uma experiência de navegação semelhante a Teams/Slack/Mattermost, onde existem equipes relativamente isoladas e os usuários precisam alternar de uma para outra. Para minha instância, isso significaria que a interface do usuário enfatiza os dados relacionados ao curso atualmente selecionado. Assim, por exemplo, os usuários passam a maior parte do tempo em uma das categorias de nível superior, e a seleção de uma delas filtra as subcategorias e os canais de chat que eles podem ver facilmente.
Uma necessidade semelhante surge em uma instância onde diferentes categorias correspondem a diferentes grupos de pesquisa (gostaria de executar uma assim também).
Quais são as ferramentas existentes que podem ajudar a alcançar isso?
Caso de uso interessante! Uma solução possível é simplesmente silenciar categorias que não são relacionadas, para que elas não apareçam nas listas de tópicos.
Na verdade, não quero que eles sejam silenciados: um aluno provavelmente fará vários cursos ao mesmo tempo, e as notificações de todos são aceitáveis. Na verdade, quero dar uma impressão mais clara de “agora estou olhando para o curso X”.
Parece que grupo primário = página inicial selecionada, não? Você precisa habilitar user_selected_primary_groups para que os usuários possam alterar seu grupo primário na página de preferências de suas contas.
Otimamente, eu gostaria de algo mais efêmero e menos visível publicamente. No entanto, imagino que se eu não usar o título e o flair, um componente de UI que alterne o grupo principal funcionaria como um seletor de equipe.
Algo como o seletor extra da barra lateral que estava em execução aqui como um experimento há alguns dias seria bom para isso.
Você poderia fazer isso. Você também poderia mudar o logotipo do site dependendo do grupo primário deles; eu fiz isso para um site que tem várias universidades compartilhando uma instância. Talvez você pudesse ter um componente de tema com um menu suspenso na barra superior que permitiria a eles selecionar seu grupo primário (e talvez dizer “classe” em vez de “grupo”).
@Anton_Akhmerov você pretende fazer isso sozinho ou estaria disposto a pagar alguém para fazer isso por você? Me avise!
Se você quiser fazer sozinho, gostaria de mover isso para Dev para que você possa trabalhar nisso lá e reportar para a comunidade e obter feedback de outros membros. Vamos mover isso para Dev.
Se você quiser pagar alguém, eu o moverei para Marketplace.
Acho que o melhor seria mover isso para Community e discutir mais sobre seu caso de uso, como melhor atender às suas necessidades hoje e abrir espaço para que outras pessoas que possam ter tido necessidades semelhantes as tenham resolvido.
Em seguida, se houver lacunas específicas no produto identificadas que você considere importantes o suficiente para construir você mesmo ou defender, podemos criar tópicos separados em Feature e/ou Dev para essas ideias.
Isso parece alinhado com o seu pensamento aqui? Ou você já está na fase de “Estou pronto para construir as peças que faltam”?
#comunidade também faz sentido . O recurso parece complicado e parece estar um tanto alinhado com as necessidades da comunidade, considerando a popularidade de solicitações como esta
Eu pretendo trabalhar nisso, mas até agora meu plano é bastante vago.
Como acompanhamento, veja como imagino que melhor atenderei às suas necessidades com os recursos prontos do Discourse. Pode não ser exatamente o que você tem em mente, mas acho que vale a pena considerar como ponto de partida para discussão.
Primeiro, estou fazendo algumas suposições, que podem ou não ser válidas. Por favor, me diga onde estou errando:
Haverá muitos cursos (dezenas, possivelmente centenas)
A configuração dos cursos ocorrerá periodicamente, em lotes consideráveis, no início de cada semestre (2-4 vezes por ano)
Os cursos terão um fim de vida
As pessoas que gerenciam cursos precisam ter alguma capacidade de configurá-los por conta própria
As pessoas que gerenciam cursos terão pouca ou nenhuma experiência em gerenciar um site Discourse.
As pessoas que gerenciam cursos realmente só precisam ver os seus. Elas podem querer ver outros ocasionalmente como exemplos, mas não precisam de participação contínua neles.
^ o mesmo para as pessoas que fazem os cursos
Existe uma equipe muito pequena gerenciando o sistema como um todo
Os cursos não precisam realmente de subcategorias; usar tags para organizar o conteúdo dentro dos cursos seria suficiente
Considerando que essas premissas estejam próximas, aqui está o que eu sugeriria, primeiro em um nível geral:
Crie um pequeno número de categorias de nível superior: uma para “Cursos Atuais”, uma para “Cursos Passados”, uma para “Cursos Futuros” e uma ou mais para coisas mais gerais sobre o próprio sistema (por exemplo, como usar o site)
Defina o estilo da página inicial como “caixas com categorias” para que elas sejam exibidas de forma proeminente
Use subcategorias para cada curso
Crie-as em “Cursos Futuros”
Mova-as para “Cursos Atuais” quando o semestre começar
Quando um curso for concluído, mova-o de “Cursos Atuais” para “Cursos Passados”
Controle o acesso aos Cursos usando Grupos (mais detalhes abaixo)
Controle de acesso:
Para cada curso, crie um conjunto de grupos a seguir, por exemplo: foo_interessado, foo_inscrito, foo_admin
Crie dois grupos adicionais: “navegar_cursos” e “navegar_cursos_passados”
Defina as categorias em “Cursos Futuros” e “Cursos Atuais” para serem acessíveis apenas para pessoas nos grupos do curso específico e pessoas no grupo “navegar_cursos”.
Defina as categorias em “Cursos Passados” para serem acessíveis apenas para pessoas nos grupos do curso específico e pessoas no grupo “navegar_cursos_passados”.
Experiência do usuário para grupos e cursos
Tenha um tópico fixado na categoria de nível superior para “Cursos Futuros” que explique como navegar pelos cursos, com um meio fácil para as pessoas entrarem no grupo “navegar_cursos”.
^ o mesmo para “Cursos Atuais”
^ o mesmo para “Cursos Passados”
Para cursos individuais, tenha um tópico fixado na categoria explicando como ingressar no Curso:
Entre no grupo “foo_interessado” e/ou “foo_inscrito”
Adicione o curso à sua barra lateral
A administração será um pouco trabalhosa no início, pois para cada novo curso alguém com privilégios apropriados precisará:
Criar a categoria
Criar os grupos
Criar o tópico fixado
Adicionar as pessoas ao grupo _admins
Fornecer a documentação necessária para gerenciar seu próprio curso
Parte disso poderia ser automatizada com algumas ferramentas leves. Dependendo de quem é a equipe principal de administração, pode fazer sentido começar com algo fora da banda que apenas acesse a API. Ou talvez você precise de algo mais baseado em UI que seja integrado ao Discourse como um componente de tema ou plugin. Mas eu sugiro começar de forma enxuta aqui, e focar primeiro em definir um processo que funcione, e depois projetar as ferramentas em torno disso.
A escalabilidade de categorias é uma preocupação possível aqui. O Discourse tem algumas arestas de desempenho e UX quando o número de categorias fica muito grande (centenas ou milhares). Usuários com acesso a mais categorias sentirão o impacto disso, enquanto aqueles com acesso limitado não sentirão. Essa é parte da motivação para limitar o acesso às categorias, como descrevi.
Estou muito interessado em ouvir todos os comentários ou perguntas que você tiver sobre o acima.