Badge & Comunità private

Comprendo dalle precedenti discussioni all’inizio del 2017 che i badge non funzionano per i gruppi con restrizioni.

Stiamo cercando di capire se esiste un modo per aggirare questa limitazione; ecco un breve contesto.

Il nostro gruppo è accessibile al 99,9% solo a coloro che hanno il ruolo di “Membri”. Abbiamo alcuni gruppi aperti a tutti per discussioni pubbliche o per aiuto/supporto. Essendo un gruppo a pagamento, sarebbe fantastico poter riconoscere l’attività all’interno di questi gruppi privati, dato che dei nostri 1,3+ milioni di post, la maggior parte si trova all’interno di tali raggruppamenti.

Esiste una soluzione alternativa o una configurazione che possa permettere ciò?

4 Mi Piace

Il motivo è che tutti i badge che fanno riferimento ai post eseguono le loro query sulla tabella badge_posts. Questa tabella include solo i post presenti in categorie accessibili a tutti gli utenti.

Sì, capisco come questo possa essere un problema. Una possibile soluzione alternativa sarebbe riscrivere le query dei badge per il tuo sito in modo che utilizzino la tabella posts invece di badge_posts. Questo causerebbe un problema per gli utenti che non hanno accesso alle categorie protette del tuo sito se tentassero di visualizzare i post associati ai badge dei tuoi utenti, ma sembra che ciò non influirebbe su molti utenti del tuo sito. Forse esistono altri modi per gestire la situazione.

7 Mi Piace

Onestamente, per i nostri scopi, penso che sarebbe assolutamente accettabile.

È qualcosa di semplice? O potrebbe diventare problematico nel lungo termine?

1 Mi Piace

Modificare le query dei badge sul tuo sito per utilizzare la tabella posts invece della tabella badge_posts sarebbe abbastanza semplice. Tuttavia, una soluzione corretta del problema potrebbe richiedere un cambiamento più ampio. Ad esempio, non vorresti che i badge venissero assegnati per i post nella tua categoria dello staff o per qualsiasi altra categoria in cui vi sia il rischio di rivelare il titolo di un argomento.

Mi chiedo se sia possibile aggiungere una nuova vista Postgres tramite un plugin per i siti con una configurazione simile alla tua. Tale vista potrebbe poi essere sostituita nelle query dei badge al posto della vista badge_posts.

4 Mi Piace

Ok, mi piace questa teoria.

Se quella via fosse un’opzione, quella vista potrebbe includere solo post di gruppi pubblici? Come quelli che abbiamo ora, più eventuali gruppi visibili a un gruppo specifico? Nel nostro caso, “Membri”.

Sarebbe la soluzione definitiva per i gruppi con membership!

2 Mi Piace

Vediamo cosa pensano gli ingegneri di Discourse di questo tipo di approccio, o se hanno altri suggerimenti. Non è la prima volta che viene segnalato il problema. Sarebbe utile trovare una soluzione generale, ma una soluzione efficace per molti siti potrebbe essere più complessa di quanto io stia suggerendo.

4 Mi Piace

Non sono un fan della sostituzione della vista.

Il mio consiglio qui, @Mitchelsellers, è di iniziare in piccolo. Assegna i badge senza riconoscere post specifici.

[ha creato venti post super apprezzati come membro] (titolo da definire) è un buon punto di partenza.

In sostanza, crea un modo personalizzato di riconoscimento con query personalizzate.

Aggiungere controlli delle autorizzazioni in tutti i punti in cui colleghiamo i badge ai post è complicato; sconsiglio di seguire questa strada.

Inizia in piccolo e in modo semplice.

5 Mi Piace

Penso che sarebbe assolutamente accettabile anche per noi.

Hai qualche buon consiglio su come farlo?

1 Mi Piace

Immagino che lo step 0 qui consista nel delineare in inglese quali badge desideri, i nomi dei badge e la definizione concettuale.

3 Mi Piace

Ok, ci mettiamo subito al lavoro!

1 Mi Piace

Ho esaminato le query per i badge esistenti per capire quali mirano ai post nella tabella badge_posts o utilizzano altri metodi per escludere i post delle categorie protette.

Le seguenti query per i badge mirano a post specifici e non verranno assegnate per attività nelle categorie private:

  • Editor
  • Primo Segnalazione
  • Primo Mi piace
  • Primo Link
  • Primo Citazione
  • Primo Condivisione
  • Primo Emoji
  • Primo Menzione
  • Primo Onebox
  • Prima Risposta via Email
  • Lettore
  • Editore Wiki
  • Grande Condivisione
  • Buona Condivisione
  • Helpdesk
  • Bella Condivisione
  • Benvenuto
  • Link Famoso
  • Grande Risposta
  • Grande Argomento
  • Buona Risposta
  • Buon Argomento
  • Link Caldo
  • Bella Risposta
  • Buon Argomento
  • Link Popolare

Le seguenti badge non interrogano post specifici e verranno assegnate per attività nelle categorie private:

  • Licenziato
  • Autobiografo
  • Certificato
  • Nuovo Utente del Mese
  • Lettura delle Linee Guida
  • Ammirato
  • Campione
  • Pazzo d’Amore
  • Devoto
  • Empatico
  • Aficionado
  • Anniversario
  • Campagna
  • Dona
  • Amore Superiore
  • Rispettato
  • Apprezzato
  • Entusiasta
  • Fuori per Amore
  • Promotore
  • Grazie
  • Leader
  • Regolare
  • Base
  • Membro
  • Staff
  • Immagine del Profilo

