Lorsqu'un utilisateur mis en scène existant rejoint mon site, les données des champs personnalisés de l'utilisateur remplis ne sont pas enregistrées

J’ai des utilisateurs potentiels qui ont du mal à s’inscrire. Ils contactent les modérateurs par e-mail pour obtenir de l’aide et créent ainsi un compte utilisateur temporaire.

Généralement, le problème est facilement résolu, ils s’inscrivent et remplissent tous les champs. Notamment, nous avons plusieurs champs personnalisés obligatoires pour les utilisateurs (UCF).

J’ai remarqué que les données des UCF ne sont jamais enregistrées dans la base de données pour ces utilisateurs temporaires. Ils doivent ensuite être relancés et gérés manuellement.

Je peux contourner cela en faisant en sorte qu’un Assistant personnalisé collecte les données à la place, mais le problème / bug sous-jacent devrait probablement être corrigé.

5 « J'aime »

Je suis capable de reproduire ce bug et je pense que nous devrions le corriger.

  1. créer un groupe qui accepte les e-mails de n’importe quelle adresse e-mail
  2. créer des champs utilisateur personnalisés
  3. envoyer un e-mail au groupe configuré en (1) à partir d’une adresse e-mail non encore associée à un compte sur le site, ce qui crée un utilisateur mis en scène avec cette adresse e-mail
  4. créer un compte en utilisant la même adresse e-mail que l’utilisateur mis en scène
  5. lorsque vous y êtes invité, remplir les champs utilisateur
  6. aller au profil utilisateur et constater que les champs utilisateur ne sont pas remplis

Lorsque vous créez un compte en utilisant une adresse e-mail qui n’est pas déjà connectée à un compte utilisateur mis en scène, les champs utilisateur personnalisés sont remplis comme vous vous y attendez.

5 « J'aime »

J’essaie de déboguer ce problème, mais après un certain temps, je ne parviens toujours pas à le reproduire.

Je l’ai testé sur une installation propre. Les seuls paramètres modifiés sont :

  • pop3 polling enabled
  • pop3 polling host
  • pop3 polling username
  • pop3 polling password
  • email in.

J’ai fait ce qui suit :

  1. J’ai créé un nouveau groupe, en définissant uniquement le nom et l’“Adresse e-mail entrante personnalisée”. Le groupe autorise les e-mails de n’importe quelle adresse e-mail.

  2. J’ai créé plusieurs champs utilisateur personnalisés. J’ai essayé les types “Champ de texte”, “Confirmation” et “Liste déroulante”. J’ai testé les champs obligatoires et facultatifs, ainsi que les champs modifiables et non modifiables.

  3. J’ai envoyé un e-mail à l’adresse du groupe depuis une nouvelle adresse e-mail. Cela crée l’utilisateur intermédiaire comme prévu.

  4. J’ai créé un nouveau compte en utilisant la même adresse e-mail que celle utilisée pour envoyer l’e-mail précédemment, en remplissant les champs personnalisés obligatoires.

  5. L’utilisateur intermédiaire est converti en utilisateur normal, et les champs personnalisés sont enregistrés et présents sous u/user/preferences/profile.

Pouvez-vous toujours reproduire ce problème ? Si oui, avez-vous une idée de ce qui pourrait être différent dans ma configuration pour produire un résultat différent ?

4 « J'aime »

La seule différence évidente est que notre instance utilise la réception directe d’e-mails et qu’un Assistant personnalisé se déclenche lorsqu’ils se connectent pour la première fois.

Je vais tester la nôtre à nouveau, ainsi qu’un site plus simple (également avec réception directe d’e-mails) et je vous ferai un retour. Cela pourrait prendre quelques jours, désolé.

3 « J'aime »

Je suis toujours en mesure de reproduire le problème avec les étapes que j’ai fournies ci-dessus. Mon site utilise également la messagerie électronique entrante directe. C’est aussi un site sur invitation uniquement, j’ai donc envoyé un lien d’invitation pour créer le compte. Pour confirmer que le lien d’invitation n’est pas le problème, j’ai activé temporairement l’inscription pour créer le compte. Même problème - pas de champs utilisateur personnalisés.

Pouvez-vous suivre les étapes de reproduction une dernière fois, et faire très attention à utiliser le mode incognito ou un profil Chrome différent lors de l’envoi de l’e-mail et de la création du compte utilisateur ?

3 « J'aime »

Il se pourrait bien qu’il s’agisse d’une interaction inattendue avec l’e-mail entrant direct. Je ne me souviens pas l’avoir jamais remarqué avant d’implémenter l’e-mail entrant direct, c’est certain.

Si vous ne parvenez toujours pas à le reproduire, veuillez configurer ceci et réessayer :

1 « J'aime »

Je suis également en mesure de reproduire cela sur notre propre hébergement, sur une version d’essai du plan business. @jancernik, cherchez une invitation dans votre e-mail pour pouvoir la reproduire là aussi.

Sur notre hébergement, vous devez également activer le paramètre d’administration email in pour que le paramètre de groupe Custom incoming email address apparaisse. Cela m’a dérouté.

Screenshot 2023-05-10 at 7.08.05 AM

De plus, le texte de ce paramètre est confus sur notre hébergement car aucune configuration manuelle supplémentaire ou aucun sondage pop3 ne doit être effectué - cela fonctionne dès la sortie de la boîte. Je vais le mettre à jour.

Modification : J’ai mis à jour le texte dans cette PR pour le simplifier :

Permet aux utilisateurs de publier de nouveaux sujets par e-mail. Après avoir activé ce paramètre, vous pourrez configurer les adresses e-mail entrantes pour les groupes et les catégories.

2 « J'aime »

Pour clarifier, si email in est désactivé, pouvez-vous toujours reproduire le problème mentionné dans le premier message ?

Vous ne pouvez pas suivre mes étapes de reproduction dans le 2e message ci-dessus sans activer la fonction email in, car cela inclut la création d’un utilisateur temporaire en envoyant un e-mail au forum pour créer un nouveau message de groupe.

Mais vous pouvez également reproduire le problème sans activer email in en envoyant un message privé à une adresse e-mail pour créer l’utilisateur temporaire, puis en vous inscrivant avec cette adresse e-mail. Je viens de le tester.

2 « J'aime »

Des nouvelles à ce sujet ?

Je demande car je m’apprête à ajouter environ 100 personnes en tant qu’utilisateurs staged. Elles étaient abonnées à une newsletter externe existante via une liste d’e-mails, mais nous avons l’intention que celle-ci soit livrée par notre site à la place.

Notre espoir est que beaucoup d’entre elles s’inscrivent également, mais ce sera assez compliqué si leurs UCF ne sont pas transmises !

1 « J'aime »

C’est sur notre liste à régler, mais nous sommes probablement à quelques semaines de le résoudre.

3 « J'aime »

Nous avons maintenant un correctif grâce à @daniel, via FIX: Staged user creation loses user custom field data by pmusaraj · Pull Request #22206 · discourse/discourse · GitHub

Pouvez-vous tester cela s’il vous plaît @tobiaseigen @nathank ?

5 « J'aime »

J’ai testé en utilisant mes étapes de reproduction ci-dessus et je peux confirmer que c’est corrigé ! Beau travail ! C’était un problème complexe.

J’ai eu une petite frayeur car la première fois que j’ai regardé le profil en tant qu’administrateur, les champs ne s’affichaient pas. Mais après un rafraîchissement du navigateur, ils sont apparus. :sweat_smile:

6 « J'aime »