Respuestas Privadas en Discourse

Github: GitHub - communiteq/discourse-private-replies

Este plugin oculta las respuestas del tema para todos excepto para el iniciador del tema y el autor de la publicación.

Casos de uso

Esto se puede usar, por ejemplo, para tareas escolares donde el profesor abre un tema y publica una tarea, y todos los estudiantes publican sus respuestas. Cuando todos hayan entregado su trabajo, el profesor podrá revelar las respuestas para que los estudiantes puedan discutirlas.
Un segundo caso de uso podría ser una subasta donde se ofrece algo a la venta. Las personas pueden publicar su oferta y, cuando se complete la venta, el propietario del tema puede revelar todas las ofertas para mostrar a la comunidad que todo se realizó de acuerdo con las reglas.

Uso

Después de instalar y habilitar el plugin, puede activar la funcionalidad del plugin por tema.

Si usted es el iniciador del tema, verá un nuevo botón en la parte inferior del tema.

button

Al presionar este botón, ha habilitado la función de Respuestas Privadas para este tema.

Aparecerá un banner encima del tema y sucederá lo siguiente:

  • las personas solo podrán ver las publicaciones hechas por ellos mismos, por el propietario del tema y por usuarios en grupos seleccionados.
  • solo el propietario del tema podrá ver todas las publicaciones.

banner

Al presionar el botón por segunda vez, el tema volverá a la normalidad.

El plugin, cuando esté habilitado, permitirá respuestas privadas en todos los temas. Sin embargo, si está habilitada la configuración private replies on selected categories only (respuestas privadas solo en categorías seleccionadas), el plugin se puede habilitar por categoría en la configuración de seguridad de la categoría.

En esa misma pantalla, también encontrará la configuración para habilitar las respuestas privadas por defecto para todos los temas nuevos en esa categoría. Esto es especialmente útil cuando los temas se envían por correo electrónico.

Configuración

  • private_replies_participants_can_see_all si está habilitado, cualquier persona que haya participado en el tema puede ver todas las respuestas
  • private_replies_min_trust_level_to_see_all las personas con este nivel de confianza o superior pueden ver todas las respuestas
  • private_replies_groups_can_see_all los usuarios de estos grupos siempre pueden ver todas las respuestas (por defecto: staff)
  • private_replies_see_all_from_groups las publicaciones de usuarios en estos grupos siempre son visibles para todos (por defecto: staff)
  • private_replies_topic_starter_primary_group_can_see_all los usuarios del mismo grupo principal que el iniciador del tema pueden ver todas las respuestas

Advertencias

El plugin deshabilita las siguientes formas de recuperar el contenido de las publicaciones:

  • vista del tema (es decir, la forma habitual de ver las publicaciones)
  • perfil de usuario - actividad
  • búsqueda
  • raw (/raw/topic_id/post_id)

Sin embargo, aún puede averiguar quién publicó en el tema:

  • Los iconos de la lista de temas aún mostrarán quién ha publicado en el tema.
  • También podrá ver ‘user xxx is replying’ (el usuario xxx está respondiendo) en la parte inferior del tema.
  • Los temas también son visibles en el perfil de usuario - resumen.

Sin embargo, nada de esto revela el contenido de la publicación.

Antecedentes:

Mi pareja es profesora (de griego antiguo y latín clásico) y ha estado usando Discourse en sus clases durante varios años. Lo usa principalmente para distribuir tareas a sus alumnos y discutirlas después. Sin embargo, todas las tareas se entregan en papel durante sus clases.
Hasta ahora, ya que las escuelas han cerrado debido a todo el pánico del coronavirus, está pasando a la enseñanza 100% en línea, incluidas las tareas. Así que todos esos estudiantes le están enviando su trabajo por correo electrónico. Esto es muy subóptimo ya que requiere que ella haga mucha administración (¡y puedo decirles que no es muy buena en ese tipo de cosas :wink: !).
Estábamos discutiendo algunas opciones y ella dijo: “¿por qué no puedo tener un tema donde la gente solo pueda ver mis publicaciones (es decir, las publicaciones hechas por el iniciador del tema) y sus propias publicaciones? Esto me permitiría publicar una tarea como un tema y que cada estudiante publique sus respuestas debajo sin poder ver todas las demás respuestas. Luego, cuando todos hayan ingresado su trabajo y sea hora de discutir, quiero poder presionar un botón para que el velo desaparezca y hacer que todas las publicaciones del tema sean visibles para todos, para que puedan ver y discutir el trabajo de los demás ".
¡Sí, brillante! (por eso la amo). Así que hice un plugin para esto. Discusión anterior aquí: Topic replies invisible until topic owner decides to reveal them?

78 Me gusta
Reply only visible to the post owner
Anyway to make Forms in Discourse - One Category?
Is there a "Reply to View" plugin for Discourse?
Let topic owner approve replies to their topic
Is this secure? Concept for private info in replies
Making a Category or Replies in a Topic Only Visible by Poster and Admin
Help With a Private Topics/Replies Alternative?
Is there an option on Discourse to allow a logged-in member to see only the topics where they participated?
Way to make part of the post visible to author and staff only?
Hide ALL replies to Topics in a Category by default using Spoiler Text Plugin
How to schedule posts (not topics)?
Is there a way to hide some text in a post?
Private post feature
Author-only Topic (take 2)
A new way to lead and facilitate conversations
Error Can't search when No login
Private Topics Plugin
Allow post author to see/reply to whisper posts
Discourse BCC
Private Topics Plugin
Is there a "Reply to View" plugin for Discourse?
Will uninstalling a plugin leave any residual debris files in the database?
Discourse Like and/or Reply to reveal the post
Help with auto-close topic?
2020: The Year in Review
Post Read-only mode on a category
Display 'top level comments' separate from comment replies (Alternative to Threaded Comments?)
Permissions in certain category
Resources for using Discourse in the classroom
Offering "private support" as part of a public support community
Offering "private support" as part of a public support community
Allow write access without read access
Permissions and clients/users

