Est-ce que Discourse prend en charge la notion d’une note personnelle attachée à un message par un utilisateur non-staff, que seule la personne qui l’a écrite peut voir ?
Le cas d’utilisation que j’ai en tête ici est un système de recettes, où les personnes qui utilisent une recette veulent prendre des notes sur ce qu’elles ont fait et comment cela a fonctionné, mais pas des notes qu’elles veulent que d’autres voient.
Les signets ne semblent pas conçus pour permettre beaucoup de formatage dans l’explication du signet. Dès que vous appuyez sur la touche Entrée (c’est-à-dire pour commencer un nouveau paragraphe), le signet est créé.
Quant aux messages privés, je ne vois pas de moyen direct de joindre un message privé à un article spécifique.
C’est quelque chose que j’envisagerais de faire, une fois que j’aurai suffisamment d’expérience dans le développement de plugins Discourse pour savoir quoi faire.
Les brouillons sont très peu fiables, car il ne peut y en avoir qu’un par sujet. Si quelqu’un commence à écrire un message pour un tel sujet, il écrase le brouillon sans avertissement.
Au début, j’ai mal compris votre message initial et j’ai pensé que la note devait être partagée entre la personne qui la créait et le créateur du post, ou juste pour marquer l’endroit. Je vois que vous voulez simplement une fonctionnalité de pense-bête pour que les utilisateurs puissent laisser une note personnelle sur un post, comme un marque-page textuel étendu sans la fonction temporelle. Comme le dit @Lhc_fl, c’est une bonne idée et je vois qu’elle pourrait être utile dans certains cas.
Je n’ai pas encore joué avec les notes du personnel, mais je devrais examiner le code des notes du personnel pour voir s’il est réaliste de l’étendre aux notes autocollantes pour soi-même. Chaque fois que je me plonge dans le code, j’apprends un peu plus et les choses semblent un peu moins opaques.
La façon dont les notes utilisateur semblent être implémentées rendrait difficile leur modification pour fonctionner comme des notes autocollantes personnelles. (Le texte de la note est placé dans un tableau JSON dans la table plugin_store_notes, il n’est donc pas clair s’il peut avoir un formatage. Les publicités internes sont également stockées dans cette table, mais elles utilisent un formatage HTML.)
De plus, il ne semble pas y avoir de moyen de modifier une note utilisateur. Je suppose qu’elle pourrait être supprimée et repostée, bien que cela changerait l’horodatage.
Pour moi, je suggérerais de créer une table avec trois clés :
id, post_id, user_id (correspondant à un utilisateur ne peut enregistrer qu’un seul post),
et ensuite, en fonction de votre idée, vous pouvez enregistrer directement les données dans cette table, ou publier les notes de l’utilisateur comme un post spécial (de sorte que si vous désactivez le plugin, les notes d’origine puissent toujours être conservées)
Ma première pensée est que la note autocollante devrait faire référence à un message spécifique, similaire à une réponse, et pas seulement au sujet. Dans une discussion longue, je peux imaginer qu’un utilisateur souhaite avoir des notes autocollantes attachées à plusieurs messages d’un sujet.
L’utilisation d’une table sticky_post a ses mérites, mais il y aurait probablement plusieurs endroits où il serait nécessaire d’exclure un sticky_post de l’affichage ou du traitement au-delà du simple affichage d’un sujet, par exemple lors de l’envoi d’e-mails, et il serait nécessaire de rechercher dans la table sticky_post chaque message pour voir s’il s’agissait d’une note autocollante de cet utilisateur et donc traitée différemment d’une note autocollante faite par un autre utilisateur.
Un type de message (post_type) séparé aurait du mérite, mais cela pourrait devoir faire partie du cœur de Discourse, et il pourrait y avoir d’autres problèmes avec cette approche dont je ne suis pas actuellement conscient.
Il existe également des champs personnalisés de message (post custom fields), qui pourraient être une meilleure approche que les champs personnalisés de sujet (topic custom fields), bien qu’ils aient probablement bon nombre des mêmes problèmes et limitations qu’une table sticky_notes, tout comme le fait de mettre ces informations dans la table plugin_store_notes.
Une approche combinée, dans laquelle il y a une entrée de champ personnalisé de sujet indiquant qu’il y a des notes autocollantes dans ce sujet, pourrait avoir un potentiel. S’il n’y en a pas, la table des champs personnalisés de message n’a pas besoin d’être recherchée pour un indicateur de note autocollante.
J’auto-héberge et je construis une communauté à des fins éducatives, et je suis tombé sur certains sujets ici où les utilisateurs expliquent comment ils utilisent Discourse comme leur bloc-notes personnel. Cependant, cela a clairement ses limites, alors j’ai eu cette idée…
Peut-être qu’une fonctionnalité pourrait être implémentée pour que chaque utilisateur puisse avoir son propre bloc-notes personnel/privé en markdown ? Voici quelques idées générales sur la façon dont cette fonctionnalité proposée pourrait fonctionner.
Activé uniquement pour les groupes sélectionnés.
Cela fonctionnerait très bien avec les plugins subscriptions et ai afin que, par exemple, les abonnés aient la possibilité de créer leurs propres notes IA.
Interrupteurs de limitation.
Afin de réduire la charge du serveur, des limitations par groupe pourraient être définies. Par exemple : le groupe A peut avoir 5 Go d’espace de stockage dans son bloc-notes, mais le groupe B peut en avoir 10 Go.
Structure organisée.
La structure de ce plugin pourrait être similaire à celle de Microsoft OneNote, chaque bloc-notes pouvant avoir plusieurs sections.
Compatibilités de fichiers.
Les utilisateurs pourraient joindre des fichiers à leurs notes : pdf, mp3, etc. et il pourrait y avoir une visionneuse pdf simple intégrée.
Intégration plus poussée avec Discourse AI.
Le bot IA peut résumer automatiquement une discussion entière dans un chat ou un MP et enregistrer le résumé sur une page de bloc-notes. etc. etc.
Est-ce réalisable ?
Compte tenu de la grande quantité d’applications de prise de notes open source, telles que Obsidian et Joplin, je soupçonne qu’il pourrait être rapide et facile de démarrer le développement de cette fonctionnalité. Inutile de dire que cela a le potentiel de générer de bons revenus — le trio forum/IA/bloc-notes !
Faites-moi savoir ce que vous en pensez ! Peut-être pouvons-nous développer quelque chose de plus spécifique et affiner une idée plus précise !
Idéalement, je voudrais pouvoir synchroniser les notes créées sur Discourse avec mes notes markdown locales. Une implémentation de base de cela serait un bouton « télécharger la note » sur Discourse qui générerait un fichier .md à partir du contenu raw du sujet de la note. Le titre pourrait être défini sur \u003ctitre du sujet de la note\u003e.md.
C’est un bon point et cela ajouterait certainement à l’utilité de cette fonctionnalité . Avoir également la possibilité pour les membres d’un groupe d’avoir des notes partagées. Cela permettrait des projets de groupe, des documents d’équipe, etc.