Recherche / signalement de champs utilisateur

Un certain nombre d’utilisateurs de notre communauté ont demandé l’ajout d’un champ de profil utilisateur personnalisé pour leurs noms d’utilisateur Fediverse. C’est facile à ajouter.

J’ai expérimenté la recherche dans ce champ. J’ai trouvé un post décrivant comment cela fonctionne, mais ma version actuelle de Discourse (à jour) ne présente pas une interface comme celle-ci. Je vois des résultats dans le champ de recherche rapide (étiqueté avec la valeur, c’est bien) et la recherche étendue montre les utilisateurs correspondants.

Mais… elle ne trouve pas toutes les correspondances. Nous avons au moins 3 autres utilisateurs (moi y compris) qui ont “mastodon” entré dans ce champ personnalisé. Y a-t-il un délai d’indexation ?

De plus, je cherchais vraiment un moyen d’exécuter une recherche ou une requête pour générer une liste de tous les utilisateurs qui ont entré une valeur dans ce champ (par exemple, montrez-moi tous les utilisateurs avec un nom d’utilisateur Fediverse). Est-ce un travail de requête personnalisée ? Comment ferais-je cela ?

Cela pourrait être fait avec le Plugin Data Explorer en utilisant une requête SQL comme :

SELECT ucf.user_id,
       ucf.value,
       ucf.updated_at AS reltime$time
FROM user_custom_fields ucf
WHERE ucf.name = 'user_field_1'
AND ucf.value IS NOT NULL
ORDER BY ucf.updated_at DESC

'user_field_1' serait un champ utilisateur personnalisé sur votre site que vous cherchez à afficher. Notez que Discourse utilise user_field_1, user_field_2, user_field_3, etc., comme noms pour les champs utilisateur personnalisés dans la table user_custom_fields plutôt que le nom textuel des champs sur la page Personnaliser → Champs utilisateur.

Si vous le souhaitiez, vous pourriez obtenir une liste de tous les noms des champs utilisateur personnalisés sur votre site et leur numéro user_field correspondant avec :

SELECT uf.id, uf.name
FROM user_fields uf

Où l’ID du champ utilisateur serait le nom user_field_X dans la table user_custom_fields.

Dans cet esprit, je ne suis pas sûr pourquoi vous ne seriez pas en mesure de rechercher vos champs utilisateur dans la fenêtre de recherche tant que le champ utilisateur est recherchable.

Vous pourriez essayer d’utiliser le menu de recherche avancée et de sélectionner “Utilisateurs” comme endroit où rechercher et voir si vous obtenez les mêmes résultats :

2 « J'aime »

Merci Alex, le plugin Data Explorer a fonctionné à merveille (c’était la première fois que je l’utilisais).

La recherche sous Utilisateur ne fonctionne pas du tout. Les valeurs ici sont des noms d’utilisateur fediverse, et mon entrée est

  @cogdog@mastodon.social

mais je n’obtiens aucun résultat lorsque je recherche dans Utilisateurs la chaîne ‘mastodon’. Ne fait-il pas de correspondances de chaînes partielles ? Ce n’est pas très critique, et je désactiverai probablement le drapeau recherchable pour ce champ. J’espérais fournir un moyen accessible aux utilisateurs de voir tous les utilisateurs qui avaient entré une valeur pour ce champ - existe-t-il une option de recherche pour la recherche générale qui peut trouver des entrées qui ne sont pas vides ?

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