Silverpeas Issues Tracker: Demandeshttps://tracker.silverpeas.org/https://tracker.silverpeas.org/favicon.ico?17095821032023-10-10T06:53:51ZSilverpeas Issues Tracker
Redmine Silverpeas Core - Feature #13791 (Resolved): Migrer StringTemplate de la version 3 à la version 4https://tracker.silverpeas.org/issues/137912023-10-10T06:53:51ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>En vue du passage à Jakarta EE 10, StringTemplate qui s'appuie sur Antlr nécessite d'être mise à jour à sa dernière version parce que la version d'Antlr supportée par Wildfly est désormais la version 4.</p>
<p>De plus, la version 4 d'Antlr et donc de StringTemplate est bien plus performant, ce qui permettra de profiter de ces gains lors de la génération de texte ou de fichier à partir de modèle StringTemplate.</p> Silverpeas Core - Feature #13476 (New): Amélioration de la prise en charge de l'avatar de l'utili...https://tracker.silverpeas.org/issues/134762023-02-07T17:31:47ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Actuellement, lorsque l'utilisateur importe une image comme avatar, il ne lui est pas possible de recadrer celle-ci comme avec n'importe quel outil moderne actuel. Aussi, selon les dimensions ou l'orientation de l'image, elle peut ne pas s'afficher correctement sur sa page de profil : elle est tronquée ! Ce qui donne une fausse information à l'utilisateur comme quoi son image de profil va être rognée dans tout Silverpeas. Ce qui est faux : si effectivement sur certaines pages comme l'annuaire son avatar sera tronqué, partout ailleurs il sera affiché déformé.</p>
L'objectif de cette fonctionnalité est :
<ul>
<li>Définir une dimension (ou deux : une petite et une grande) des avatars des utilisateurs afin d'homogénéiser leur affichage dans tout Silverpeas</li>
<li>Avoir la fonction de recadrage lors de l'import de l'avatar, comme avec les vignettes des publications par exemple, avec comme contrainte imposée à celle-ci la dimension définie dans le point précédent.</li>
</ul>
<p>Comme le widget utilisé dans l'import (et le recadrage) d'une vignette/avatar est transversal, on pourra en profiter pour apporter l'amélioration présentée ci-après.<br />Lorsque une image est modifiée via le widget, celui-ci propose un bouton vert "Précédent" pour revenir sur l'image d'origine, voir sur la nouvelle avant recadrage. Mais il n'est pas possible de revenir à l'image juste importée une fois ce bouton cliqué dans l'éventualité d'un changement d'avis ou dans une démarche de comparer l'image précédente à la nouvelle à l'affichage par un va et vient. Il serait donc utile de proposer un bouton vert "Suivant" dans le widget lorsque l'utilisateur a cliqué sur le bouton "Précédent" afin de pouvoir revenir à nouveau sur la nouvelle image (ou celle recadrée).</p> Silverpeas Core - Bug #13273 (New): Les responsables d'un sous-espace ne sont pas affichés lorsqu...https://tracker.silverpeas.org/issues/132732022-10-19T15:04:22ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>lorsqu'un sous-espace n'a pas d'administrateur d'espace explicite, seulement des administrateurs d'espace hérités de son ou de ses espaces parents, alors aucun administrateur d'espace n'est présenté via la fonctionnalité "Que voulez-vous faire ?" -> "Responsables de l'espace". Les administrateurs d'espace sont présentés si et seulement si, à un moment, un utilisateur y a été ajouté explicitement, même si ce dernier y a été par la suite retiré.</p>
<p>Soit un espace "A" avec un administrateur d'espace "admin1".<br />Soit un sous-espace de A, "Sub A", avec héritage des droits et pour lequel aucun administrateur d'espace n'y a été défini.<br />L'administrateur de l'espace "A", "admin1", est donc, par héritage des droits, aussi administrateur du sous-espace "Sub A".</p>
<p>A un utilisateur qui accède au sous-espace "Sub A" et qui, via le menu "Que voulez-vous faire ?" demande qui sont les responsables de l'espace, lui sera affiché une popin qui ne présentera que les administrateurs de la plate-forme et pas les administrateurs de l'espace.</p>
<p>Si un administrateur, "admin2", est ajouté explicitement au sous-espace "Sub A", alors à un utilisateur effectuant la même action sera bien présenté cette fois-ci tous les administrateurs du sous-espace, à savoir "admin1" et "admin2".</p>
<p>Si l'administrateur "admin2" est retiré des administrateurs du sous-espace "Sub A", alors comme précédemment, à l'utilisateur sera présenté les administrateurs de l'espace, cette fois-ci hérités, à savoir "admin1".</p> Silverpeas Core - Feature #12399 (New): Construction intelligente des URL d'accès à Silverpeas q...https://tracker.silverpeas.org/issues/123992021-06-16T15:44:14ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Actuellement, l'URL d'accès à Silverpeas est précisé dans chaque domaine d'utilisateurs. Rejeton d'un temps ancien et pouvant conduire à des bogues.</p>
<p>En effet, cet URL est utilisé dans la construction de l'URL d'accès à Silverpeas dans les notifications envoyées par mail aux utilisateurs. Or, si Silverpeas devait changer de host ou de port ou qu'il se retrouve dans un conteneur Docker ou que le reverse-proxy au devant de celui-ci devait changer aussi de host ou de port et que ces URL ne sont pas mis à jour à la main pour chaque domaine, les URL construites sont alors fausses.</p>
<p>Actuellement, seuls les agendas calculent correctement les URL de notification. L'idée ici est de supprimer ce champs d'URL dans les domaines parce qu'inutile et de réutiliser le mécanisme des agendas dans le calcul de l'URL correcte.</p>
<p>Une attention particulière devra être portée sur les notifications en batch.</p> Silverpeas Core - Bug #11923 (New): Popin de notification cachée par le layout bodyhttps://tracker.silverpeas.org/issues/119232020-12-09T15:03:25ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Un utilisateur, dans une application donnée, demande qui gère cette application.<br />Une popin apparaît alors avec les gestionnaires de l'application et, pour chacun d'eux, un lien pour envoyer une notification.<br />L'utilisateur clique sur le lien et une popin d’envoi de notification apparaît mais est cachée derrière la zone de contenu de l'application.<br />L'utilisateur peut quand même interagir avec la popin puisqu'il peut déplacer celle-ci mais comme une grande partie est cachée, il ne peut écrire son message.</p> Silverpeas Core - Bug #11922 (New): Instabilité de Silverpeas lorsque un utilisateur accède à un ...https://tracker.silverpeas.org/issues/119222020-12-09T13:59:00ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Un utilisateur est lecteur dans une application d'un espace donnée qui comprend aussi des applications avec accès public.<br />Par contre, il n'a aucun droit sur l'espace ; il n'y joue aucun rôle, pas même celui de lecteur.</p>
<p>Lorsqu'il clique, dans le menu du look Aurora, sur l'espace alors la partie "contenu" de Silverpeas est bloqué avec le message suivant sous Chrome : "Ce contenu est bloqué. Pour résoudre le problème, contactez le propriétaire du site." Il n'y a aucune erreur dans les traces de Silverpeas mais dans la console javascript du navigateur.</p>
<p>Sous les navigateurs qui utilisent le moteur WebKit de Chrome (donc Chrome compris, Opera, ...), il n'est plus possible alors pour l'utilisateur d’interagir avec Silverpeas. Seul sous Firefox l'utilisateur a encore la possibilité de revenir à la page d'accueil ou dans un autre espace.</p> Silverpeas Core - Feature #11915 (Feedback): Requête SQL incorrecte pour H2https://tracker.silverpeas.org/issues/119152020-12-04T16:05:17ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Une partie de la persistance en base de données dans Silverpeas est réalisée en SQL pure via notre composant <code>JdbcSqlQuery</code>. Ce dernier offre une DSL pour écrire des requêtes SQL tout en s'occupant des étapes redondantes et tout en automatisant certains mécanismes comme, par exemple, la pagination.</p>
<p>La pagination SQL utilise des fonctions de fenêtrage. Or, l'une d'elles, <code>COUNT() OVER()</code> n'est malheureusement pas supportée par H2. H2 est la base de données utilisées d'une part par nos tests d'intégration et d'autre part par les distributions de test/démo de Silverpeas (IzPack, Docker, ...). Pour information, ce système de base de données a été choisi parce qu'il est directement embarqué dans Wildfly et par conséquent nous évite de complexifier la mise en place des différents contextes de test avec un autre système de bases de données légers (Derby, Firebird, ...).</p>
<p>Il faudrait ici revoir le code dans <code>DefaultJdbcSqlExecutor</code> qui utilise la fonction de fenêtrage <code>COUNT() OVER()</code> dans le cas de la pagination. Une solution possible serait d'utiliser une sous-requête <code>SELECT COUNT() FROM</code>.</p>
<p>Ce problème concerne toutes les versions de Silverpeas >= 6.1</p> Silverpeas Core - Feature #5267 (New): Mise en conformité des entités vis à vis du WADLhttps://tracker.silverpeas.org/issues/52672014-02-07T08:33:04ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>L'implémentation Jersey de JAX-RS utilisé pour réaliser nos services web de type REST permet la génération d'un descripteur du service web sous format WADL (Web Application Description Language). Ce descripteur est généré automatiquement par Jersey pour un service web donné à la réception d'une requête OPTIONS.</p>
<p>Nous utilisons JAXB pour annoter nos entités Web en vue de leur génération en XML ou en JSON et Jersey repose sur ces dernières pour la génération du WADL. Or, certaines entités Web ne respectent pas correctement les contraintes liées à JAXB, ce qui provoquent l'échec de la génération WADL et un retour HTTP 404 au client.</p>
<p>L'objectif est de résoudre ce problème afin de permettre à tout client de service web de pouvoir interroger ce dernier avec une requête OPTIONS (requise dans le cas de cross-domain).</p> Silverpeas Core - Feature #3731 (In progress...): [Technique] Séparer dans Silverpeas Core ses AP...https://tracker.silverpeas.org/issues/37312012-09-24T12:38:49ZMiguel Moquillonmiguel.moquillon@silverpeas.com
Actuellement, lib-core comprend non seulement les API mais aussi l'implémentation de ceux-ci. Or, lib-core s'enrichit, ce qui conduit de plus en plus à plusieurs problèmes :
<ul>
<li>manque de visibilité des API de Silverpeas Core,</li>
<li>lourdeur/complexité de lib-core,</li>
<li>difficulté des tests qui ne peuvent s'appuyer sur une lib de tests réutilisable avec des mocks des API.</li>
</ul>
L'objectif serait de séparer dans Silverpeas Core la partie qui présente les interfaces du cœur de Silverpeas avec les objets métiers référencés par ces interfaces (l'API), de celle qui implémente ces interfaces.<br />Les avantages immédiats de cette séparation sont entre autre :
<ul>
<li>découpler les changement de l'implémentation de celles de l'API ; donc mieux cerner les modifications qui ont lieu dans l'API,</li>
<li>faire évoluer plus facilement la documentation de l'API avec cette dernière,</li>
<li>permettre aux développeurs extérieurs de se focaliser sur l'API et ne plus se perdre dans les méandres de l'implémentation,</li>
<li>fournit tout un kit de tests prêt à emplois pour construire rapidement ses propres tests.</li>
</ul> Silverpeas Core - Feature #1541 (New): Transmission de fichier vide non signaléhttps://tracker.silverpeas.org/issues/15412011-01-20T08:34:38ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Lorsque qu'un document vide est importé, l'import ne se fait pas et pourtant ceci n'est pas signalé à l'utilisateur ; si les documents vides ne sont pas valides, ce serait bien que l'utilisateur en soit informé.</p> DataWarning - Feature #1336 (New): Evolution du DataWarning: indiquer les ressources qui ne respe...https://tracker.silverpeas.org/issues/13362010-12-01T11:38:52ZMiguel Moquillonmiguel.moquillon@silverpeas.com
<p>Le Datawarning déclenche, selon une périodicité paramétrable, une requête SQL, qui renvoie un nombre N.</p>
<p>Ce nombre est comparé à un seuil S, paramètrable par l’utilisateur (=, >=, >, <, <=, !=), et si S est franchi par le nombre renvoyé par cette requête, alors le service envoie une notification à des abonnés, et peut aussi déclencher une deuxième requête, dite « inconditionnelle » dont le résultat est affiché en page « consultation ».</p>
<p>Au passage, nous avons remarqué que :</p>
<p>- Il n’est pas possible de descendre la périodicité en dessous d’une heure (il faudrait)</p>
<p>- Il n’est pas possible de supprimer la requête inconditionnelle, une fois qu’elle a été saisie, car le controleur syntaxique bloque la suppression.</p>
<p>Il faudrait en fait :</p>
<p>- Que la première requête, qui détecte le franchissement de S par N, ne renvoie que le sous-ensemble qui provoque le franchissement de S , et pas tous les sous-ensembles analysés.</p>
<p>- Que la deuxième requête, puisse bénéficier d’un ID, commun au sous-ensemble qui provoque le franchissement de S, de façon à completer éventuellement, les informations à fournir par la deuxième requête.</p>
<p><ins>Exemple :</ins> nous avons créé une requête qui détecte dans my.silverpeas les espaces auxquels les prospects accèdent plus de 5 fois dans une journée (si S > 5 : ça veut dire qu’ils étudient vraiment Silverpeas). Quand il détecte une telle activité sur un espace, il semble que le Datawarning renvoie tous les espaces sur lesquels il y a eu de l'activité, il faut donc afficher et consulter le N de chaque espace, pour savoir lequel a franchi le seuil, ou déclencher une requête inconditionnelle qui va faire ce travail, mais contiendra en dur le seuil S, ce qui n’est pas joli, ni à la portée d’un utilisateur Lambda.</p>
<p>Si la requête inconditionnelle, pouvait bénéficier le l’ID de l’espace qui a franchi S, elle pourrait par exemple, fournir d’autres infos interressantes, permettant de se faire une vraie idée de l’activité, par exemple :</p>
<p>- La date de création de l’espace,</p>
<p>- le nom de l’utilisateur qui s’y active,</p>
<p>- le type de composant le plus utilisé, etc.</p>
<p>et ça, ça serait un vrai Datawarning ! (que j’essaye d’obtenir depuis 7 ans…) et qui maintenant est aussi attendu dans les usages de Silverpeas en "consolidation de données" (type BASF, FNMJ, etc).</p>