Capacidad para crear plantillas privadas

Desde el lanzamiento del nuevo plugin Discourse Templates, he estado disfrutando de la nueva funcionalidad de tener plantillas de respuesta almacenadas en temas dentro de una categoría de plantillas dedicada. Esto facilita la visualización y edición de plantillas, al tiempo que permite la capacidad de filtrar, etiquetar, editar y ordenar las plantillas existentes según sea necesario.

Sin embargo, actualmente solo se puede seleccionar una categoría de plantilla a la vez, por lo que todas las plantillas de un sitio son compartidas por todos los usuarios con acceso a la categoría de plantilla establecida.

Además, si un usuario quisiera crear una plantilla a la que solo él mismo pudiera acceder, actualmente no hay forma de hacerlo sin modificar el acceso a todas las plantillas dentro de la categoría de plantillas.

Solicitud de Funcionalidad

Basado en estas observaciones, aquí hay un par de funcionalidades que creo que muchos tipos diferentes de usuarios de Discourse podrían beneficiarse:

  1. La capacidad de crear una plantilla privada personal a la que solo el usuario que creó la plantilla pueda acceder y ver.
  2. La capacidad de crear plantillas privadas a las que dos o más usuarios del sitio puedan acceder, pero que aún estarían ocultas para cualquier otra persona.

Casos de Uso de Ejemplo

Algunas formas en que esto podría usarse en diferentes situaciones.

  • Un usuario quiere crear plantillas personales para sí mismo, pero no quiere abarrotar la categoría principal de plantillas con plantillas irrelevantes para todo el sitio.
    • Ej: La empresa de Alex utiliza Discourse como plataforma de soporte, y quieren almacenar respuestas a todas las posibles preguntas de los clientes como plantilla. Incluso si las plantillas nunca se usan, Alex puede consultarlas en sus plantillas personales para futuras preguntas de clientes relacionadas, o para obtener información sobre algo que podría no haber visto en mucho tiempo, incluso si las plantillas nunca se usan.
    • Ej: Alex utiliza Discourse como foro comunitario para los productos y servicios que vende en su sitio web principal (no Discourse). Alex crea una plantilla para un tema al que solo él publica en su sitio de Discourse cada viernes para ayudar a generar participación.
  • Plantillas compartidas para un equipo completo pero no para toda la empresa.
    • Ej: Alex trabaja como desarrollador de software, y su equipo ejecuta frecuentemente múltiples conjuntos de tareas internas diferentes. El equipo de desarrollo de software tiene una plantilla con una lista de verificación u otros elementos procesables para cada conjunto de tareas que debe ser completada por cada miembro del equipo.
    • Ej: Alex gestiona un equipo que utiliza Discourse como plataforma de soporte. Alex crea plantillas a las que solo el equipo de soporte puede acceder para ayudar al equipo a responder a los clientes más rápido.
  • Dos o más miembros de un equipo desean acceso a las mismas plantillas, pero no necesitan que estas se compartan con todo el equipo.
    • Ej: Alex trabaja en soporte y John trabaja en desarrollo de software, su empresa utiliza Discourse para comunicarse con los clientes. John acaba de corregir un error, por lo que decide crear una plantilla que explique los cambios que hizo en el software de la empresa para corregir el error, y luego la comparte con Alex para que puedan informar a los clientes sobre las actualizaciones. Una vez que todos los clientes hayan sido notificados, la plantilla podría ser eliminada.

Estoy seguro de que hay muchos más casos de uso no mencionados aquí.

La Necesidad de Equilibrio

Teniendo todo esto en cuenta, e independientemente de las funcionalidades que existan para hacer las plantillas públicas o privadas, los usuarios de un sitio aún necesitan decidir: “¿Con quién se debe compartir una plantilla?”

Hay un equilibrio entre “Todos en el sitio usarán esta plantilla todos los días” y “Alguien usó esta plantilla una vez para una tarea específica y ahora nunca se usa más”. En la primera situación, por supuesto, querríamos que esta plantilla se compartiera con todos, pero en el último caso, si la plantilla se compartiera, simplemente abarrotaría la lista de plantillas, y la lista de todas las plantillas podría volverse rápidamente abrumadora, desactualizada o superflua si no hubiera estándares sobre lo que es una plantilla “aceptable” para todo el sitio.

¿Qué Pasa con las Etiquetas?

