I am trying to display some externally generated user data below the user’s avatar. Currently, the data is stored in a custom user field of type ‘text’ and the field is populated via an API call as well as during SSO.
Now I am trying to determine the best way to actually display the data. Actually, I’m trying to find any way to display the data. A plugin seems like the best option, but there is no plugin-outlet that can be used.
Can someone with more knowledge point me in the correct direction?
Thank you, that has certainly helped with displaying data in the correct location. Unfortunately it has also led me to another stumbling block.
From the helper.attrs, I can get the username and the user_id. Using this info, I then tried:
Discourse.User.findByUsername(helper.attrs.username).then((user)=>{
let f1_val = user.user_fields[1];
return helper.h('div', `${f1_val}`);
});
Aside from throwing an error, this method of data retrieval results in an API request for every post. Is there a way to access the information from the Ember side without requiring an API call?
Would you mind sharing the basic idea of what ended up working for you? I’m curious what you ended up going with and I’m sure others that happen upon this topic will appreciate the info as well
Para almacenar los datos personalizados en Discourse, fui a Admin > Personalizar > Campos de usuario y creé un campo personalizado. Los datos que necesito son un percentil que representa el progreso y elegí “texto” como tipo de campo. El nombre del campo solo se muestra en la tarjeta y el perfil del usuario y, lamentablemente, no se utiliza para referenciar los datos del campo programáticamente.
El campo que almacena el progreso fue el tercer campo personalizado que creé, por lo que “3” se convierte en un número muy importante.
Usando la API, escribí un script de curl (con la ayuda de https://meta.discourse.org/t/api-cannot-update-user/63876/4) para rellenar el campo con datos de prueba. Como el campo que quería rellenar era el tercer campo que creé, mi línea de datos en el script de curl es:
--data '{ "user_fields": { "3":"87" } }'
Mostrar los datos requirió ir a Admin > Configuración > Usuarios, desplazarse hasta la opción “campos personalizados de usuario públicos” y poner el campo en la lista blanca. Dado que el campo fue el tercero creado, tuve que poner en la lista blanca “user_field_3” y no el nombre real que le di al campo.
En este punto, escribí un plugin básico con lo siguiente: