Project

General

Profile

Actions

Bug #11671

closed

User zoom et identity card sur page d'accueil d'espace

Added by Sebastien Vuillet about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Look
Start date:
09/02/2020
Due date:
% Done:

100%

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

Description

User zoom et identity card sur page d'accueil d'espace ne sont pas "dynamiques".
En effet il manque les javascript correspondants :

<script type="text/javascript" src="/silverpeas/util/javaScript/silverpeas-userZoom.61.js" language="Javascript"></script>
<script type="text/javascript" src="/silverpeas/util/javaScript/silverpeas-identitycard.61.js" language="Javascript"></script>

Actions #1

Updated by Nicolas Eysseric about 1 year ago

  • Status changed from New to Feedback

Je ne reproduis pas ce problème.
Les scripts cités sont bien référencés dans toutes les pages de Silverpeas (tag looknfeel).
La page d'accueil d'espace de Aurora ne fait pas exception.

Actions #2

Updated by Sebastien Vuillet about 1 year ago

Et bien sur apivia c'est reproductible facilement...

Actions #3

Updated by Sebastien Vuillet about 1 year ago

Je viens de refaire un test et visiblement cela ne concerne que userZoom.

Voir sur apivia la page d'accueil de l'espace Bac à Sable

Actions #4

Updated by Yohann Chastagnier about 1 year ago

  • Status changed from Feedback to Assigned
  • Assignee set to Yohann Chastagnier

Le problème vient du fait que le DOM est marqué comme déjà chargé, mais que les éléments du plugin identity-card de ckeditor ne sont pas encore dans le DOM.
Du coup, lorsque le traitement contenu dans silverpeas-identitycard.js s'exécute, il ne détecte aucun élément à gérer et donc aucun bloc userZoom à prendre en charge.

Il semble que cela dû à un effet de bord de l'utilisation de silverpeas-toggle pour le bloc introduction de la page d'accueil d'espace.
En effet, ce plugin opère une translation du WYSIWYG dans un autre conteneur du DOM pendant que le plugin silverpeas-identity s'exécute...

Actions #5

Updated by Nicolas Eysseric about 1 year ago

Ah ouais ! Technique !
Merci Yohann pour ton investigation.
Il y aura donc une correction possible ?

Actions #6

Updated by Yohann Chastagnier about 1 year ago

Oui, je pense à un mécanisme qui pourrait prendre en charge ce genre de problématique.

Actions #7

Updated by Yohann Chastagnier about 1 year ago

  • Status changed from Assigned to In progress...
  • Target version set to Version 6.1.1
Actions #8

Updated by Yohann Chastagnier about 1 year ago

  • Status changed from In progress... to Resolved
  • % Done changed from 0 to 100

Le traitement réalisé par whenSilverpeasEntirelyLoaded a évolué pour permettre à des modules/plugins techniques d'indiquer un délai supplémentaire avant qu'une page HTML soit considérée entièrement chargée.

Malgré cette évolution, tous les cas ne peuvent être pris en compte dans l'enchaînement de la prise en charge des différents modules/plugins utilisé par Silverpeas (cela pouvant également varier selon les navigateurs).
De ce fait, silverpeas-identitycard.js a aussi évolué pour fonctionner dans un mode dégradé : le plugin est ré-exécuté 1 seconde après une première exécution en échec.


PR: https://github.com/Silverpeas/Silverpeas-Core/pull/1100


Un module/plugin qui a besoin d'indiquer un délai supplémentaire avant qu'une page HTML soit considérée comme entièrement chargée doit utiliser : silverpeasEntirelyLoadedDelayer.
silverpeasEntirelyLoadedDelayer propose une méthode register() qui retourne une promesse. Reste au module/plugin à résoudre la promesse quand son traitement est terminé.

Le premier plugin à utiliser cette mécanique est silverpeas-toggle qui est une directive AngularJS. Elle est en charge de gérer l'affichage ou non d'un bouton permettant d'agrandir ou réduire une zone de la page. Pour cela, des opérations de mouvement d'éléments du DOM doit être effectuée au chargement de la page et ces manipulations peuvent être réalisée en arrière plan pendant que d'autres plugins s'exécutent (comme silverpeas-identitycard.js par exemple).

Actions #9

Updated by Nicolas Eysseric about 1 year ago

  • Status changed from Resolved to Integration in progress...
Actions #10

Updated by Nicolas Eysseric about 1 year ago

  • Project changed from 132 to Silverpeas Core
  • Category set to Look
  • Status changed from Integration in progress... to Closed

Validé et intégré en 6.1.1 et 6.2

Actions

Also available in: Atom PDF