Projet

Général

Profil

Actions

Bug #13364

fermé

Il arrive parfois que le contenu d'une newsletter ne s'affiche plus en édition, voire en prévisualisation

Ajouté par Yohann Chastagnier il y a presque 2 ans. Mis à jour il y a presque 2 ans.

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

100%

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

Description

Prérequis

  • une newsletter en cours d'édition OK, avec beaucoup de données HTML (400ko par exemple)
  • un réseau avec des latences (peut être simulé facilement avec le navigateur WEB)
Cas de test
  • en réseau normal
  • se diriger vers l'édition de la newsletter
  • passer en réseau dégradé (Fast 3G par exemple)
  • entrer en édition d'un champ texte (l'éditeur peut mettre un peu de temps à s'afficher)
  • modification du texte
  • clic sur le bouton Valider sans avoir quitté le champ texte
  • une alerte indique un risque choisir Quitter le plus rapidement possible

Résultat obtenu
Selon les latences du réseau, il est possible que les données enregistrées ne soient pas complètes.

Résultat attendu
Quelles que soient le latences réseaux, les données doivent être enregistrées dans leur intégralité.


Demandes liées 1 (0 ouverte1 fermée)

Lié à Infoletter - Feature #12713: Gestion et applications de modèlesClosedYohann Chastagnier19/11/2021

Actions

Mis à jour par Yohann Chastagnier il y a presque 2 ans

Mis à jour par Yohann Chastagnier il y a presque 2 ans

  • Statut changé de In progress... à Resolved
  • % réalisé changé de 0 à 100

Des contrôles ont été ajoutés au niveau de l'enregistrement automatique du contenu d'une newsletter.
Les données sont dans un premier temps enregistrées dans un fichier temporaire.
Si les traitements de contrôle ne détectent pas de problème, le contenu de ce fichier est enregistré dans la persistance.
Si des problèmes sont détectés, une erreur est retournée au navigateur WEB. Dans ce dernier cas, le fichier temporaire n'est pas supprimé, ce qui laisse des informations supplémentaires quant à l'analyse d'un éventuel problème.

Au niveau de l'interface graphique, le clic sur le bouton Valider, le bouton Annuler ou sur un lien du fil d’Ariane est contrôlé plus finement de sorte de réaliser l'action une fois qu'il est certain que l'opération de sauvegarde automatique est terminée.


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

Mis à jour par Miguel Moquillon il y a presque 2 ans

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

Mis à jour par Miguel Moquillon il y a presque 2 ans

