Varios de nuestros usuarios de la comunidad solicitaron agregar un campo de perfil de usuario personalizado para sus nombres de usuario de Fediverse. Eso es fácil de agregar.
Experimenté con la posibilidad de hacer que este campo sea buscable. Encontré una publicación que describe cómo funciona esto, pero mi versión actual de discourse (actualizada) no presenta una interfaz como esa. Veo resultados en el campo de búsqueda rápida (etiquetado con el valor, eso es bueno) y la búsqueda expandida muestra usuarios coincidentes.
Pero… no está captando todas las coincidencias. Tenemos al menos 3 usuarios más (incluyéndome a mí) que tienen “mastodon” ingresado en este campo personalizado. ¿Hay algún tipo de retraso en la indexación?
Además, realmente estaba buscando alguna forma de ejecutar una búsqueda o una consulta para generar una lista de todos los usuarios que han ingresado algún valor en este campo (por ejemplo, muéstrame todos los usuarios con un nombre de usuario de fediverse). ¿Es este un trabajo de consulta personalizada? ¿Cómo lo haría?
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
Donde 'user_field_1' sería el campo de usuario personalizado en tu sitio que buscas ver. Ten en cuenta que Discourse usa user_field_1, user_field_2, user_field_3, etc., como nombres para los campos de usuario personalizados dentro de la tabla user_custom_fields en lugar del nombre de texto de los campos en la página Personalizar → Campos de usuario.
Si quisieras, podrías obtener una lista de todos los nombres de los campos de usuario personalizados en tu sitio y su número user_field correspondiente con:
SELECT uf.id, uf.name
FROM user_fields uf
Donde el ID del campo de usuario sería el nombre user_field_X dentro de la tabla user_custom_fields.
Teniendo esto en cuenta, no estoy seguro de por qué no podrías buscar tus campos de usuario en la ventana de búsqueda siempre que el campo de usuario sea buscable.
Podrías intentar usar el menú de búsqueda avanzada y seleccionar “Usuarios” como lugar para buscar y ver si obtienes los mismos resultados:
Gracias Alex, el plugin Data Explorer funcionó fantástico (era la primera vez que lo usaba).
La búsqueda en Usuario no funciona en absoluto. Los valores aquí son nombres de usuario de fediverso, y mi entrada es
@cogdog@mastodon.social
pero no obtengo resultados cuando busco en Usuarios la cadena ‘mastodon’. ¿No hace coincidencias de cadenas parciales? Esto no es terriblemente crítico, y probablemente desactivaré la opción de búsqueda para este campo. Esperaba proporcionar una forma accesible para el usuario de ver todos los usuarios que habían ingresado un valor para este campo. ¿Hay alguna opción de búsqueda para la búsqueda general que pueda encontrar entradas que no estén vacías?