umap icon indicating copy to clipboard operation
umap copied to clipboard

Rich text editor for the description field

Open virgile-dev opened this issue 1 year ago • 5 comments

Is your feature request related to a problem? Please describe. As we are thinking about support for image upload #1849 we need to think about the interface for the users and thus adding a rich text editor to the description field with an image field

Describe the solution you'd like As a user I'd like to have a menu at the top of the field that shows icons to help me format the text for the field (bold, italic, add an image, add a table etc.) Capture d’écran du 2024-06-28 18-01-30 Being able to view the html source might be interesting for users who want to be able to do advance formating. Several open source libraries (ex : https://quilljs.com/) are focused on bringing rich text editor capabilities, we'd have to check which one fits our needs.

Describe alternatives you've considered User currently rely on the umap syntax to format their content and also input html directy in the field.

virgile-dev avatar Jun 28 '24 16:06 virgile-dev

(extracted from internal communication)

davidbgk avatar Jul 02 '24 21:07 davidbgk

See also: https://web.archive.org/web/20170703064833/https://romy.tetue.net/barre-outils-edition-raccourcis

davidbgk avatar Jul 02 '24 21:07 davidbgk

Quelques remarques:

  • est-ce qu'on est sûr de vouloir faire de l'éditeur un point bloquant pour l'ajout de l'upload d'images ? La question est celle de la découvrabilité de la fonctionnalité, mais par exemple sur Github ici on a une barre sous le textarea qui dit "Paste, drop, or click to add files", on pourrait s'en inspirer
  • il faudrait distinguer les éditeurs wysiwyg et les éditeurs de type markdown ou texte structuré: aujourd'hui dans uMap, on est pas en wysiwyg, mais en texte structuré; essentiellement parce qu'on peut mettre des variables
  • cela étant dit, on pourrait avoir deux modes de popups à l'avenir, un en texte structuré pour les geeks et ceux qui savent ce qu'ils ont ou qui ont besoin de mettre des variables, et un en wysiwyg pour les cas plus génériques et plus grand public, qui pourrait être celui par défaut
  • il se trouve que certains nous demandent justement plus de fonctions logiques pour par exemple avoir des if afin de texte l'existence d'une variable avant d'afficher du texte
  • on peut peut-être être radical et dire qu'on n'autorise plus aucune variable dans les descriptions (que ce soit de la carte, d'un calque ou d'un élément), et dans ce cas on peut y mettre un outil wysiwyg, et on utilise le umapdown™ seulement pour le template de popup (la question de basculer celui-ci un jour en un mardown plus conventionnel ou un de ces cousins étant gardée pour plus tard); pour ça, faudrait voir à quel point des variables ont été utilisées dans les descriptions, possiblement aucune côté carte ou calque, et très peu dans les descriptions d'éléments, mais ce dernier point n'est pas simple à vérifier
  • y a aussi des utilisateurs qui ont mis directement du HTML dans les descriptions et les templates, mais peut-être qu'on peut garder un mode "raw" même avec un éditeur

yohanboniface avatar Jul 03 '24 05:07 yohanboniface

Github writer

Je sais pas en termes de codes/légèreté, mais en termes UX, perso, c'est ce genre de truc que je viserais (mais basé sur CKEditor 5, donc potentiellement gazogène)

(Mais là on serait pas un wysiwyg, et donc se pose la question du umapdown™…)

yohanboniface avatar Jul 03 '24 05:07 yohanboniface

"Paste, drop, or click to add files"

Je n'y avais pas fait attention mais c'est vrai que dans un premier temps ça répond très bien à ma problématique initiale de découvrabilité de la fonctionnalité d'upload d'image

Donc pas nécessairement obligé de lier les deux problématiques ce qui est toujours bien pour éviter de la complexité :clap:

virgile-dev avatar Jul 03 '24 18:07 virgile-dev