Las insignias son una excelente manera de reconocer a alguien que está haciendo un buen trabajo. Discourse ahora permite otorgar una insignia a un conjunto de usuarios.
Si vas a la sección de insignias en el panel de administración, notarás que ahora hay un nuevo botón llamado “Otorgar en masa” disponible junto al botón “Nuevo”:
Al hacer clic en él, se te pedirá que selecciones una insignia y comiences:
Propongo cambiar esta redacción por “otorgar una insignia a un conjunto de usuarios”, ya que grupo tiene un significado específico en Discourse y un montón de direcciones de correo electrónico aleatorias en un CSV no lo es .
Al agregar usuarios en masa a un grupo, el sistema espera una lista de nombres de usuario. Al agregar usuarios en masa a una insignia, el sistema espera un archivo .csv con direcciones de correo electrónico.
Personalmente, prefiero la lista de nombres de usuario, ya que es mucho más fácil obtenerlos de los foros sin tener que pasar por trámites administrativos, y tengo algunos trucos en Excel que pueden generar una lista lista para copiar y pegar. Solía asignar insignias en masa agregando una lista a un grupo temporal y luego modificando la consulta de la insignia para que se asignara a todo ese grupo. Cuando apareció la opción “otorgar una insignia a un conjunto de usuarios”, esperé poder eliminar un paso…
¿Existe alguna forma de que el método de lista de usuarios sea una alternativa válida para asignar insignias en masa?
Estoy de acuerdo en que deberíamos admitir ambas opciones.
Si el primer elemento de la lista contiene un “@”, importar por correo electrónico; de lo contrario, importar por nombre de usuario.
Además, podríamos ser un poco más flexibles con el formato de esa lista.
Podríamos simplemente exigir que los correos electrónicos o nombres de usuario estén en líneas separadas y luego hacer un split("\n"), eliminar las líneas vacías, eliminar cualquier “,” al final y eliminar cualquier par de comillas simples o dobles (por ejemplo, gsub(/^['"]|['"]$/, "")).
Sé que es difícil y que empieza a correr el riesgo de desviarse del objetivo principal, pero me pregunto si con el tiempo la interfaz de administración podría aspirar a una mayor consistencia en todas las operaciones masivas de administración. Por ejemplo, al:
Otorgar insignias en masa: Seleccionar insignia y luego subir un CSV con las direcciones de correo electrónico de los usuarios.
Agregar usuarios a un grupo en masa: Seleccionar grupo y luego pegar una lista de nombres de usuario o correos electrónicos, uno por línea.
Invitar usuarios a Discourse en masa: Subir un CSV que contenga las direcciones de correo electrónico de los usuarios (especificando opcionalmente los grupos a los que se les debe agregar y la publicación inicial que se les mostrará).
Claramente, estos tienen áreas de similitud, pero también áreas de clara disparidad donde no están haciendo lo mismo. No sé qué tan fácil sea trabajar hacia un paradigma de interfaz consistente para todas las acciones masivas de administración, pero pensé que sería bueno plantear el tema aquí, ya que se está discutiendo.
De las tres variantes, diría que la más agradable en este momento es “Agregar en masa a un grupo: Pegar una lista de nombres de usuario o correos electrónicos, uno por línea”.
Con bastante frecuencia quiero invitar a varios usuarios (digamos de 5 a 10) y el método de invitación uno por uno es un poco irritantemente lento, pero el método de invitación mediante CSV es un poco engorroso y requiere que abra otro programa o que edite el CSV manualmente. Incluso si se mantuviera la carga de CSV para las invitaciones en masa muy grandes, sería genial tener un diálogo de “Invitar usuarios” similar al de “Agregar en masa a un grupo”. Por supuesto, solo podría aceptar direcciones de correo electrónico, una por línea, pero eso estaría bien.
Aunque aún no es tan sencillo como pegar una lista de nombres de usuario en un cuadro, es un gran paso adelante en comparación con necesitar correos electrónicos. ¿Hay planes para unificar el manejo masivo de agregar usuarios a grupos o insignias? No soy programador, pero eso suena como código reutilizable para mí
Si la casilla “Puede otorgarse varias veces” de la insignia está marcada (se encuentra en la sección inferior de la página de administración de insignias), deberías poder otorgar la insignia varias veces de esta manera.
Lo tengo activado, pero con una importación CSV (incluso solo una lista de nombres de usuario de personas que ya tienen la insignia) no se vuelve a otorgar. Tengo que otorgar la insignia manualmente al usuario para que aparezca como otorgada múltiples veces.
¿Puedes otorgar una insignia manualmente a solo una o dos personas en lugar de subir un archivo CSV?
Por alguna razón, la insignia de “entusiasta”, que se otorga por iniciar sesión durante 10 días consecutivos, no funciona para alguien que ha iniciado sesión durante 12 días consecutivos.
Creo que esa insignia es bastante fiable, pero a veces la diferencia entre las zonas horarias y la UTC puede hacer que parezca lo contrario.
No creo que puedas conceder esa insignia manualmente en este momento, pero crear un csv con el nombre de usuario o los nombres de usuario solo lleva uno o dos segundos. Acabo de hacer una prueba usando Google Sheets en mi teléfono y fue muy rápido.