ckeditor, le module qui rend fou

CKEditor travaille trop silencieusement et efface des données:

  • Quand on clique sur "Sauver" (meme si on n'a pas modifié le contenu de body, qu'on a par ex simplement "retiré de sitemap xml une page") il efface non seulement de la mise en forme, mais il arrive parfois qu'il efface aussi du contenu (texte, images), modifie des liens...
  • Le pire: CKEditor fait son travail de nettoyage avec le simple bouton "Source". Ie le simple fait de passer de l'un à l'autre modifie le contenu html de la balise body. Par ex: https://drupal.org/node/1606596

1. Lors de mise à jour du module, on perd régulièrement les conf (par ex, la barre d'outil), pire les plugin activés (si on a oublié de sauver et remettre la librairie "ckeditor/ckeditor" avant le update).
Avec les toutes dernières version de ckeditor, il dl à la volée la toute dernière version "4.4 full" - ce qui pète carrérement plein d'autres modules broken heartangry

Le truc indispensable est de personnaliser les couleurs des barres d'outils (avec une couleur flashy, pour tous les profils). En cas de pépin, on s'en rend compte plus vite.
Car avec ce module là, toute maj en prod (sans test sur un poste de dev) peut produire des pertes de données.
Solution: avoir son config.js

2. Erreur typique de l'utilisateur:

  • en modifiant une page, elle s'allonge. On crée donc une barre de nav dans le body avec ckeditor et des ancres (facon html statique). Pour l'instant, ca va...
    Mais dès qu'on la colle dans le résumé (ben oui, pour pouvoir aller directement à cet endroit, depuis les résultats de la recherche, ou via tags/mot-clé, ie philosophie "contenu en 2 clics"), selon le contexte, drupal va transformer ces liens-là en n'importe quoi (genre /tags/node/123#ancre).
  • un user consciencieux qui ajoute des infos là où il ne faut pas... CKeditor, onglet avancé d'un lien (<a> indique un lien interne au site ou vers un autre site web)via l'icone Image ou lien
    Ex avec "code de langue" - après on retrouve une erreur sur les outils de validation w3c car il manquera balise xml de la langue (ckeditor_link gère bien i18n et l'ajoute) mais ckeditor balisera différemment ce champs là. Sans parlere du champ "Nom", trop proche de "Description (title)" qui est celle qui faut remplir.
    Bref, on doit éduquer comme pas possible ses utilisateurs pour de "simples manip' de base" avec ckeditor... car il ne permet pas simplement de cacher l'onglet "cible" ou certains champs de l'onglet avancé.
    Solution: http://docs.ckeditor.com/#!/guide/dev_howtos_dialog_windows

Le fonctionnement de base drupal: on affiche ou non le résumé en mode pleine page par type de contenu. Mais comme ckeditor a aussi un plug-in "teaser" : comment modifie-t-il ce comportement de drupal? Pas d'info. Et c'est facile de confondre les 2.

3. il arrive, lors du maj du core, qu'on perde la conf des filtres. Ca, c'est bien le pire :(
Car meme en admin on peux perdre des données (et si l'on ne connait pas le contenu des dites données... c'est impossible de s'en rendre compte).

 

Bref, c'est de loin de module le plus difficile à maintenir (pour ne pas dire casse-tete). En plus, comme il agit hyper-silencieusement il est difficile à tracer.

 

https://drupal.org/node/1963270