Eventi privati e interni al gruppo

Attualmente, le voci degli eventi fanno sempre parte dell’elemento UI del calendario, che può essere aggiunto a una categoria. Non esiste alcun modo per limitare un evento a un gruppo di utenti specifico. In un’installazione Discourse con più community, tutte le community visualizzano tutti gli eventi di tutte le altre community. Se si visualizzano gli eventi di Discourse in modo esterno su un sito web tramite una chiamata API come

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

verranno visualizzati TUTTI gli eventi.

Dovrebbe essere prevista un’opzione per creare eventi “interni” che vengano visualizzati solo all’interno di un gruppo di utenti. Questi eventi non dovrebbero essere leggibili tramite la richiesta ICS API “generale”. Invece, dovrebbero essere disponibili solo con una speciale “chiave API di gruppo” aggiuntiva o con qualche altro tipo di restrizione sicura. Il caso d’uso è una scelta tra eventi “pubblici” ed eventi “privati”, visibili e modificabili solo all’interno di un gruppo di utenti specifico.

1 Mi Piace

Funzionerebbe nel tuo caso creare un utente che appartenga solo al gruppo di cui hai bisogno e generare l’URL di sottoscrizione del calendario dalle preferenze di quell’utente? Il feed includerebbe solo gli eventi visibili da quell’utente.

1 Mi Piace

Mmm, non ne sono sicuro. Sembra più una soluzione temporanea che una vera e propria “soluzione” :smiling_face_with_sunglasses:

Tutte le persone all’interno di un gruppo specifico di una Community dovrebbero poter creare eventi. E anche vederli quando entrano nella categoria “della loro” community. Questo funziona già perfettamente nella nostra configurazione attuale con 5 community diverse. Utilizziamo le seguenti autorizzazioni per le categorie:

  1. una categoria per ogni gruppo di community. Questa ha “lettura globale in sola lettura” e “lettura/creazione/risposta per la community”. Questa categoria è federata tramite AP per consentire alle persone senza account Discourse di visualizzare gli eventi e anche per consentire l’integrazione del calendario di Discourse in sistemi di terze parti (ad esempio WordPress con il plugin ICS)
  2. un numero variabile di sotto-categorie interne. Queste sotto-categorie hanno solo le autorizzazioni “lettura/creazione/risposta per la community”. Sono invisibili senza le appropriate autorizzazioni di gruppo.

Gli unici punti deboli sono

  1. la richiesta ics attuale presenta TUTTI gli eventi
  2. un modo per richiedere solo gli eventi di una particolare community tramite ICS/API.

Tutti gli eventi, o tutti gli eventi a cui ha accesso l’utente la cui chiave API viene utilizzata?

Come immagini il processo di selezione degli eventi che devono essere inclusi nella specifica richiesta?

Ottima osservazione.

Per le chiavi API esistono due livelli di utente: “singolo utente” o “tutti gli utenti”. Le chiavi API che attualmente utilizziamo per la richiesta ICS hanno il livello “tutti gli utenti”.

Quindi, per risolvere questo problema, probabilmente avremmo bisogno di chiavi API con il livello “singolo utente”. E l’utente selezionato dovrebbe avere solo il gruppo di permessi delle community, nient’altro.

Controllo la cosa. Forse potrebbe risolvere il problema …

1 Mi Piace