Con Discourse Templates, ahora podemos etiquetar cada plantilla para ayudar a ordenar y encontrar plantillas cuando llega el momento de usarlas, así que ¿por qué necesitaríamos plantillas que sean privadas para un individuo o equipo? ¿Por qué un equipo de soporte no podría simplemente etiquetar todas sus plantillas con una etiqueta #support y terminar con todo esto? ¿Por qué Alex no podría simplemente etiquetar todas sus plantillas personales con una etiqueta #alex-templates y seguir adelante?

Respuesta Corta: No hay razón para que esto no funcione. Los usuarios pueden simplemente etiquetar plantillas y luego buscarlas cuando intentan recuperarlas.

Respuesta Larga (que en realidad son solo más preguntas): Cuando las personas usan plantillas, ¿se desplazan por todas ellas o simplemente buscan lo que necesitan? Si solo estás buscando plantillas, el número de plantillas que estás buscando probablemente no importa tanto; simplemente buscas y terminas una vez que encuentras lo que buscas. Sin embargo, si te desplazas por todas las plantillas posibles que podrías usar, esta podría ser una tarea larga dependiendo de cuántas plantillas tenga tu sitio.

¿Qué pasa si tu sitio es enorme? Si tu sitio tuviera 1000 plantillas, pero solo usas 10 de ellas, ¿por qué deberías ver todas las plantillas adicionales? ¿No serían solo un estorbo adicional para ti? De acuerdo, un poco extremo, pero aun así, llega un umbral en el que hay demasiadas plantillas para que un conjunto particular de personas, o todo el sitio, tenga acceso.

Además, ¿qué pasa si no sabes qué buscar? ¿Qué pasa si acabas de empezar a moderar un sitio de Discourse en particular y no sabes cómo se llaman todas las plantillas, y hay 100 de ellas? ¿Qué pasa si buscas una plantilla de “introducción al sitio”, pero alguien llamó a la plantilla que buscas “bienvenida” (o una situación similar) y tu búsqueda no arroja nada?

Hay muchas preguntas que deben considerarse aquí, y no hay necesariamente una respuesta correcta.

Parece que otros usuarios aquí también pueden tener ideas al respecto. Si bien esto fue sobre el ahora obsoleto plugin Canned Replies, las ideas expresadas siguen siendo aplicables aquí:

Posibles Formas de Implementar Esto

Cuando pensamos en la mecánica real aquí, se ha mencionado que @saquetim puede saber más sobre cómo implementar esto de la mejor manera.

Para plantillas personales, ¿quizás un PM para uno mismo + una etiqueta especial podría ser la solución?

Si quisieras que un par de personas tuvieran acceso a una plantilla, ¿quizás podrías enviarte un PM a ti mismo y a la otra persona con una etiqueta especial?

¿Quizás podríamos tener la capacidad de seleccionar múltiples discourse templates categories?

¿Qué piensa todo el mundo sobre esto? :thinking:

  • ¿Sería útil algo como esto?
  • ¿Por qué querríamos la capacidad de crear plantillas privadas?
  • ¿Cómo queremos que se use esto?
12 Me gusta

¡Uso plantillas extensivamente! Y uso las Plantillas de Discourse de la misma manera que uso el Chat de Discourse: solo, uno a uno y en cualquier configuración de grupo posible. :v: :sunglasses:

En cada uno de esos ejemplos, suena a cómo funcionan los Mensajes Privados, lo cual creo que es genial: la capacidad de agregar y eliminar usuarios y grupos…

Hmmm… tal vez tener opciones similares a cómo Discourse Docs configura categorías y etiquetas.

Sin embargo, además de mostrar todos los temas de plantillas disponibles según los permisos de categoría en el selector de plantillas, también carga plantillas de Mensajes Privados. Por lo tanto, etiquetarías todas tus plantillas de Mensajes Privados según sea necesario y las compartirías como un Mensaje Privado normal (usuarios y grupos).

:thinking:

4 Me gusta

¡Oh, esto sería muy útil!

3 Me gusta

@SaraDev,

Me gustó mucho la idea de las plantillas privadas y la mecánica que propusiste (MP a ti mismo + etiqueta) y creo que sería una gran funcionalidad para agregar al plugin. Sin embargo, no estoy tan seguro de que dos o más usuarios puedan compartir estas plantillas usando MPs.

Permíteme explicar por qué:

Actualmente, solo puedes seleccionar una categoría principal para almacenar plantillas, pero puedes tener subcategorías con diferentes permisos para que varios grupos vean diferentes conjuntos de plantillas. Este caso de uso debería estar cubierto.

Además de eso, planeo agregar la capacidad de tener múltiples categorías principales para permitir una mejor organización de las plantillas y una definición de seguridad más fácil.

El problema surge cuando se agregan MPs a grupos (formales o ad hoc) porque el sistema de permisos se vuelve confuso. Las etiquetas no tienen permisos como las categorías. Sería difícil verificar si un usuario puede usar plantillas o no, o incluso limitar su capacidad para hacerlo.

Algunas cosas que se me ocurren ahora que deben abordarse:

  • ¿Qué usuarios deberían poder usar plantillas privadas? No creo que deban permitirse por defecto a todos y actualmente el permiso para usar el plugin se define por la categoría en la que se almacenan las plantillas. Este modelo de permisos no funcionaría para plantillas privadas y probablemente necesitaríamos una nueva configuración para que los administradores puedan controlar eso.

  • ¿La etiqueta utilizada para marcar los mensajes privados como plantillas debe definirse globalmente en la configuración del plugin o permitir que cada usuario defina en la configuración del usuario qué etiqueta se debe considerar una plantilla? ¿Cómo funcionaría eso para los mensajes compartidos por más de una persona?

  • Una cosa que no me gusta tanto es que puede dificultar encontrar dónde ir cuando necesitas editar/discutir una plantilla. Los usuarios necesitarán saber si es un MP o un tema. No es un factor decisivo, pero puede volverse engorroso.

TL;DR: Me gustaron mucho las plantillas personales (MPs a uno mismo), creo que los MPs a varias personas utilizados como plantillas pueden causar algunos problemas y esto tendría que pensarse con cuidado. Personalmente, optaría por plantillas realmente privadas (solo el usuario que las creó puede verlas) y dejaría las plantillas de grupo (2+ personas) al sistema de categorías.

6 Me gusta

Creo que las categorías padre múltiples, junto con las plantillas privadas propuestas que usan los Mensajes Privados (MP) a uno mismo + etiqueta, cubrirían casi todos los casos de uso con plantillas.

Incluso con algunos de los ejemplos que mencioné, fue difícil encontrar un caso en el que dos o más usuarios, y no un grupo, necesitaran compartir las mismas plantillas.

Si dos personas quisieran la misma plantilla, siempre podrían enviarse un MP con la plantilla y luego convertir ese mensaje en una plantilla copiando y pegando el MP de vuelta a sí mismos, lo que sería un pequeño paso adicional, pero no me imagino que esto ocurra muy a menudo.

Siento que los Niveles de Confianza podrían ser una buena manera de restringir el uso de plantillas privadas solo a aquellos que podrían necesitarlas. Uno de los problemas que podría ocurrir con las plantillas privadas (y las plantillas en general) es que si un usuario tuviera acceso a ellas, podría crear mucho “spam” en el sitio publicando lo mismo una y otra vez, hasta el punto de que su cuenta podría necesitar ser silenciada o restringida de otra manera si se pusiera realmente mal. Las plantillas en general también parecen más una característica de administrador/moderador/superusuario, en lugar de algo a lo que todos deberían tener acceso, y permitir solo a los usuarios de niveles de confianza más altos usar plantillas privadas abordaría esto.

Me imagino una configuración en el Plugin de Plantillas para permitir que los usuarios de “Nivel de Confianza X” o superior usen plantillas privadas. Algo como esto, pero para “Nivel de Confianza Mínimo de Plantilla Privada”.

Mi otra idea sería una casilla de verificación en la página de configuración del grupo para cada grupo de nivel de confianza para “permitir plantillas privadas”, pero tener un solo lugar para configurar esto probablemente sería preferible, en lugar de tener que editar la configuración de varios grupos.

Definir la etiqueta globalmente sería más fácil de configurar desde el punto de vista del administrador del sitio, y luego informar de alguna manera a los usuarios que “esta es la etiqueta a usar para plantillas privadas” para hacerlo aparente. Siento que esto podría funcionar si un MP se compartiera entre más de un usuario, ya que la etiqueta de plantilla privada se definiría globalmente, y aún funcionaría en situaciones en las que la plantilla de MP solo se comparte con el usuario que la creó. Sin embargo, no estoy seguro de qué implicaciones tendría esto para verificar si un usuario puede usar plantillas o no, ya que todos usarían la misma etiqueta de plantilla privada con este diseño.

