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?

77 Me gusta

New ways schools can adopt with Discourse! Nice job! :grinning:

10 Me gusta

Very cool and thank you for sharing this @RGJ :beers:

15 Me gusta

Great to see this!

My one nitpick is that I’d rather have the feature enabled at the category level, then replies can get revealed per-topic when everything’s submitted.

11 Me gusta

Very cool, I was wondering if there is a way to still access the contents of private replies:

  • by Group (Teachers)
  • Trust Level (all teachers are at least Trust Level 3).
9 Me gusta

Why do you think that’s better?

That’s a pretty good idea. It shouldn’t be too hard to add that to the plugin.
I’ll keep it in mind but right now I don’t have a use case for this myself. PR’s are welcome though!

6 Me gusta

Prevents random abuse from topic starters enabling the setting on non-intended categories. It’s a “why would you do that?” situation but still something that needs a flag to resolve.

7 Me gusta

Yeah, that’s useful indeed. So that could be solved by a category setting ‘allow private replies’.
I thought you wanted a ‘topics have private replies by default’ setting, which would be harder to build.

6 Me gusta

Hello, Richard! Your teacher should be happy because your plugin works great :grinning:

I think about 2 improvements:

  1. Is it possible to make this function active by default? This should be set in the category settings. No need to do it manually with every topic.
  2. Make replies visible to specific groups set in the settings?
7 Me gusta

Hi! I’d like to add translations to your plugin. Tried to add 2 extra files: client.en and server.en
Then I did ./launcher rebuild app, but the translation didn’t appear after I changed the locale in the user interface. What I missed?

1 me gusta

The files should be called client.XX.yml and server.XX.yml where XX is the language code.

However, there are already files for en (English): https://github.com/communiteq/discourse-private-replies/tree/master/config/locales so I am not sure what you have done or what you are trying to accomplish.

3 Me gusta

I’ve done this exact thing (added client.de.yml and server.de.yml for the German language) and nothing changed.

  • Probably, I found the mistake. I missed the language code in the file. I’ll check it later.
2 Me gusta

Can you please make a PR once you’ve got things working? That would be much appreciated!

1 me gusta

Everything is working, it was my mistake. I will add all languages to your fork when I finish it.

2 Me gusta

Hi! I got errors in /sidekiq from your plugin. Can you please check your installation? Do you have such errors?

Wrapped I18n::InvalidLocaleData: can not load translations from /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): did not find expected key while parsing a block mapping at line 3 column 5>

There is an extra " that should be removed.

private_replies_enabled: "قم بتمكين المكون الإضافي "الردود الخاصة."
2 Me gusta

Thank you for reporting this! I’ve pushed a fix.

3 Me gusta

Hey,
It won’t install from the admin interface. Is it hooks only?

The error is:

about.json does not exist. Are you sure this is a Discourse plugin?
1 me gusta

I am not familiar with that error message. It is not part of the Discourse source code. Are you sure this is the exact message?

Plugins are not installed from the admin interface either.
Please refer to Install plugins on a self-hosted site.

2 Me gusta

@RGJ
My company, Haddee, is eager to develop some new features for the plugin.
I was wondering if you could put a license on it just to make contribution easier and smoother

Thanks :slight_smile:

6 Me gusta

Right, it worked installing from the hooks system indeed.
I guess it can’t be installed from the admin like themes and extensions as it has server features and that’s why it’s called a plug-in (so many specific terms and various ways to extend or customize Discourse that we can easily get lost as a dev)

This one seems clean and small enough to be easy to customize.

Thanks for the replies :wink:

2 Me gusta