Projet

Général

Profil

Actions

Bug #8227

fermé

JDBC Connector-Error sur selection valeur

Ajouté par Marc Avenel il y a plus de 7 ans. Mis à jour il y a environ 7 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Début:
09/09/2016
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.15.3
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

Nous avons une liste via le connector JDBC
Dans l'entête de l'affichage on voit la requête SQL avec les différentes images sur le bandeau de tri des valeur
ET dès que l'on clique sur une sélection du bandeau d'entête une erreur s'affiche sur l'écran.
Voir copie écran


Fichiers

Liste DB_Presentation_01.png (18,6 ko) Liste DB_Presentation_01.png Marc Avenel, 09/09/2016 11:14
Liste DB_Presentation_02.png (12,3 ko) Liste DB_Presentation_02.png Marc Avenel, 09/09/2016 11:14
DisplaySQL.PNG (6,36 ko) DisplaySQL.PNG Marc Avenel, 29/11/2016 08:35
Display_01.PNG (3,09 ko) Display_01.PNG Marc Avenel, 12/12/2016 13:55
Display_02.PNG (12,2 ko) Display_02.PNG Marc Avenel, 12/12/2016 13:55
tables.html (607 octets) tables.html Marc Avenel, 12/12/2016 15:19
connecteurJDBC.jsp (11,4 ko) connecteurJDBC.jsp A placer dans JBOSS_HOME/server/default/deploy/silverpeas/silverpeas.ear/war-ic.war/connecteurJDBC/jsp Nicolas Eysseric, 09/01/2017 13:41

Mis à jour par Nicolas Eysseric il y a plus de 7 ans

  • Tracker changé de Bug à Support
  • Projet changé de MyDB à JDBC Connector
  • Statut changé de New à Feedback

Votre requête SQL semble bien exotique.
Pouvez-vous la fournir ici svp ?

Mis à jour par Marc Avenel il y a plus de 7 ans

La voici
_________________________________________________________
select code ,
labelfr as "Intitulés de fonction",
coalesce(labelen, '') as "Job title",
concat ('<a href="/silverpeas/File/',iddocfr,'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">') as "<img width='16' height='16' src='/weblib/mgic/icon/fr.jpg'>",
concat ('<a href="/silverpeas/File/',iddocen,'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">') as "<img width='16' height='16' src='/weblib/mgic/icon/en.jpg'>"
from mgic_function order by CODE
________________________________________________________

Mis à jour par Marc Avenel il y a plus de 7 ans

Bonjour,
Je reviens à la charge sur ce problème.
Car je dois le déployer.
Je ne comprends pourquoi dans le bandeau de recherche on voit s'afficher les images de la requête.
Merci

Mis à jour par Marc Avenel il y a plus de 7 ans

Dans le source de la page JSP on a des " avec des ' avec le query de la requête, " , (, )
Donc des ',",(,) qui perturbe le HTML
Source de la page

