Project

General

Profile

Actions

Bug #15370

closed

Recherche de terme contenant des caractères spéciaux provenant du WYSIWYG

Bug #15370: Recherche de terme contenant des caractères spéciaux provenant du WYSIWYG

Added by Aurore Allibe 20 days ago. Updated about 6 hours ago.

Status:
Closed
Priority:
Normal
Category:
Moteur de recherche
Start date:
06/25/2026
Due date:
% Done:

0%

Estimated time:
Navigateur:
Tous
Votre version de Silverpeas:
6.4
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

Si dans le contenu WYSIWYG de ma publication il y a un terme contenant un caractère spécial par exemple : éléphant
alors via la recherche Silverpeas je cherche éléphant et bien la publication n'est pas trouvée... si je cherche éléphant

Updated by Miguel Moquillon 20 days ago Actions #1

Le problème vient que, par défaut, CKEditor encode les caractères accentués en entités HTML. Or ce sont ces caractères en entité HTML qui sont indexés. Ce qui fait que le mot accentué à recherché n'est pas trouvé mais si on le passe dans le moteur de recherche avec les caractères accentués sous forme d'entités HTML, la publication avec le mot est bien trouvée.

Pour palier à ce bogue, j'ai paramétré CKEditor pour ne pas encoder les caractères accentués en entités HTML et de conserver les caractères en UTF-8 (UTF-8 est l'encodage par défaut du Web moderne).

Par contre, pour que cette modification de configuration ait un effet sur l'existant, il faut réenregistrer l'ensemble des contenus WYSIWYG.

Corrigée dans les branche 6.4.x et les branches master et master-jee.

Updated by Miguel Moquillon 20 days ago Actions #2

  • Status changed from New to Closed

Updated by Aurore Allibe 16 days ago Actions #3

Pour le point "il faut réenregistrer l'ensemble des contenus WYSIWYG."

Nous avons des moulinettes existantes qui nous permettent d'automatiser cela ?

Updated by David Lesimple 13 days ago Actions #4

Aurore Allibe a écrit (#note-3):

Pour le point "il faut réenregistrer l'ensemble des contenus WYSIWYG."

Nous avons des moulinettes existantes qui nous permettent d'automatiser cela ?

Peut-etre en s'inspirant du script Groovy 01-updateAttachmentsWithFileServer.groovy ?
Qu'en penses-tu Miguel ?

Updated by Miguel Moquillon 13 days ago Actions #5

Yep, on peut faire ça avec un script. Il faudra tenir compte de tous les accents possibles !

De toute manière, il faudra de toute manière réindexer les contenus et ça ça ne pourra pas le faire avec un script.

Updated by David Lesimple 13 days ago Actions #6

Miguel Moquillon a écrit (#note-5):

De toute manière, il faudra de toute manière réindexer les contenus et ça ça ne pourra pas le faire avec un script.

Ca c'est pas un problème. On le mettra comme consigne dans la newsletter.

Updated by Miguel Moquillon 5 days ago Actions #7

En vue de la sortie de la 6.4.7, j'ai écris un script Groovy qui mette à jour les anciens WYSIWYG. Pour compléter mes tests, pouvez vous me passer svp des exemples concrets de contenus WYSIWYG dans lesquels les caractères accentués sont encodés en HTML.

Updated by Miguel Moquillon 5 days ago Actions #8

C'est bon. j'ai écris un script, 01-updateWYSIWYGContents.groovy, qui convertit pour tous les fichiers WYSIWYG les caractères accentués et spéciaux en leur équivalent UTF-8.

Updated by David Lesimple 2 days ago Actions #9

  • Target version set to Version 6.4.7

Updated by Miguel Moquillon about 6 hours ago Actions #10

Attention, il s'avère que chez des clients ou des serveurs chez nous (exemple de l'extranet), le fichier de configuration de l'éditeur de contenu riche, en l'occurrence CKEditor, n'est pas celui par défaut de Silverpeas, mais particulier à ceux-ci. Le fichier de configuration de CKEditor est indiqué via le paramètre configFile du fichier de propriétés $SILVERPEAS_HOME/properties/org/silverpeas/wysiwyg/settings/wysiwygSettings.properties. Si ce paramètre ne référence pas le fichier de configuration de CKEditor par défaut pour Silverpeas :

configFile = wysiwyg/jsp/ckeditor/silverconfig.js

alors il faut rajouter les deux lignes suivantes dans le fichier de configuration particulier :

CKEDITOR.editorConfig = function( config )
{
  config.entities = false;
  config.entities_latin = false;
  ...
}
Actions

Also available in: PDF Atom