Réactivez la fonctionnalité Digest pour les utilisateurs qui ont été supprimés

Nous avons une instance qui, pour certains, n’est pas beaucoup utilisée, sauf si quelque chose de très important se produit. Après x jours (selon le réglage dans l’interface d’administration, par défaut 180), leur résumé par e-mail est supprimé. Mais lorsqu’un événement décennal se produit, ils manquent des discussions importantes qui leur sont soudainement pertinentes.

Nous ne voulons pas leur envoyer d’e-mails directement. Existe-t-il un moyen de réactiver les résumés pour eux via l’administration dans ce cas d’utilisation ? Soit pour tous, soit idéalement de manière sélective, filtrée par le groupe auquel ils appartiennent. Ou même individuellement.

S’il n’existe pas une telle méthode, ce serait formidable de l’avoir !

Alors, quelque chose comme lorsqu’il y a un nouveau sujet (par exemple, sur l’événement), dans la catégorie x, et qu’ils sont dans le groupe y, envoyer un résumé par e-mail ?

Oui, c’est l’idée générale. Pour l’instant, je ne peux imaginer qu’une solution de contournement où l’utilisateur est usurpé et réactivé. Mais ce n’est pas idéal.

Dans notre cas d’utilisation, quelque chose de polarisant s’est produit au sein de notre communauté. Nous avons de nombreux membres silencieux qui trouveraient des informations à ce sujet utiles pour qu’ils puissent prendre leurs propres décisions dans le monde réel.

En tant qu’administrateurs, nous ne voulons pas remuer le couteau dans la plaie en envoyant des messages directs (car cela antagoniserait les protagonistes). Mais recevoir à nouveau des résumés serait un moyen parfait de les faire revenir dans la conversation. L’idéal serait que moi, en tant qu’administrateur, sélectionne tous les membres d’un groupe et que tous leurs déclencheurs de résumé soient réinitialisés.

1 « J'aime »

Vous pouvez le faire dans Rails, quelque chose comme

group=Group.find_by_name('mygroup')
group_users=GroupUser.where(group_id: group.id)
group_users.each do |gu|
   u = User.find(gu.user_id)
   op=UserOption.where(user_id: u.id)
   op.email_digests = true
   op.digest_after_minutes = ???
   op.save
end

Le code ci-dessus a été généré par un humain, qui a peut-être halluciné. Utilisez-le à vos propres risques.

5 « J'aime »