We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Comment fonctionne les propriétés de whiteliste wysiwyg.sanitize-html.attributes.* ?

Pierre MORIN · on 9/12/19 at 12:27 PM

Bonjour,

J'ai souhaité utiliser les propriétés wysiwyg.sanitize-html.attributes.* pour rajouter des attributs à la liste blanche des attributs, sans succès.

Je souhaitais rajouter l'attribut "data-toggle" à la whitelist de la manière suivante :

wysiwyg.sanitize-html.attributes.data-toggle.enabled: true
wysiwyg.sanitize-html.attributes.data-toggle.whitelist:
wysiwyg.sanitize-html.attributes.data-toggle.whitelist-regex: .*
wysiwyg.sanitize-html.attributes.data-toggle.blacklist: 
wysiwyg.sanitize-html.attributes.data-toggle.blacklist-regex: 
wysiwyg.sanitize-html.attributes.data-toggle.default-behavior: true

Cela n'a pas fonctionné. Finalement, j'ai utilisé les propriétés suivantes :

wysiwyg.sanitize-html.whitelist.test.enabled: true
wysiwyg.sanitize-html.whitelist.test.tags: div[data-toggle|data-target] 

Cela fonctionne, mais je ne comprend alors pas à quoi peuvent servir les propriétés wysiwyg.sanitize-html.attributes.*.

Merci.

Cordialement

#1

Merci pour cette nouvelle conversation.

En cas de nécessité, vous pouvez créer un ticket dans votre espace support en référençant cette conversation.

Cordialement.

Support Jalios · on 9/20/19 at 12:30 AM
12 pts
Olivier Jaquemet - on 10/24/19 at 8:38 AM
Best answer

Bonjour @Pierre MORIN 

Je ne comprends pas ton retour.

J'ai déclaré ceci dans mon custom.prop :

wysiwyg.sanitize-html.whitelist.data-attr.enabled: true
wysiwyg.sanitize-html.whitelist.data-attr.tags: div[data-toggle|data-target]
 

Dans un éditeur wysiwyg j'insére ce code (dans la vue source) et j'enregistre : 

<div data-toggle="abc" data-target="def" data-other="666">div avec data attributes</span>
 

J'ai bien ceci qui est enregistré : 

<div data-toggle="abc" data-target="def">div avec data attributes</span>
 
Les nouvelles capacité de nettoyage des attributs permettent d'intervenir à partir du contenu des attributs.

Par défaut tous les attributs autorisé par le nettoyage JSoup sont conservés. sauf ceux explicitement interdit par le nettoyage des attributs.

Je suis désolé que la documentation ne soit pas assez claire, dis moi ou ça peche et ce que je peux reformuler.

PS : désolé pour le temps de réponse sur ce sujet.

#1

A noter pour les autres, dans wysiwyg.sanitize-html.whitelist.data-attr.enabled/tags : "data-attr" est une valeur arbitraire, servant "d'ID" ; on aurait pu mettre "wysiwyg.sanitize-html.whitelist.totoaimealleralaplage.tags" et ça aurait fonctionner aussi bien. ;-)

Pierre MORIN · on 2/5/20 at 2:59 PM
#2

😂

Olivier Jaquemet · on 2/5/20 at 3:07 PM
8 pts
Pierre MORIN · on 2/5/20 at 2:37 PM

Suite à une discussion "en privé" avec le support Jalios, voici ce qui m'a aussi été répondu par @Olivier Jaquemet :

Les propriétés wysiwyg.sanitize-html.attributes.* servent à exclure (ou à laisser passer) des attributs à partir de la valeur que ces attributs contiennent.
En standard, cela permet notamment d'interdire : 

  • l'utilisation de l'attribut id en avec des valeurs qui sont utilisées par ailleurs pour recherche des éléments bien spécifique et ne doivent pas être surchargé (top topbar editForm sidebar AjaxCtxtDeflate CSRFTokenElm jalios-modal)
  • l'utilisation de l'attribut class en y spécifiant des classes du framework Jalios 
    • qui déclenche des comportements Javascript (ajax-refresh, card etc)
    • qui déclenche des rendu spécifique (gabarit d'app, de carte, de box, etc)
  • ...
#2

Merci. J'attends ça avec impatience (et au moins 1 collègue aussi). ;-)

Pierre MORIN · on 2/5/20 at 3:00 PM
#3

🎵 Unnn jouuuur ma dooc viendraaaaa... 🎶

Olivier Jaquemet · on 2/5/20 at 3:09 PM
#4

@Pierre MORIN j'ai déjà fait une première passe sur la doc, avec des explications complète sur la mécanique.

J'y ajouterais d'autres exemples plus concret ultérieurement.

https://docs.jalios.com/jplatform10/jcms/fr/front-end/wysiwyg/configuration-et-personnalisation/wysiwyg-configuration-du-nettoyage-html-6314

Olivier Jaquemet · on 2/24/20 at 8:34 AM
1 pt