Premier retour. Une newsletter a été créé avec du contenu pure HTML (récupéré d'un long article sur le Web). J'ai pu observé le soucis en 6.3.1-SNAPSHOT. Toutefois, avec le bogue, le contenu de la newletter peut se retrouver dans un état instable. Cet état se manifeste lorsque le contenu existe bien : on peut voir sa prévisualisation et en vignette de newsletter mais lorsque l'on accède à l'édition de celle-ci, une page blanche apparaît avec une exception dans les journaux de Silverpeas. Le soucis est que la correction ne traite pas ce cas passé, au sens de récupérer un contenu vérolé.
L'exception :

2022-12-09 16:07:38,703 SEVERE [silverpeas.core.wbe] (default task-6) null: org.silverpeas.core.SilverpeasRuntimeException
    at deployment.silverpeas.war//org.silverpeas.core.contribution.content.ddwe.model.DragAndDropWebEditorStore$Container.loadFrom(DragAndDropWebEditorStore.java:326)
    at deployment.silverpeas.war//org.silverpeas.core.contribution.content.ddwe.model.DragAndDropWebEditorStore$File.getContainer(DragAndDropWebEditorStore.java:249)
    at deployment.silverpeas.war//org.silverpeas.core.contribution.content.ddwe.DragAndDropWbeFile.resetTemporaryContent(DragAndDropWbeFile.java:144)
    at deployment.silverpeas.war//org.silverpeas.web.ddwe.DragAndDropWebEditorController.lambda$resetTemporaryContent$2(DragAndDropWebEditorController.java:139)
    at deployment.silverpeas.war//org.silverpeas.web.ddwe.DragAndDropWebEditorController.process(DragAndDropWebEditorController.java:314)
    at deployment.silverpeas.war//org.silverpeas.web.ddwe.DragAndDropWebEditorController.resetTemporaryContent(DragAndDropWebEditorController.java:138)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.ResponseContentProducer.invoke(ResponseContentProducer.java:82)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.ResponseContentProducer.handleJson(ResponseContentProducer.java:64)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.ResponseContentProducer.produce(ResponseContentProducer.java:56)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.WebComponentManager.executePath(WebComponentManager.java:437)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.WebComponentManager.perform(WebComponentManager.java:350)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.WebComponentRequestRouter.getDestination(WebComponentRequestRouter.java:133)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.WebComponentRequestRouter.getDestination(WebComponentRequestRouter.java:47)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.route.ComponentRequestRouter.computeNextDestination(ComponentRequestRouter.java:263)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.route.ComponentRequestRouter.computeDestination(ComponentRequestRouter.java:228)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.route.ComponentRequestRouter.doPost(ComponentRequestRouter.java:161)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.WebComponentRequestRouter.doPost(WebComponentRequestRouter.java:118)
    at [email protected]//javax.servlet.http.HttpServlet.service(HttpServlet.java:523)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet.service(SilverpeasHttpServlet.java:58)
    at deployment.silverpeas.war//org.silverpeas.core.web.mvc.webcomponent.SilverpeasAuthenticatedHttpServlet.service(SilverpeasAuthenticatedHttpServlet.java:79)
    at [email protected]//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
    at [email protected]//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at [email protected]//io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.components.whitepages.filters.ComponentRequestRouterFilter.doFilter(ComponentRequestRouterFilter.java:71)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.core.web.filter.MassiveWebSecurityFilter.doFilter(MassiveWebSecurityFilter.java:135)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.core.web.filter.WebCORSFilter.doFilter(WebCORSFilter.java:81)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.filter.InternetExplorerAntiCompatibilityFilter.doFilter(InternetExplorerAntiCompatibilityFilter.java:50)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.token.SessionSynchronizerTokenValidator.doFilter(SessionSynchronizerTokenValidator.java:104)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.core.web.filter.MessageFilter.doFilter(MessageFilter.java:73)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.filter.SilverpeasExceptionLoggingFilter.doFilter(SilverpeasExceptionLoggingFilter.java:49)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.filter.ResourceCacheFilter.doFilter(ResourceCacheFilter.java:55)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.filter.HttpServletRequestDecoration.doFilter(HttpServletRequestDecoration.java:59)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.silverpeas.war//org.silverpeas.web.filter.CharsetFilter.doFilter(CharsetFilter.java:73)
    at [email protected]//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at [email protected]//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at [email protected]//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
    at [email protected]//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at [email protected]//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at [email protected]//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
    at [email protected]//org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
    at [email protected]//org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
    at [email protected]//org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
    at [email protected]//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
    at [email protected]//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
    at [email protected]//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
    at [email protected]//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at [email protected]//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at [email protected]//io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
    at [email protected]//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at [email protected]//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
    at [email protected]//io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
    at [email protected]//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at org.wildfly.security.elytron-web.undertow-server-servlet@1.10.1.Final//org.wildfly.elytron.web.undertow.server.servlet.CleanUpHandler.handleRequest(CleanUpHandler.java:38)
    at [email protected]//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at [email protected]//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at [email protected]//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at [email protected]//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at [email protected]//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
    at [email protected]//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:275)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
    at [email protected]//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at [email protected]//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79)
    at [email protected]//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100)
    at [email protected]//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
    at [email protected]//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
    at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at [email protected]//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 23; columnNumber: 753; An invalid XML character (Unicode: 0x0) was found in the element content of the document.]
    at [email protected]//javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:310)
    at [email protected]//com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:548)
    at [email protected]//com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:234)
    at [email protected]//com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:199)
    at [email protected]//javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140)
    at [email protected]//javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:179)
    at deployment.silverpeas.war//org.silverpeas.core.contribution.content.ddwe.model.DragAndDropWebEditorStore$Container.loadFrom(DragAndDropWebEditorStore.java:324)
    ... 106 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 23; columnNumber: 753; An invalid XML character (Unicode: 0x0) was found in the element content of the document.
    at [email protected]//org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:201)
    at [email protected]//org.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:175)
    at [email protected]//org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:398)
    at [email protected]//org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
    at [email protected]//org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:282)
    at [email protected]//org.apache.xerces.impl.XMLScanner.reportFatalError(XMLScanner.java:1496)
    at [email protected]//org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1632)
    at [email protected]//org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
    at [email protected]//org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
    at [email protected]//org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
    at [email protected]//org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
    at [email protected]//org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
    at [email protected]//org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
    at [email protected]//com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:228)
    ... 110 more

Mis à jour par Miguel Moquillon il y a presque 2 ans

A savoir que dans les tests, je suis en mode réseau pourri

Mis à jour par Yohann Chastagnier il y a presque 2 ans

Oui, ce n'est pas possible de récupérer les cas vérolés.

Mis à jour par Miguel Moquillon il y a presque 2 ans

ok

Mis à jour par Miguel Moquillon il y a presque 2 ans

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

Intégré dans les branches 6.3.x et master.

Actions

Formats disponibles : Atom PDF