Solicitando acesso a uma categoria privada

I have a private category on my Discourse site. By “private”, I mean only members of certain groups have access to the category. My boss wants the private category displayed to all users so that they can “yearn” (his word) to have access to it. Since the category won’t show up for people who are not in the special groups, I created a link to the category using the Admin Stylesheet and Header functions.

When “everyone” people click on the link to the private category, they see the 404 page that says “The page you requested doesn’t exist or is private.”

I would like “everyone” to be able to request an upgrade to their group membership via an easy-to-find link on that page. Can I add a link, or at least text, guiding them to send a Mod a private message? Or is there a more elegant solution?

7 curtidas

I don’t think there’s any way to do this now, so I changed it to the “feature” category.

This would be a nice competition to features included with tools like Google Groups, private email lists, etc.:

  • Option whether or not to list existence of private group/category publicly
  • Option whether or not to allow users to request to be added
3 curtidas

Out of curiousity, what page do you get if you click
https://meta.discourse.org/category/lounge

How does it make you feel, do you yearn or resent?

[quote=“Mittineague, post:3, topic:21135”]
Out of curiousity, what page do you get if you click
https://meta.discourse.org/category/lounge%5B/quote%5D
Here’s a screenshot:

I would say it depends on the context. In this case, it looks like something’s broken; I move on.

In the case I describe, we just want people to know the other category exists and that they can ask to have access.

1 curtida

I’ve put together a plugin to address this. It’s not pretty but it does the job for the time being. Comments and PRs are super-welcome.

https://github.com/rilla/discourse-show-private-categories

5 curtidas

I don’t think the lounge should be a “requestable” private category, as it is tied to Trust Level, and its security cannot be modified. To grant someone access to the Lounge, you would need to make them TL3. Besides, the lounge does not have read permissions for anyone else, so either you see it and have full access, or you don’t see it at all. Also, there is no permission to show categories in category view, but not have permission to click through to them - does your plugin create this “view”?

Ok, I understand your concerns perfectly. The plugin is still super green, but also the README can be misleading. In my production instance we don’t use the Staff or Lounge, or any other category with automatically managed permissions, so the technique (i.e. ugly hack) I’m using to show read-limited categories in the list doesn’t care about discriminating ones from the others.

So, yes: the Staff and Lounge categories will be shown and the plugin will pointlessly allow the user to request access to it. I intend to improve this in the future and I encourage you to open an issue in the repo so I don’t forget :wink:

Regarding your other question, the categories are shown but the link is removed, so you can’t click through to the topic list view for that category.

So nope: I’m not providing any new view. Instead of that, the plugin render a box encouraging the user to request access. This button just launches the private message composer pre-filled with some placeholder text.

Hope that makes sense. Thanks for your comments!

4 curtidas

I would like something like this, but with the ability to customize the text. For some private categories in my system, users can’t request access at all – but I’d like them to be visible.

3 curtidas

Did you find a solution for this @alehandrof?

Nope. We plan to list the groups on our site so that there’s a definitive list somewhere.

Eu gostaria de poder vincular minhas categorias privadas e as pessoas poderem ver uma mensagem que escrevi sobre como ingressar na categoria em vez de uma mensagem de erro estranha!

2 curtidas

Dê uma olhada em

3 curtidas

Este Plugin pode funcionar se auto-hospedado

Altere a URL para a URL para enviar uma mensagem aos proprietários do grupo solicitando acesso.

Caso contrário, um tópico com descrições de Categoria privadas e um link para proprietários de mensagens solicitando acesso

1 curtida

Já analisei ambas as soluções e elas não são bem o que estou procurando.

Eu só quero que a página de categoria padrão diga algo como “Você não tem acesso a esta categoria” e talvez me permita personalizar o que diz, em vez de ter que recriar páginas de categoria que não existem ou abrir todos os tópicos…

1 curtida

Você pode então precisar considerar postar em Marketplace se tiver um orçamento para ver o que pode ser realizado para atender aos seus requisitos.

Isso deve ser possível alterar o texto para isso, não tenho certeza de como isso pode ser feito, mas acredito que a maioria de todos os alertas de texto padrão podem ser editados.

Seria bom ter algo mais profissional do que a página “Oops! Essa página não existe ou é privada”, especialmente porque ninguém saberá se a página existe ou não com base nisso.

O texto padrão pode ser alterado, mas tenho certeza de que ele usa a página 404 padrão, que não faria sentido editar neste contexto.

1 curtida

Você poderia ativar a configuração do site detailed-404, acredito que se aplica a categorias também acabei de verificar, não se aplica a categorias, apenas a tópicos, infelizmente:

3 curtidas

Além de postar isso na página inicial, o objetivo é que, se alguém clicar no link do tópico em uma categoria restrita, o aviso informará como obter acesso a ela? Não tenho certeza se o aviso detalhado de 404 existente funcionaria para isso ou como isso funciona, então, se isso não funcionar, você pode precisar de um novo recurso.

Você também pode usar uma plataforma diferente como o Patreon em vez disso, se isso for para um paywall para assinantes que funcione para isso e possa ser integrado ao Discourse.

Eu só acho que um erro 404 é a coisa errada a mostrar. Parece que houve um link quebrado ou um problema em algum lugar. Não há indicação de que o link possa funcionar se eles tivessem níveis de acesso diferentes.