Gestion des adhésions annulées

J’utilise l’authentification unique (SSO) de WordPress pour autoriser les personnes ayant acheté un abonnement (j’ai implémenté une logique personnalisée dans WordPress pour déterminer s’ils sont membres). Tout fonctionne bien, mais je me demande comment gérer les membres dont l’abonnement a été résilié.

Évidemment, la résiliation de leur abonnement signifie qu’ils ne peuvent plus se connecter. Malheureusement, je dois toujours les déconnecter manuellement lorsqu’ils annulent, au cas où ils continueraient à accéder au forum et à maintenir leur session active (faire quoi que ce soit manuellement était quelque chose que je pensais avoir laissé derrière moi en passant de mon groupe Facebook).

Mais j’ai deux autres problèmes à l’esprit :

  • Que deviennent les sujets et les messages qu’ils ont publiés sur le forum ? Je souhaite qu’ils restent, ce qui signifie probablement que je ne peux pas supprimer l’utilisateur.
  • Je veux m’assurer que les e-mails de résumé ne sont pas envoyés aux membres dont l’abonnement a été résilié. Discourse ignore complètement que le compte a été résilié tant que je ne fais pas « quelque chose ». Qu’est-ce que c’est, étant donné que je ne souhaite pas supprimer leur contenu ?

Tout cela est-il résolu par la suppression d’utilisateur et quelles sont les meilleures pratiques pour automatiser cela ? Je suppose qu’il faut une forme de code personnalisé, mais je vérifie au cas où je pourrais l’éviter.

Merci.

Vous pouvez les anonymiser. De cette façon, les informations sont conservées, mais pas l’utilisateur.

Une autre option consiste à mettre en œuvre une logique personnalisée : au lieu de créer un utilisateur, ajoutez-le à un nouveau groupe. Ainsi, les résumés ne seront accessibles qu’aux personnes ayant accès à la catégorie.

Une autre possibilité est d’exécuter une sorte de tâche planifiée (cronjob) qui force la déconnexion (ou la suppression du compte) de tous les utilisateurs dont l’abonnement a été résilié.

Merci, @marianord. Je crains de ne pas tout à fait comprendre le deuxième paragraphe. Quand vous dites « au lieu de créer l’utilisateur », à quel stade du cycle de vie de l’utilisateur faites-vous référence ? J’ai probablement manqué un point évident, mais je ne suis pas clair sur la suggestion. Pourriez-vous préciser ?

Par ailleurs, je vais examiner la fonction d’anonymisation, mais j’ai quelques questions à ce sujet.

  • Comment leur contenu s’affichera-t-il en ce qui concerne le nom d’utilisateur affiché à côté de leurs publications ?
  • Si je réussis à les faire réabonner à mon adhésion (même adresse e-mail, etc.), cela annulera-t-il l’anonymisation, c’est-à-dire que leurs anciennes publications réapparaîtront-elles avec leur nom d’utilisateur ?

Merci encore.

Au fait, ma plus grande préoccupation dans tout cela concerne l’e-mail de résumé, car c’est une fonctionnalité destinée aux utilisateurs (envoi d’e-mails). Je suppose qu’une autre option consiste à modifier manuellement leur configuration de résumé pour qu’ils ne reçoivent jamais ces e-mails, n’est-ce pas (bien que cela implique encore une étape manuelle et qu’on espère pouvoir le faire via une API à l’avenir).

Si cela est réalisable, alors je n’ai techniquement rien à faire avec l’utilisateur. Ils peuvent rester des utilisateurs valides dans Discourse, les e-mails cesseront (voir ci-dessus), mais ils ne pourront plus se connecter.

Peut-être que cela fonctionne. Qu’en pensez-vous ?

La suspension de l’utilisateur via l’API Discourse pourrait être une bonne façon d’automatiser cela. Lorsqu’un utilisateur est suspendu, il est déconnecté de Discourse et ne recevra plus les courriels de résumé. Si un message est fourni lors de la suspension de l’utilisateur, ce message sera envoyé par courriel à l’utilisateur. Cela pourrait être utilisé pour les encourager à renouveler leur adhésion.

Il faut noter que la suspension a été conçue pour gérer les utilisateurs difficiles, et non pour gérer le cas d’une adhésion expirée qui pourrait être renouvelée à l’avenir. Vous pourriez avoir besoin de personnaliser le texte user_notifications.account_suspended.text_body_template de votre site pour adapter le modèle du courriel envoyé aux utilisateurs suspendus.

Les publications créées par un utilisateur anonymisé ressemblent à ceci :

Il n’existe pas de méthode simple pour révoquer l’anonymisation d’un utilisateur. La seule approche que je connaisse consiste à fusionner l’utilisateur anonyme avec un nouvel utilisateur depuis la console Rails. Puisque l’anonymisation d’un utilisateur supprime toutes les données d’identification, il pourrait être difficile de savoir quels comptes fusionner. S’il y a une possibilité que les utilisateurs renouvellent leurs adhésions, suspendre l’utilisateur est probablement une meilleure approche.

Merci, @simon, c’est très utile.

Oui, d’après ce que vous dites, la suspension semble être la bonne approche ici. Mais j’ai une question concernant les e-mails envoyés. J’ai des e-mails basés sur le CRM qui sont envoyés lorsque des personnes annulent, donc je ne veux pas que Discourse envoie quoi que ce soit.

Vous mentionnez : « Si un message est fourni lorsque l’utilisateur est suspendu, ce message sera envoyé par e-mail à l’utilisateur. »

Si je ne fournis PAS de message, cela signifie-t-il que rien n’est envoyé et que je n’ai pas besoin de m’inquiéter de mettre à jour le modèle (puisque cela ne sera jamais envoyé) ?

En me concentrant uniquement sur la suspension, je suis peut-être un peu confus quant à l’utilisation des champs « Motif de suspension » et « E-mail ».

Mon objectif est simplement de suspendre l’utilisateur et de ne rien faire d’autre :slight_smile:

Merci encore.

C’est exact. Le moyen le plus simple de le tester est de créer un utilisateur avec une adresse e-mail jetable et d’essayer de le suspendre et de le réactiver via l’interface utilisateur.

Lorsqu’un utilisateur est suspendu, un suspended_until et un reason doivent être définis. Ces champs sont affichés à un utilisateur suspendu lorsqu’il tente de se connecter au site. Vous pouvez personnaliser ce texte en recherchant login.suspended_with_reason sur votre page Admin / Personnaliser / Texte.

Sauf si vous activez le paramètre du site hide suspension reasons, un avertissement indiquant que l’utilisateur a été suspendu sera affiché sur la carte de l’utilisateur et sur la page de profil de l’utilisateur suspendu. Si vous activez le paramètre du site hide suspension reasons, l’avertissement ne sera visible que par le personnel.