Come aggiungere tutti i membri in un nuovo gruppo?

Ciao,

Vorrei aggiungere tutti i membri in un nuovo gruppo, ma quando provo a copiare e incollare un lungo elenco di nomi utente separati da una virgola, ricevo un errore.

Funziona quando provo a importare 100, ma ho 40.000 membri da aggiungere…

In passato era possibile importare fino a 10.000.

Qualche idea?

1 Mi Piace

Sì, non sono sicuro che l’aggiunta in blocco dell’interfaccia utente supporti migliaia di utenti. Penso che tu possa farlo creando un nuovo gruppo, quindi utilizzando la console Rails per aggiungere utenti con trust_level: 0 a quel gruppo. Se decidi di seguire questa strada, assicurati prima di eseguire un backup.

2 Mi Piace

Perché? Quale problema stai cercando di risolvere? Hai intenzione di rimuoverne alcuni in seguito? Perché non usare semplicemente trust_level_0 o trust_level_1? È probabile che, qualunque cosa tu stia cercando di fare, aggiungere tutti gli utenti a un gruppo non sia un buon modo per risolvere il problema.

Puoi farlo da rails. Penso che questo funzionerebbe.

group=Group.find_by_name('my_group')
User.all.each do |user|
  GroupUser.create!(user_id: user.id, group_id: group.id)
end

Ho scritto un plugin che potrebbe aiutare, anche se non è ben testato e qualcuno che ci ha provato ha avuto problemi. Se hai un budget o sei coraggioso, puoi contattarmi.

3 Mi Piace

Sì, uso semplicemente Trust_level_0 ogni volta che ho bisogno di rivolgermi a tutti i membri.

1 Mi Piace

Vorrei menzionare in un argomento (e notificare via email) tutti i membri. Funzionerà con il gruppo di livello Trust_level_0? Idealmente preferirei creare un nuovo gruppo per personalizzare il nome del gruppo.

Forse basta avere una categoria annunci e impostare tutti per monitorare quella categoria?

Puoi aggiungere tutti da rails come ho suggerito, ma questo non aggiungerà nuovi utenti.

Forse dai un’occhiata al plugin di automazione e all’appartenenza ai gruppi tramite badge. Sembra che tu possa creare un badge personalizzato che aggiunga gli utenti con quel badge al gruppo: Discourse Automation

3 Mi Piace

Se hai più di 100 utenti, dovrai modificare l’impostazione max users notified per group mention.

2 Mi Piace

ah sì, buon punto! grazie, me ne ero dimenticato :slight_smile:

1 Mi Piace

Il numero massimo di utenti che puoi aggiungere contemporaneamente al modulo Aggiungi utenti di un gruppo è 1000. Guardando il codice, sembra che dovresti ricevere un messaggio di errore simile a questo se tenti di aggiungerne di più:

“Non più di 1000 utenti possono essere aggiunti contemporaneamente.”

Deve esserci una sorta di limite, altrimenti Discourse rischia di generare un errore non gestito. Per aggirare il limite, mi piace l’approccio del Plugin di automazione che Jay ha suggerito.

2 Mi Piace

Perché non usare l’interfaccia incapsulata group.add(user)? Non ci sarebbero potenziali problemi con la manipolazione diretta di ActiveRecord in questo modo?

1 Mi Piace

Sono abbastanza sicuro che questa sia la soluzione migliore (e più semplice) per il caso d’uso di @kam44.

Ma è molto utile sapere come aggiungere persone a un gruppo dalla console Rails: questo tornerà utile per unire gruppi numerosi, cosa che ho dovuto fare in alcune occasioni!

2 Mi Piace

Perché no, in effetti? Non sono sicuro del perché non l’abbia visto quando ho cercato un po’ di tempo fa.

Non è pericoloso chiamare cose di active record. Impone le regole di cui ha bisogno.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.