Tenho tentado descobrir como permitir que os usuários criem subfóruns que funcionem como canais do Slack.
Uma das sugestões foi usar tags. Assim, um usuário criaria uma tag (ou um aplicativo que eu desenvolveria faria isso através da API), e a página dessa tag funcionaria como a página do subfórum.
A questão, então, é como fazer com que apenas membros do subfórum possam postar nele. Em outras palavras, apenas membros desse subfórum teriam a tag do subfórum vinculada às suas postagens.
Existe alguma maneira de usar “campos personalizados de usuário” para alcançar isso? De alguma forma, para marcar um usuário como autorizado a postar com uma determinada tag?
Não entendo muito bem para que servem os campos personalizados de usuário, então espero compreender melhor.
Obrigado pelas respostas, pessoal. Concordo que as categorias parecem ser a maneira mais fácil de fazer isso. Mas, estes seriam subfóruns que os usuários poderiam criar em grande quantidade. Poderia haver centenas ou mais (os subfóruns são uma peça-chave do aplicativo, então crescerão conforme a base de usuários aumentar).
Fui informado de que criar centenas/milhares de categorias será um grande problema, então devo procurar outras soluções. Vocês têm outras sugestões? Estou disposto a construir um aplicativo separado que interaja com a API. O principal que quero do Discourse é a excelente funcionalidade de postagens/respostas/tags.
O que você deseja criar não é algo para o qual o Discourse foi projetado.
Você quer uma plataforma como Reddit/Discord, onde as pessoas possam entrar e criar subreddits/servidores que elas “possuem”, enquanto você mantém todo o controle e a monetização da plataforma.
O Discourse tem como objetivo ser exatamente o oposto, permitindo que cada subreddit/servidor/guilda seja seu próprio site, possua seus próprios dados e tenha sua própria URL.
Embora seja possível adaptar bastante um projeto de código aberto, recomendo usar outra solução que esteja mais próxima do que você deseja.
Agradeço que este não seja o caso de uso normal, mas eu definitivamente gostaria de encontrar uma maneira de fazer isso com o Discourse, dado o quão incrível ele é. E consigo chegar bem perto — crio uma tag com a API e envio os usuários para a página da tag, que funciona como uma página de subfórum. A peça chave que estou faltando é a capacidade de limitar os usuários que podem postar com essa tag.
O Discord não funcionaria para esses propósitos, devido às limitações que eles têm na integração com aplicativos. Não estou familiarizado com como poderia integrar o Reddit a um aplicativo.
Você está sugerindo que eu poderia realmente fazer isso funcionar com o Reddit, ou você só quis dizer que esse é o “tipo” de funcionalidade que tenho em mente?
De qualquer forma, o principal benefício do Discourse, na minha visão, é que ele é um fórum, não um chat. E é a funcionalidade semelhante a um fórum que eu quero aqui. Não vi alternativas ao Discourse que funcionariam nesse sentido, mas estou definitivamente aberto a sugestões.
Já vi esses tópicos. Uma diferença aqui é que estou disposto a desenvolver um aplicativo totalmente separado que, em seguida, interaja com a API do Discourse para proporcionar ao usuário a experiência de criar um subgrupo. Assim, posso criar o subgrupo eu mesmo no aplicativo separado, associar membros a ele, etc.
No entanto, gostaria de continuar usando a funcionalidade de postagem da interface do Discourse (criar tópicos, responder, vincular a categorias e adicionar tags, principalmente) na página do subfórum que meu aplicativo criou.
Fui informado de que existe uma maneira de vincular campos personalizados de usuários a tags, ou algo assim, para limitar as tags que um usuário pode postar.
Mas a esperança subjacente é o que mencionei: posso cuidar de grande parte da configuração do subfórum no lado do meu aplicativo, mas seria uma grande economia de tempo se ainda pudesse usar a funcionalidade de postagem do Discourse.
Agradeço todas as respostas. Alguém poderia fornecer alguns exemplos de como campos personalizados de usuário são normalmente utilizados?
Parece que eu poderia simplesmente adicionar um campo personalizado relacionado ao subfórum específico (digamos, ‘subforum123’) a cada usuário autorizado e, em seguida, quando um usuário acessar a página do subfórum, consultar a API para verificar se o usuário possui o campo personalizado necessário. Se sim, ele poderá postar lá. Se não, não poderá, e talvez eu apenas oculte os botões “novo tópico” e “responder”.
Talvez o que você queira fazer seja permitir que as pessoas criem seus próprios Discourse (por exemplo, usuario.seusite.com) que rodem em uma instalação multisite, com seu Discourse “principal” atuando como servidor SSO para o sub-site do usuário. Você poderia, teoricamente, criar um plugin que geraria um novo site Discourse em usuario.seusite.com sempre que um novo usuário fosse criado. Mas talvez nem todo usuário queira seu próprio subfórum; nesse caso, você teria… algo… que lhes permitisse criar seu sub-site.
Acho que isso já começa a se aproximar do que você está tentando fazer.
Isso está realmente se aproximando do que eu tinha em mente (os “subfóruns” foram o objetivo). Obrigado. Vou pesquisar mais sobre o multisite.
Eu teria pensado que permitir que os usuários criassem seus próprios subsites em uma estrutura multisite seria bastante mais intensivo em recursos do que, digamos, permitir que os usuários criassem suas próprias categorias. Um multisite funcionaria com centenas ou mais subsites? Estou me perguntando quanto impacto isso teria no servidor, ou talvez não seja muito mais impacto do que um site único muito ativo?
Sim, tenho conhecimento de pelo menos uma empresa que possui centenas ou mais sub-sites com pelo menos dois conjuntos diferentes de plugins, custando entre US$ 100 e US$ 300 por mês. Outras cobram US$ 20 por mês por site.
Caso não esteja claro, você está basicamente construindo uma empresa de hospedagem Discourse.
Você vai precisar de 4 a 16 GB de RAM para começar, digamos, para algumas dezenas de sites.
Para confirmar, você quer dizer que essa empresa paga US$ 100-300/mês para manter centenas de sub-sites? (Parece ser isso que você está dizendo — é um valor bem baixo para centenas de sub-sites)
Quero dizer que uma empresa (a que desenvolve o Discourse) cobra US$ 100–300 por site que você deseja criar. Outras cobram na ordem de US$ 20/mês; presumivelmente, elas estão lucrando bastante.
Provavelmente são pelo menos cem horas para resolver o problema que propus. Mas provavelmente mais.
EDIT: Mas talvez, se você quiser apenas um multisite único, consiga iniciá-lo em menos tempo que isso.