¡Nuevas formas en que las escuelas pueden adoptar Discourse! ¡Buen trabajo! :grinning:

10 Me gusta

¡Muy genial y gracias por compartir esto @RGJ :clinking_beer_mugs:

15 Me gusta

¡Qué bien ver esto!

Mi única pequeña queja es que preferiría que la función estuviera habilitada a nivel de categoría, de modo que las respuestas puedan revelarse por tema cuando todo esté enviado.

11 Me gusta

¡Muy interesante! Me preguntaba si existe alguna forma de seguir accediendo al contenido de las respuestas privadas:

  • Por grupo (profesores)
  • Nivel de confianza (todos los profesores tienen al menos el Nivel de confianza 3).
9 Me gusta

¿Por qué crees que eso es mejor?

Esa es una muy buena idea. No debería ser muy difícil agregar eso al complemento.
Lo tendré en cuenta, pero por ahora no tengo un caso de uso para esto yo mismo. ¡Las PR son bienvenidas!

6 Me gusta

Evita abusos aleatorios por parte de quienes inician temas al activar la configuración en categorías no previstas. Es una situación de “¿por qué harías eso?”, pero aún así requiere una bandera para resolverlo.

7 Me gusta

Sí, eso es realmente útil. Así que eso podría resolverse con una configuración de categoría ‘permitir respuestas privadas’.
Pensé que querías una configuración ‘los temas tienen respuestas privadas de forma predeterminada’, lo cual sería más difícil de implementar.

6 Me gusta

¡Hola, Richard! Tu profesor debería estar feliz porque tu plugin funciona genial :grinning:

Pienso en dos mejoras:

  1. ¿Es posible que esta función esté activa por defecto? Esto debería configurarse en la configuración de la categoría. No es necesario hacerlo manualmente en cada tema.
  2. ¿Hacer que las respuestas sean visibles para grupos específicos configurados en la configuración?
7 Me gusta

¡Hola! Me gustaría agregar traducciones a tu plugin. Intenté agregar 2 archivos adicionales: client.en y server.en. Luego ejecuté ./launcher rebuild app, pero la traducción no apareció después de cambiar la configuración regional en la interfaz de usuario. ¿Qué me estoy perdiendo?

1 me gusta

Los archivos deben llamarse client.XX.yml y server.XX.yml, donde XX es el código de idioma.

Sin embargo, ya existen archivos para en (inglés): discourse-private-replies/config/locales at master · communiteq/discourse-private-replies · GitHub, por lo que no estoy seguro de qué has hecho o qué intentas lograr.

3 Me gusta

He hecho exactamente lo mismo (añadí client.de.yml y server.de.yml para el idioma alemán) y no cambió nada.

  • Probablemente, encontré el error. Me faltó el código de idioma en el archivo. Lo revisaré más tarde.
2 Me gusta

¿Podrías hacer un PR una vez que tengas todo funcionando? ¡Eso sería muy apreciado!

1 me gusta

Todo está funcionando, fue un error mío. Agregaré todos los idiomas a tu bifurcación cuando termine.

2 Me gusta

¡Hola! He recibido errores en /sidekiq por tu plugin. ¿Podrías revisar tu instalación? ¿Tienes errores similares?

Wrapped I18n::InvalidLocaleData: no se pueden cargar las traducciones desde /var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml: #
<Psych::SyntaxError: (/var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml): no se encontró la clave esperada al analizar un mapeo de bloque en la línea 3 columna 5>

Hay una comilla extra que debería eliminarse.

private_replies_enabled: "Habilitar el complemento 'Respuestas privadas'."
2 Me gusta

¡Gracias por reportarlo! He aplicado una solución.

3 Me gusta

Hola,
No se instala desde la interfaz de administración. ¿Es solo para hooks?

El error es:

about.json no existe. ¿Estás seguro de que esto es un plugin de Discourse?
1 me gusta

No estoy familiarizado con ese mensaje de error. No forma parte del código fuente de Discourse. ¿Estás seguro de que ese es el mensaje exacto?

Además, los plugins no se instalan desde la interfaz de administración.
Consulta Install plugins on a self-hosted site.

2 Me gusta

@RGJ
Mi empresa, Haddee, está muy interesada en desarrollar algunas nuevas funciones para el complemento.
Me preguntaba si podrías añadirle una licencia para facilitar y agilizar las contribuciones.

Gracias :slight_smile:

6 Me gusta

Bien, efectivamente funcionó al instalarlo desde el sistema de hooks.
Supongo que no se puede instalar desde el panel de administración como los temas y las extensiones, ya que tiene características del servidor; por eso se llama un plug-in (hay tantos términos específicos y diversas formas de extender o personalizar Discourse que, como desarrolladores, podemos perdernos fácilmente).

Este parece limpio y lo suficientemente pequeño como para ser fácil de personalizar.

Gracias por las respuestas :wink:

2 Me gusta