Este es un gran punto, y algo que no había considerado. Pensando en nuestro flujo de trabajo actual para rastrear dónde necesitas ir para editar una plantilla: si estoy haciendo una publicación con una plantilla y quiero ver el tema con la plantilla real, la forma más fácil que se me ocurre sería buscar el nombre de la plantilla con la búsqueda del sitio y luego ir a ese tema. Sin embargo, hasta donde sé, no puedes buscar MP con la búsqueda del sitio, por lo que esto no funcionaría con plantillas privadas.

¿Quizás un botón dentro del área de selección de plantillas cuando estás haciendo una publicación podría ser útil aquí? Algo como:

Definitivamente sería bueno que un usuario tuviera todas las plantillas disponibles en un solo lugar, pero no estoy seguro de cuál es la mejor respuesta aquí.

Tengo curiosidad por saber qué otros pensamientos hay al respecto.

1 me gusta

Este es un punto realmente interesante. :+1:

Estoy pensando únicamente en saturar la interfaz para los usuarios del personal. No me imagino un caso de uso en el que la categoría de plantillas permita a los miembros generales añadirlas/editarlas.

Hmmm, me pregunto si creara una etiqueta en mi sitio, #plantillas-preferidas-maiki, y luego pudiera elegirla y tener todas las plantillas que uso listas para mí. Entonces podría etiquetar un montón de temas, no solo los míos… :thinking:

2 Me gusta

No añadiría un botón ahí. El plugin canned-replies era así. En mi opinión, la interfaz se vuelve un poco abarrotada para algo que no usarías tan a menudo.

Quizás sería mejor crear una ruta similar a /top o /latest que liste todas las plantillas disponibles en un solo lugar. Podríamos tener /templates y allí solo tendrías que hacer clic en el tema para abrirlo.

Pensé en esto al desarrollar el plugin.

Sé que podría ser conveniente, pero en mi opinión causa más problemas de los que resolvería.

Los temas etiquetados de esa manera no pueden aprovechar el sistema de permisos de categorías para definir si el usuario puede usar plantillas o no y, al menos para mí, las plantillas deberían estar en un lugar (categoría o etiqueta en el caso de las plantillas personales propuestas) donde cualquiera que las maneje sepa que está tratando con una plantilla.

Imagina que etiquetas una publicación de un tercero como plantilla y se edita a algo que no esperas. No te darás cuenta de que la plantilla ha cambiado y la persona que la editó no se dará cuenta de que editó una plantilla.

No sé, en este caso prefiero un flujo bien definido.

2 Me gusta

¡Tiene sentido! :+1:

Me refería a etiquetar temas dentro de la categoría de plantillas. Aquí hay una captura de pantalla de los foros de mi familia donde etiqueté todos los míos como #maiki-templates.

Mi caso de uso no tiene en cuenta que todos creen plantillas. Pero con grupos de etiquetas, creo que tenemos un control decente para que los equipos los usen.

En el caso de mi familia, Clover y yo tendremos listas de tareas que tendremos que marcar. Tiene sentido que todas estén etiquetadas como #chores, mientras que las plantillas de las que soy responsable están etiquetadas como #maiki-template, y las de Clover están etiquetadas como #compulsory-familial-servitude; luego podemos filtrar fácilmente las plantillas según sea necesario, desde el selector “Insertar plantilla”.

Entonces… mi caso de uso está cubierto. :slight_smile: :+1:

¡Mis plantillas privadas son públicas! :person_shrugging:

2 Me gusta

¡Ahora tenemos plantillas privadas!

Funcionan prácticamente como lo que hemos discutido. Envía un mensaje privado a ti mismo + etiquétalo con una etiqueta especial configurada en la configuración y el mensaje aparecerá en la lista de plantillas.

Técnicamente, los mensajes enviados a otros usuarios también se pueden usar como plantillas, pero solo se mostrarán como plantillas para el autor del mensaje.

7 Me gusta

¡Es genial escuchar esto! Estoy emocionado de probarlo pronto.

3 Me gusta

Hola @saquetim
Intenté este paso pero no parece funcionar. ¿Es compatible con la última versión del plugin?

Gracias por esta respuesta, ya que me ha dado mayor claridad sobre cómo funcionan las plantillas privadas. :vulcan_salute::smiling_face_with_sunglasses::+1: