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?
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
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.
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.
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!
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…
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.
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:
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.