<input type="hidden" href="/silverpeas/File/',iddocfr,'?ContentLanguage=fr/" ('<a="" concat="" title",="" "job="" '')="" coalesce(labelen,="" fonction",="" de="" "intitulés="" as="" labelfr="" ldap",="" value="select code as " name="SQLreq">
<img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">
') as "
<img width="16" height="16" src="/weblib/mgic/icon/fr.jpg">
", concat ('
<a href="/silverpeas/File/',iddocen,'?ContentLanguage=fr/">
<img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">
') as "
<img width="16" height="16" src="/weblib/mgic/icon/en.jpg">
" from mgic_function order by CODE "/>
<table width="100%" cellspacing="1" cellpadding="2" border="0">
</a>

Mis à jour par David Lesimple il y a plus de 7 ans

Je pense qu'il faut déja échapper vos caractères " et / de votre requête SQL.

Mis à jour par Marc Avenel il y a plus de 7 ans

Dans ma requête dans l'espace dédié dans le composant connecteur JDBC est la suivante:
select code as "LDAP",
labelfr as "Intitulés de fonction",
coalesce(labelen, '') as "Job title",
concat ('<a href="/silverpeas/File/',iddocfr,'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">') as "<img width='16' height='16' src='/weblib/mgic/icon/fr.jpg'>",
concat ('<a href="/silverpeas/File/',iddocen,'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">') as "<img width='16' height='16' src='/weblib/mgic/icon/en.jpg'>"
from mgic_function order by CODE

Cette syntaxe fonctionne bien dans le résultat de l'affichage
Par contre il n'accepte pas les caractères d'échappement
Cela me donne une erreur d'exécution

Mis à jour par David Lesimple il y a plus de 7 ans

D'autre part, le séparateur de chaines en SQL est le ' et pas le "
select code as 'LDAP' au lieu de select code as "LDAP"

Mis à jour par Marc Avenel il y a plus de 7 ans

Nous sommes sous Postgresql:
Mis les echappements
select code as "LDAP",
labelfr as "Intitulés de fonction",
coalesce(labelen, E'\'') as "Job title",
concat (E'<a href="/silverpeas/File/\'',iddocfr,E'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">\'') as "<img width=E'16\'' height=E'16\'' src=E'/weblib/mgic/icon/fr.jpg\''>",
concat (E'<a href="/silverpeas/File/\'',iddocen,E'?ContentLanguage=fr/"><img width="15" height="9" src="/weblib/mgic/icon/hyperlink.png">\'') as "<img width=E'16\'' height=E'16\'' src=E'/weblib/mgic/icon/en.jpg\''>"
from mgic_function order by CODE

Plus de message d'erreur, mais quand on clique sur un critère de sélection, on a une page blanche

Mis à jour par Marc Avenel il y a plus de 7 ans

select code as 'LDAP' au lieu de select code as "LDAP"
ne fonctionne pas sous postgresql...

Mis à jour par David Lesimple il y a plus de 7 ans

Autant pour moi, c'est bien " pour les alias de colonnes...

Mis à jour par Marc Avenel il y a plus de 7 ans

De plus l'escape de ce style
src=E'/weblib/mgic/icon/en.jpg\''
au résultat il tronque le g...de en.jpg

Mis à jour par David Lesimple il y a plus de 7 ans

Je ne vois pas de balise </a> pour fermer vos liens..

Mis à jour par Marc Avenel il y a plus de 7 ans

Comme de fait il manquait </a>
Par contre ca ne change rien.
Ce que je vois il ajoute sur le bandeau tous les liens uniquement sur les images.
Si je supprime l'affichage des images je n'ai plus ce problème...

Mis à jour par Marc Avenel il y a plus de 7 ans

Le bandeau fonctionne, mail il duplique toutes les images dans le bandeau de sélection
Voir copie écran.

Mis à jour par David Lesimple il y a plus de 7 ans

Il est bien possible l'application supporte mal les colonnes et les valeurs avec du contenu html.

Mis à jour par Marc Avenel il y a plus de 7 ans

Il supporte bien le HTML,
Mais pas les images dans le HTML la page JSP.
Comment je fais?
merci à vous

Mis à jour par David Lesimple il y a plus de 7 ans

Vous pouvez mettre du texte à la place des images puisqu'il s'agit de pictos liés à la langue.

Mis à jour par Marc Avenel il y a plus de 7 ans

Non justement...
Actuellement tout était fait par les pages WEB.
Donc pas du tout interactif, car dès une mise à jour des valeurs il fallait reprendre toute la page Web du portail
Le but
> Utiliser ce composant est dès que la valeur de la table est modifiée, la page Web est à jour.
> Conserver la présentation.

Nous avons également 3 plus dans ce composant:
> Interactif dès mise à jour de la table
> Sélectionner ses critères d'affichage
> générer du HTML propre via la requête SQL

SI vous pouviez corriger ce bug, ce serait le top !
Merci à vous

Mis à jour par David Lesimple il y a plus de 7 ans

Marc Avenel a écrit :

Comme de fait il manquait </a>
Par contre ca ne change rien.
Ce que je vois il ajoute sur le bandeau tous les liens uniquement sur les images.
Si je supprime l'affichage des images je n'ai plus ce problème...

Vous me dites que le pb n'est lié qu'à l'affichage des pictos des langues, c'est pour cela que je vous propose de Mettre English à la place du drapeau Anglais,etc...
Vous ne perdez pas les fonctionnalités de l'application...

Mis à jour par Marc Avenel il y a plus de 7 ans

Ça j'ai bien compris
Mais aussi les pictos sur l'ensemble des liens sur les documents des différentes GED
> Je peux mettre mot "Link" c'est sur.
Mais au niveau visuel, les utilisateurs perdent cette représentation qui existaient avant quand c'était généré par une web Page.
Merci

Mis à jour par Marc Avenel il y a plus de 7 ans

Dès que l'on intégre du HTML dans la l'interprétation de la requête.
Le bandeau de sélection s'agrandit de façon inapropriée...
dans la partie HEAD du l'affichage de la page on retrouve tout le code de la requête (dont le HTML)...
Voir les copies écran.

Mis à jour par Marc Avenel il y a plus de 7 ans

Dès que je mets du HTML entre << ca plante l'affichage
Exemple juste: replace(mgic_site.adress,'-','<br>')
Le <br> est trnasformé en '<br=""
Génère un HTMLm de cette sorte:
___________________________________________
<input type="hidden" coalesce(replace(mgic_site.adress,'-','<br="" "name",="" coalesce(mgic_site.companyname,'')="" "country",="" as="" coalesce(mgic_site.country,'')="" trigram",="" value="select mgic_site.code as " name="SQLreq">
'),'') as "ADRESS", COALESCE as "PHONE" from mgic_site order by mgic_site.code"/>

Mis à jour par Marc Avenel il y a plus de 7 ans

Si j'encode le <br> par <br>
Le bandeau est correcte,
Mais dans l'affichage de ma colonne le <br> n'est pas pris en compte comme <br>

Mis à jour par Marc Avenel il y a plus de 7 ans

Si je copie votre page HTML dans un fichier
Que je l'affiche c'est OK.
Voir exemple

Mis à jour par Marc Avenel il y a plus de 7 ans

En fait quand je valide la requête dans le connecteur
Il retransforme le <br> en <br>

Mis à jour par Marc Avenel il y a plus de 7 ans

J'ai regardé ce qui est généré et ce qui pose problème.
Dans votre champ de type "hidden" dans le value
On retrouve la requête sius cette forme:
_________________________________________________________________________________________________
value="select mgic_site.code as " name="SQLreq">
'),'') as "ADRESS", COALESCE as "PHONE" from mgic_site order by mgic_site.code"/>
___________________________________________________________________________________________________
C'est la balise
name="SQLreq">
qui est généré de façon automatique et qui pose problème

Mis à jour par Marc Avenel il y a plus de 7 ans

Non après vérification c'est le value de l'item.
Au premier caractère ">" rencontré dans la requête il ajoute la suite de la requête

value="select mgic_site.code as " name="SQLreq">
'),'') as "ADRESS", COALESCE(mgic_site.phonenumber,'') as "PHONE" from mgic_site order by mgic_site.code"/>

Si pas de caractère ">" la value s'arrête à
value="select mgic_site.code as " name="SQLreq">

Mis à jour par Marc Avenel il y a plus de 7 ans

Bonjour
Est-ce que ce composant va évoluer au niveau de la présentation ?
car je commence à le déployer de plus en plus sur différentes directions
Le but est de supprimer des fichiers Excel reconvertis ensuite en HTML pour être insérer dans des WebPage
D'avance je vous en remercie

Mis à jour par Marc Avenel il y a plus de 7 ans

Je me permets de vous relancer car nous devons déployer ce composant début Janvier 2017.
Merci

Mis à jour par Marc Avenel il y a plus de 7 ans

Je vous relance sur ce sujet:
-------------------------------------------------------------------------------------
Cette anomalie d'affichage bloque notre déploiement de différentes listes de ce type.
Si cette fonctionnalité d'affichage n'est pas "Vraiment" supportée par le composant,
Merci à vous de nous joindre un devis concernant cette fonctionnalité d'affichage.
D'avance je vous en remercie

Mis à jour par Nicolas Eysseric il y a plus de 7 ans

Voici un patch manuel que vous pouvez appliquer sur la version 5.15.3...

Mis à jour par Nicolas Eysseric il y a plus de 7 ans

  • Tracker changé de Support à Bug
  • Version cible mis à Version 5.15.6
  • % réalisé changé de 0 à 100
  • Votre base de données mis à Toutes

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Quelle est la procédure d'installation ?

Mis à jour par Nicolas Eysseric il y a plus de 7 ans

Emmanuel GRANGE a écrit :

Quelle est la procédure d'installation ?

Cela était dit dans la description du fichier joint.

A placer dans JBOSS_HOME/server/default/deploy/silverpeas/silverpeas.ear/war-ic.war/connecteurJDBC/jsp

Mis à jour par Marc Avenel il y a plus de 7 ans

Intégré sur le serveur de PRODUCTION le 12/01/2017.
Tout est OK

Mis à jour par Miguel Moquillon il y a environ 7 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Miguel Moquillon il y a environ 7 ans

  • Statut changé de Integration in progress... à V6 pending

Intégré dans la 5.15.6

Mis à jour par Miguel Moquillon il y a environ 7 ans

  • Statut changé de V6 pending à Closed

Intégré dans la 6.0

Actions

Formats disponibles : Atom PDF