Eventos privados, internos ao grupo

Atualmente, as entradas de eventos são sempre parte do elemento de interface do calendário, que pode ser adicionado a uma categoria. Não há como restringir um evento a um grupo de usuários específico. Se você tiver uma configuração do Discourse com múltiplas comunidades, todas as comunidades verão todos os eventos de todas as outras comunidades. Se você exibir os eventos do Discourse externamente em um site por meio de uma chamada de API como

https://example.discourse.org/discourse-post-event/events.ics?user_api_key=[xxxxx]

serão exibidos TODOS os eventos.

Deveria haver uma opção para criar eventos “internos” que sejam exibidos apenas dentro de um grupo de usuários. Esses eventos não devem ser legíveis por meio da solicitação de API ICS “geral”. Em vez disso, eles devem estar disponíveis apenas com uma “chave de API de grupo” especial e adicional, ou com algum outro tipo de limitação segura. O caso de uso é uma seleção entre eventos “públicos” e eventos “privados”, que são visíveis e editáveis apenas dentro de um grupo de usuários específico.

1 curtida

Criar um usuário que pertença apenas ao grupo necessário e gerar a URL de assinatura do calendário a partir das preferências desse usuário funcionaria no seu caso? O feed incluiria apenas os eventos que esse usuário pode visualizar.

1 curtida

Hmmm, não tenho certeza. Parece uma solução alternativa, mas não exatamente uma “solução” :smiling_face_with_sunglasses:

Todas as pessoas dentro de um grupo específico da Comunidade devem ser capazes de criar eventos. E também vê-los quando acessam a categoria “dele/dela” da comunidade. Isso já funciona bem em nossa configuração atual com 5 comunidades diferentes. Usamos as seguintes permissões de categoria:

  1. uma categoria por grupo de comunidade. Esta tem “leitura global somente” e “leitura/criação/resposta da comunidade”. Esta categoria é federada via AP para permitir que pessoas sem contas no Discourse vejam os eventos e também para permitir a integração do calendário do Discourse em sistemas de terceiros (por exemplo, WordPress com plugin ICS)
  2. um número variável de subcategorias internas. Essas subcategorias têm apenas permissões de “leitura/criação/resposta da comunidade”. Elas ficam invisíveis sem as permissões de grupo adequadas.

As únicas lacunas são

  1. a solicitação ics atual apresenta TODOS os eventos
  2. alguma maneira de solicitar apenas os eventos de uma comunidade específica através de ICS/API.

Todos os eventos, ou todos os eventos aos quais o usuário cuja chave de API é utilizada tem acesso?

Como você imagina o processo de seleção de quais eventos devem ser incluídos na solicitação específica?

Boa observação.

Existem dois níveis de usuário para as chaves de API: “usuário único” ou “todos os usuários”. As chaves de API que atualmente utilizamos para a solicitação ICS têm o nível “todos os usuários”.

Portanto, para resolver isso, provavelmente precisaríamos de chaves de API com o nível “usuário único”. E o usuário selecionado deveria ter apenas o grupo de permissões de comunidades, nada mais.

Vou verificar isso. Talvez isso possa resolver o problema …

1 curtida