Agregar soporte para 'notas personales' en las publicaciones

¿Discourse admite el concepto de una nota personal adjunta a una publicación por un usuario no personal que solo la persona que la escribió puede ver?

El caso de uso que tengo en mente aquí es un sistema de recetas, donde las personas que usan una receta quieren tomar notas sobre lo que hicieron y cómo funcionó, pero no notas que quieran que otros vean.

1 me gusta

¿los mensajes privados no funcionan para esto? Los mensajes privados de una publicación de un usuario hacen referencia a esa publicación.

Uso los mensajes privados a mí mismo como una especie de bloc de notas, especialmente si quiero hacer referencia a una publicación.

Las marcadores te permiten anotar un propósito, el icono del marcador se resalta en un tema o respuesta una vez establecido.


3 Me gusta

¡Sí, buen punto! A veces también uso la función de marcadores para esto, especialmente si se requiere algún tipo de puntualidad.

Los marcadores no parecen estar diseñados para permitir mucho formato en la explicación del marcador. Tan pronto como presiona la tecla Enter (es decir, para comenzar un nuevo párrafo), se crea el marcador.

En cuanto a los mensajes privados, no veo una forma directa de adjuntar un mensaje privado a una publicación específica.

Esta parece una idea brillante, si yo fuera tú escribiría un plugin para apoyar esto…

4 Me gusta

Sería algo que consideraría hacer, una vez que tenga suficiente experiencia con el desarrollo de plugins de Discourse para saber qué hacer.

Puedes usar borradores y/o proponer hacer público este plugin:

2 Me gusta

Los borradores no son muy fiables, porque solo puede haber uno por tema. Si alguien empieza a escribir una publicación para dicho tema, sobrescribe el borrador sin previo aviso.

3 Me gusta

Al principio entendí mal tu OP y pensé que la nota debía ser compartida entre la persona que la hacía y el creador de la publicación, o simplemente para marcar el lugar. Veo que básicamente quieres una función de nota adhesiva para que los usuarios hagan una nota personal sobre una publicación, como un marcador de texto extendido sin la función de tiempo. Como dice @Lhc_fl, esta es una buena idea y puedo ver que es útil en algunas instancias.

1 me gusta

Todavía no he jugado con las notas del personal, pero debería mirar el código de las notas del personal para ver si es realista extenderlo a notas adhesivas para uno mismo. Cada vez que profundizo en el código, aprendo un poco más y las cosas parecen un poco menos opacas.

2 Me gusta

Me encanta la función de notas de usuario y a mis moderadores también. La usamos mucho.

Podría ver un plugin llamado algo así como “Notas adhesivas de usuario” siendo algo útil. :thinking:

1 me gusta

La forma en que parecen estar implementadas las notas de usuario, hace que parezca difícil modificarlo para que funcione para notas adhesivas personales. (El texto de la nota va en una matriz json en la tabla plugin_store_notes, por lo que no está claro si puede tener algún formato. Los anuncios internos también se almacenan en esa tabla, pero usan formato HTML).

Además, no parece haber una forma de editar una nota de usuario. Supongo que podría eliminarse y volver a publicarse, aunque eso cambiaría la marca de tiempo.

1 me gusta

Para mí, sugeriría crear una tabla con tres claves:
id, post_id, user_id (correspondiente a que un usuario solo puede registrarse en una publicación),
y luego, dependiendo de tu idea, puedes registrar datos directamente en esta tabla, o publicar las notas del usuario como una publicación especial (para que si no habilitas el plugin, las notas originales aún se puedan conservar).

1 me gusta

o tal vez usar un campo personalizado (que Topic soporta).

Mi primer pensamiento es que la nota adhesiva debería referirse a una publicación específica, similar a una respuesta, no solo al tema. En una discusión larga, podría ver a un usuario deseando tener notas adhesivas adjuntas a varias publicaciones en un tema.

Usar una tabla sticky_post tiene sus méritos, pero es probable que haya varios lugares donde sea necesario excluir una sticky_post de la visualización o el procesamiento más allá de la simple visualización de un tema, como al enviar correos electrónicos, y sería necesario buscar en la tabla sticky_post cada publicación para ver si era una nota adhesiva de este usuario y, por lo tanto, se manejaba de manera diferente a una nota adhesiva hecha por otro usuario.

Un tipo de publicación (post_type) separado tendría mérito, pero eso podría necesitar ser parte del núcleo de Discourse, y puede haber otros problemas con ese enfoque que actualmente desconozco.

También existen campos personalizados de publicación (post custom fields), que podrían ser un mejor enfoque que los campos personalizados de tema (topic custom fields), aunque probablemente tenga muchos de los mismos problemas y limitaciones que una tabla de notas adhesivas (sticky_notes), al igual que poner esa información en la tabla plugin_store_notes.

Un enfoque combinado, en el que hay una entrada de campos personalizados de tema que indica que hay notas adhesivas en este tema, podría tener potencial. Si no hay ninguna, entonces no es necesario buscar en la tabla de campos personalizados de publicación un indicador de nota adhesiva.

1 me gusta

Otra posibilidad que tendría que formar parte del núcleo sería tener una bandera ‘sticky_note’ en la tabla de posts.

1 me gusta

Estoy autoalojando y construyendo una comunidad con fines educativos, y me encontré con algunos temas aquí en los que los usuarios explican cómo usan Discourse como su cuaderno personal. Sin embargo, eso claramente tiene sus limitaciones, así que se me ocurrió esta idea…

¿Quizás podría implementarse una función para que cada usuario tenga su propio cuaderno personal/privado de markdown? Aquí hay algunas ideas generales que tengo sobre cómo podría funcionar esta característica propuesta.

  • Habilitado solo para grupos seleccionados.
    Esto funcionaría muy bien con los complementos subscriptions y ai para que, por ejemplo, los suscriptores obtengan la capacidad de crear sus propias notas de IA.
  • Interruptores de limitación.
    Para reducir la carga del servidor, se podrían establecer limitaciones por grupo. Por ejemplo, el Grupo A puede tener 5 GB de espacio de almacenamiento en su cuaderno, pero el Grupo B puede tener 10 GB.
  • Estructura organizada.
    La estructura de este complemento podría ser similar a la de Microsoft OneNote, con cada cuaderno pudiendo tener múltiples secciones.
  • Compatibilidades de archivos.
    Los usuarios podrían adjuntar archivos a las notas: pdf, mp3, etc., y podría haber un visor de pdf simple integrado.
  • Integración más fina con Discourse AI.
    El bot de IA puede resumir automáticamente toda una discusión en un chat o PM y guardar el resumen en una página del cuaderno. etc., etc.
  • ¿Es factible?
    Considerando la gran cantidad de aplicaciones de toma de notas de código abierto, como Obsidian y Joplin, sospecho que podría ser rápido y fácil comenzar a desarrollar esta característica. No hace falta decir que esto tiene el potencial de generar buenos ingresos: ¡el trío de foro/IA/cuaderno!

¡Avísame qué piensan todos! ¡Quizás podamos desarrollar algo más específico y una idea más refinada!

3 Me gusta

Idealmente, me gustaría poder sincronizar las notas creadas en Discourse con mis notas locales de markdown. Una implementación básica de eso sería un botón de “descargar nota” en Discourse que generara un archivo .md a partir del contenido raw del tema de la nota. El título podría establecerse en \u003cnote topic title\u003e.md.

3 Me gusta

Ese es un buen punto y sin duda aumentaría la utilidad de esta función :grin:. También tener la capacidad de que los usuarios de un grupo tengan notas compartidas. Esto permitiría proyectos grupales, documentos de equipo, etc.