BUGS à voir
- tester l'encodage des vidéos avec ffmepeg,
- auto-complétion dans l'éditeur tag, interested by
- requetes webs, pages dans editeur pour liens
- Les menus web et page de la page search et de l'éditeur kupu provoquent un plantage dans jsp/process/link.jsp car on essaie de passer un paramètre à une feuille xsl via un tag des sem services.
- Tous les appels à des feuilles xslt + params merdent dans les semtags
Correction d'un bug d'encodage
Il a été nécessaire de convertir le format de certains fichiers jsp pour qu'ils soit en UTF8...
Insertion d'images, fichiers, vidéos
Lors de l'insertion d'une image, le fichier jsp/process/ProcessFileUpload.jsp appelait la fonction :
- if("<%= sel %>"=="video"){
- window.opener.notifyVideo(file, "<%= keywords %>");
- }else{
- window.opener.notifyImage(file, "/${pageContext.servletContext.servletContextName}/pub/" + name, "<%= keywords %>");
- }
- }
if("<%= sel %>"=="video"){
window.opener.notifyVideo(file, "<%= keywords %>");
}else{
window.opener.notifyImage(file, "/${pageContext.servletContext.servletContextName}/pub/" + name, "<%= keywords %>");
}
}
Et notifyImage est appelé par l'opener (jsp/kupu/edit.jsp en fait), la fonction notifyImage est dans jsp/kupu:kupuJScode.js
- function notifyImage(name, keywords){
- var url = "/${pageContext.servletContext.servletContextName}/pub/" + name;
- var newnode = kupu.getInnerDocument().createElement('span');
- newnode.setAttribute('about', url);
- attachKeywords(keywords, 'Image', newnode, url, name);
- var image = kupu.getInnerDocument().createElement('img');
- image.setAttribute('src', url);
- image.setAttribute('alt', name);
- image.setAttribute('class', 'image-inline');
- newnode.appendChild(image);
- kupu.insertNodeAtSelection(image, 1);
-
- }
function notifyImage(name, keywords){
var url = "/${pageContext.servletContext.servletContextName}/pub/" + name;
var newnode = kupu.getInnerDocument().createElement('span');
newnode.setAttribute('about', url);
attachKeywords(keywords, 'Image', newnode, url, name);
var image = kupu.getInnerDocument().createElement('img');
image.setAttribute('src', url);
image.setAttribute('alt', name);
image.setAttribute('class', 'image-inline');
newnode.appendChild(image);
kupu.insertNodeAtSelection(image, 1);
}
Bug identifié : l'url inséré dans le tag HTML contient
- /${pageContext.servletContext.servletContextName}
/${pageContext.servletContext.servletContextName}
qui ne peut être évalué dans du javascript. Dans la page en cours d'édition il est impératif d'insérer le path "réel" afin que l'image apparaisse bien. Néanmoins, lors de la sauvegarde de la page et afin qu'elle ne contienne pas en dur le path absolu, on remplace par la référence au contexte. Cela a lieu lors de la sauvegarde par la servlet Save.java qui exécute la feuille de style file/xsl/span2sew.xsl. Dans cette feuille de style on retrouve :
-
- <xsl:template match="*[starts-with(@src, $context) or starts-with(@href, $context) or starts-with(@about, $context)]">
- <xsl:copy>
- <xsl:for-each select="@*">
- <xsl:choose>
- <xsl:when test="(local-name(.) = 'src') or (local-name(.) = 'href') or (local-name(.) = 'about')">
- <xsl:attribute name="{local-name(.)}" namespace="{namespace-uri(.)}">/${pageContext.servletContext.servletContextName}<xsl:value-of select="substring-after(., $context)"/></xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="."/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- <xsl:for-each select="*">
- <xsl:apply-templates select="."/>
- </xsl:for-each>
- <xsl:for-each select="text()">
- <xsl:copy-of select="."/>
- </xsl:for-each>
- </xsl:copy>
- </xsl:template>
- <xsl:template match="@*|*|text()|processing-instruction()|comment()">
- <xsl:copy>
- <xsl:apply-templates
- select="*|@*|text()|processing-instruction()|comment()" />
- </xsl:copy>
- </xsl:template>
<!-- MB: This is for transforming all /wiki or equivalent into /${pageContext.servletContext.servletContextName} when going out from kupu -->
<xsl:template match="*[starts-with(@src, $context) or starts-with(@href, $context) or starts-with(@about, $context)]">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:choose>
<xsl:when test="(local-name(.) = 'src') or (local-name(.) = 'href') or (local-name(.) = 'about')">
<xsl:attribute name="{local-name(.)}" namespace="{namespace-uri(.)}">/${pageContext.servletContext.servletContextName}<xsl:value-of select="substring-after(., $context)"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
</xsl:for-each>
<xsl:for-each select="text()">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|*|text()|processing-instruction()|comment()">
<xsl:copy>
<xsl:apply-templates
select="*|@*|text()|processing-instruction()|comment()" />
</xsl:copy>
</xsl:template>
CORRECTION DU BUG : passer l'URL absolu lors de l'appel à notifyImage :
Fichiers impactés :
- jsp/process/ProcessFileUpload.jsp (utilisé pour l'upload d'images, de vidéos ou de fichiers)
- jsp/Process/ProcessLinkVideo.jsp (utilisé pour les insertions de vidéos externes)
- jsp/kupu/kupuJScode.js (contient les notifiers qui insèrent à la volée dans le dom les spans, les tags img, les tags video
Correction : auto-complétion des tags dans kupu
Il s'agit de l'auto-complétion des tags dans l'éditeur de kupu. NON CORRIGE
Correction des erreurs CXF au démarrage du contexte
Solution : mettre le bon spring.jar de la version 2.0.8 et virer les autres spring-2.0.8.*
Correction de la CSS de Kupu
Problème : Champs d'édition source trop petit en hauteur
Solution : Ajout de la propriété min-height, et d'une valeur absolue pour forcer l'éditeur à avoir au moins cette hauteur
/sweetwiki21/jsp/kupu/kupustyles.css, ligne 185
- textarea.kupu-editor-textarea { width: 99%; display: none; min-height: 550px; }
textarea.kupu-editor-textarea { width: 99%; display: none; min-height: 550px; }
Correction des feuilles XSLT
Problème : Le paramètre envoyé aux feuilles XSLT par le tag JSP <stl:send-query xsl="..." query="..." /> pose problème si on ajoute un paramètre pour le traitement de la XSL
Solution : Modifié les semtags
Modification de fr.inria.semtags.query.SubmitQueryTag, pour parser les paramètres envoyés dans le paramètre xsl, et les ajouter au processeur xslt.
Correction des IO Exception renvoyées par les tag send-query
Problème : 3 IO exceptions renvoyés dans la page d'accueil
Solution : Modifier semcore
Modification de fr.inria.semcore.JspTagHelper pour nettoyer le chemin envoyé à la méthode getRealPath qui supporte à la fois des chemins absolus et des chemins avec paramètres. Ajout d'un try catch afin d'éviter de renvoyer une exception de type FileNotFound lors d'un File file = new File(filepath);
Notes de bas de page
1 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#BUGS.c2.a0.c3.a0_voir
2 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_d'un_bug_d'encodage
3 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Insertion_d'images.2c_fichiers.2c_vid.c3.a9os
4 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_.3a_auto-compl.c3.a9tion_des_tags_dans_kupu
5 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_des_erreurs_CXF_au_d.c3.a9marrage_du_contexte
6 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_de_la_CSS_de_Kupu
7 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_des_feuilles_XSLT
8 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Gestion_du_projet_ISICIL/Travaux_effectu%c3%a9s_sur_SweetWiki_v21_laiss%c3%a9e_par_Adil#Correction_des_IO_Exception_renvoy.c3.a9es_par_les_tag_send-query