Mon cas d’usage : j’importe progressivement mon forum actuel. Dans un premier temps, nous devrons procéder à de nombreuses re-catégorisations, attribuer des badges aux membres, les affecter à des groupes d’utilisateurs, déplacer des publications, créer de nouveaux sujets d’aide, etc. Parallèlement, quelques utilisateurs sélectionnés seront invités à participer aux tests.
Durant cette période, je souhaite m’assurer qu’aucun utilisateur actuel ne reçoive d’e-mails de notification provenant d’un forum dont il ignore l’existence. Le paramètre « désactiver tous les e-mails » ne fonctionnera pas, car les utilisateurs de test doivent pouvoir demander un nouveau mot de passe pour se connecter.
J’ai déjà désactivé les résumés par e-mail et configuré le paramètre qui définit par défaut toutes les catégories sur « silencieux ».
Je veux m’assurer qu’aucun autre e-mail ou notification de quelque nature que ce soit ne soit envoyé, sauf lorsque les utilisateurs demandent spécifiquement un nouveau mot de passe.
Que puis-je faire pour garantir qu’aucun e-mail ne soit envoyé ? Est-ce suffisant ?
Vous souhaitez désactiver tous les utilisateurs. Ils pourront réactiver leur compte en réinitialisant leur mot de passe. Vous devriez pouvoir trouver un exemple de commande Rails pour cela en recherchant ici ou en consultant certains scripts d’importation.
Merci pour l’indication selon laquelle je dois les désactiver. J’ai trouvé un script que vous avez écrit dans un autre sujet ; cela devrait suffire, n’est-ce pas ?
cd /var/discourse
./launcher enter app
rails c
User.where(“last_seen_at < ‘2016-01-01’”).update_all(active: false)
exit
exit
Cela semble correct ! Vous voudrez peut-être désactiver tous les utilisateurs et permettre à vos quelques collaborateurs de réinitialiser leurs mots de passe, afin de vous assurer que vous n’envoyez pas de courriels aux mauvaises personnes et de voir comment ce processus fonctionne.
Mise à jour : merci beaucoup ! Je viens de l’exécuter,
j’ai d’abord vérifié dans le panneau d’administration quels utilisateurs seraient concernés ; pour l’instant, je devais uniquement activer mon propre compte. Ma dernière activité remontait à environ 50 jours (alors que j’avais été actif ces derniers jours), donc 50 jours a servi de point de coupure.
Comme je suis paresseux et que je ne voulais pas faire trop de calculs, j’ai adapté la date au 2020-01-01 et j’ai lancé le script,
et hop, 25 400 utilisateurs passés de « actif » à « inactif ».
Aussi : cela exclut discobot et l’utilisateur système, qui restent actifs (ce qui est logique et je suis ravi que ce soit programmé ainsi :)).