Qualcosa di simile è già coperto dai badge Apprezzato (1 like su 20 post) e Rispettato (2 like su 100 post). Potrebbero essere aggiunte alcune varianti di queste query. Ad esempio, 10 like su 20 post. Un badge concesso per argomenti super apprezzati potrebbe essere un’ottima idea: funzionerebbe come l’equivalente del badge Grandi Argomenti. Ad esempio, potrebbe essere assegnato quando un utente ha creato 10 argomenti che hanno ricevuto 10 like.

Non sono sicuro che abbia senso aggiungere un badge assegnato per attività su un singolo post o argomento che non colleghi al post. Ad esempio, potrebbe essere creato un badge Primo Mi piace alternativo con il seguente SQL:

SELECT pa1.user_id, pa1.created_at granted_at
FROM (
  SELECT pa.user_id, min(pa.id) id
  FROM post_actions pa
  JOIN posts p on p.id = pa.post_id
  WHERE post_action_type_id = 2
  GROUP BY pa.user_id
) x
JOIN post_actions pa1 on pa1.id = x.id

Affinché la query funzioni, deve utilizzare il trigger “Aggiorna ogni giorno” invece della query “Quando un utente agisce su un post”. Nella pagina dei badge, verranno mostrati gli utenti a cui è stato assegnato il badge insieme all’orario di assegnazione. Non ci sarà un link al post per cui è stato assegnato il badge:

Ha senso questo tipo di approccio per i siti che hanno principalmente categorie protette? Se sì, potrebbe essere utilizzato per duplicare alcune delle query che attualmente mirano alla tabella badge_posts.

4 Mi Piace

Penso che questo sia un ottimo passo!

Volevo solo fare un follow-up su questo.

Hai qualche pensiero sull’implementazione di una cosa del genere?

Grazie per avermi ricordato questo! Inizierò a raccogliere un elenco di badge che ritengo utili e che non espongono post di categorie protette.

2 Mi Piace

Abbiamo avviato il nostro forum con l’impostazione login richiesto e recentemente abbiamo aggiunto alcune categorie pubbliche, limitando l’accesso alle categorie esistenti solo ai livelli di fiducia 0.

Quindi, per gli utenti esistenti, nulla è cambiato nel modo in cui accedono al forum, ma tutti i badge elencati sopra sono stati revocati. Non abbiamo un forum molto grande, ma dalle risposte ricevute dagli utenti è chiaro che il sistema dei badge sembra completamente rotto. Con questa configurazione, praticamente devo disattivarlo.

Penso che dovrebbe essere comunicato in modo più chiaro da qualche parte nelle impostazioni che i badge esistenti verranno revocati quando si sceglie di limitare l’accesso alle categorie. Per noi, è arrivato completamente a sorpresa.

Più in generale, non capisco le priorità. Sia i permessi delle categorie che il sistema dei badge sono presentati come funzionalità centrali di Discourse. Tuttavia, è difficile utilizzarli insieme così come sono. Il vantaggio di avere i badge solo sui post generalmente accessibili sembra essere che altri utenti possano vedere per quale post è stato assegnato un badge? A me non sembra una funzionalità così importante in confronto. Perché non rimuovere piuttosto questi link visibili e mostrare i post correlati a ciascun utente solo nei propri badge?

3 Mi Piace

[quote=“simon, post:12, topic:157300”]I badge seguenti interrogano post specifici e non verranno assegnati per attività in categorie private

[/quote]

ahia! OK, questo significa praticamente che l’intera infrastruttura dei badge è piuttosto inutile in una community con molti spazi privati…

[quote=“manuel, post:17, topic:157300”]Sia le autorizzazioni di categoria che il sistema dei badge sono comunicati come funzionalità centrali di Discourse. Ma difficilmente puoi usarli insieme così come sono.

[/quote]

concordo.

Esiste qualche tipo di plugin o nuove impostazioni (negli ultimi sei anni) per rendere i badge utilizzabili in una community prevalentemente privata?

2 Mi Piace

Sono favorevole al miglioramento del modo in cui questo funziona “out of the box”.

Sebbene questo argomento sia rimasto in sordina per molti anni, ho sentito persone chiedere modifiche simili altrove.

Si tratta solo di definire quale modifica specifica sia necessaria e di capire dove si colloca tra le altre priorità.

3 Mi Piace

:flexed_biceps:

Questo sembra essere correlato a quanto è emerso in un altro argomento riguardo alla facilitazione dell’orientamento dei membri della comunità tra spazi aperti (pubblici) e chiusi (vari gradi di «privato»), inclusi i messaggi personali.

Gestire la natura semi-pubblica del web e le audience semi-sovrapposte è una sfida importante nel mondo sociale online. Non è intuitivo. La maggior parte delle comunità si dibatterà su come assicurarsi che le persone comprendano quanto siano pubbliche/private le diverse parti di essa. Potrebbe avere senso che Discourse assuma che questo mix di pubblico e privato/i sarà l’impostazione predefinita per la maggior parte delle comunità e veda come può facilitare la navigazione per i membri della comunità?

1 Mi Piace

Sono nuovo in questa conversazione, anche se penso che un interruttore nelle Impostazioni Badge sarebbe la soluzione più semplice. Lasciarlo disattivato per impostazione predefinita, spuntarlo per interrogare tutte le bacheche (incluse quelle private) per i badge di coinvolgimento.

Se viene lasciato aperto per un aggancio che un plugin/componente potrebbe utilizzare, se ne potrebbe aggiungere uno in seguito per dare un permesso per categoria affinché i badge vengano conteggiati lì.

2 Mi Piace

Penso che il problema con i badge che attualmente vengono concessi solo nelle categorie pubbliche sia che fanno riferimento al post nell’argomento per cui sono stati concessi, e non vorresti che fosse pubblico se l’argomento è privato.

Quindi, la parte in cui il post è collegato in quel badge dovrebbe essere rimossa da tutti questi badge predefiniti.

3 Mi Piace