[Résolu] : Echec installation d'un skinpack sur scenari server 6.2 mais installation OK dans scenari-chain desktop

Bonjour à tous,

je fais face à un problème étrange suite à une mise à jour de notre skinpack (Opale web + Opale pdf + Topaze web) travaillée en local dans SCENARIchain-desktop.

Le skinpack généré s’installe sans problème dans SCENARIchain-desktop et est fonctionnel : les générations fonctionnent ainsi que les prévisualisations.

Par contre l’installation sur notre serveur scenari 6.2 échoue (cf log à la fin du post).
J’ai fait le test avec un travail effectué sous SCENARIchain-desktop 6.3.11 (opale 5.0.7, Topaze 5.0.2, Styler 6.3.11 et SCENARIchain-desktop 6.2.4 ((opale 5.0.7, Topaze 5.0.2, Styler 6.2.4), avec le même résultat : l’installation sur le serveur échoue.

J’avoue ne pas comprendre l’origine du problème malgré la lecture des logs serveurs : erreur ‹ skin › tag allowed only in skinSet context.

Merci d’avance pour votre aide !

DEBUT DE LA TRACE :

1— Error : Mon Sep 16 16:02:35 CEST 2024[580] - chain/mon.utilisateur (qtp1715998167-247) —
Install skinPack failed.

2— Error : Mon Sep 16 16:02:35 CEST 2024[577] - chain/mon.utilisateur (qtp1715998167-247) —
Unable to parse skinSet properties in the skinPack : /var/lib/scenarichain-server6.2/working/prl-chain/skinPacks/10395294814072126812.skinpack/skinSet.xml

3— Error : Mon Sep 16 16:02:35 CEST 2024[576] - chain/mon.utilisateur (qtp1715998167-247) —
‹ skin › tag allowed only in skinSet context

4— Exception : Mon Sep 16 16:02:35 CEST 2024[576] - chain/mon.utilisateur (qtp1715998167-247) —
eu.scenari.commons.util.lang.ScException
at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:382)
at eu.scenari.wsp.service.skinpack.SkinPack$SkinPackHandler.startElement(SkinPack.java:280)
at eu.scenari.xml.parser.piccolo.Piccolo.reportStartTag(Piccolo.java:847)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1309)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1043)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseTagNS(PiccoloLexer.java:917)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.yylex(PiccoloLexer.java:3868)
at eu.scenari.xml.parser.piccolo.Piccolo.yylex(Piccolo.java:978)
at eu.scenari.xml.parser.piccolo.Piccolo.yyparse(Piccolo.java:1066)
at eu.scenari.xml.parser.piccolo.Piccolo.parse(Piccolo.java:493)
at eu.scenari.xml.parser.PoolXmlReader$XXmlReader.parse(PoolXmlReader.java:92)
at eu.scenari.wsp.service.skinpack.SkinPack.parseSkinPack(SkinPack.java:218)
at eu.scenari.wsp.service.skinpack.SvcSkinPack.installSkinPack(SvcSkinPack.java:229)
at eu.scenari.wsp.service.skinpack.SvcSkinPackDialog.xExecuteDialog(SvcSkinPackDialog.java:240)
at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:93)
at eu.scenari.core.execframe.httpservlet.HttpRequestConnectorBase.handleRequest(HttpRequestConnectorBase.java:94)
at eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:829)

On peut avoir ce fichier ?

Bonjour Sam,

fichier envoyé en message privé.

Quelle est la version exacte de votre serveur ?

SCENARIchain-server 6 : SCENARIchain-server 6.2.4 202404081838 on OpenJDK 64-Bit Server VM 11.0.24+8-post-Ubuntu-1ubuntu320.04 / Linux amd64

Je viens de faire des tests :
Un skinpack généré par SCENARIchain 6.3 & SCENARIstyler 6.3 ne peut pas être installé sur un SCENARIchain 6.2.
Il faut forcément compiler un skinpack avec un SCENARIchain et un SCENARIstyler de version <= à la version du SCENARIchain cible.
On peut installer un skin généré avec SCENARIchain 6.2 sur SCENARIchain 6.3 mais pas l’inverse.

Remarque : SCENARIchain-server 6.2.6 est disponible. Cela ne changera rien à votre situation mais ce serait bien de mettre votre serveur à jour, voir de passer à SCENARIchain-server 6.3.

Oui et c’est pour cela que j’ai fait le test également dans un environnement 6.2.4, SCENARIchain-desktop 6.2.4 ((opale 5.0.7, Topaze 5.0.2, Styler 6.2.4) avec le même résultat (cf contenu de mon premier post dans le fil) ; je vais retenter demain à partir d’une installation propre de scenari chain au cas où. Mais dans l’environnement local 6.2.4 avec lequel je génère le skinpack dans mon deuxième test, que j’installe à l’intérieur et qui est fonctionnel avec un atelier Opale créé dedans est ensuite impossible à installer sur le serveur scenari. C’est pourtant le même paquet qui est installé dans les 2 cas d’où mon interrogation.

Je n’arrive pas à reproduire. Chez moi un slinpack généré par SCENARIchain 6.2 marche.

Vous pouvez aussi tenter de compiler le skinpack directement sur votre SCENARIchain-server 6.2. Instalez-y SCENARIstyler 6.2 puis importez un scwsp de votre skin.

Bonjour @pierre_mottin ,
La trace de votre premier message doit correspondre à l’installation d’un skin produit avec SCENARI6.3, dans un environnement SCENARI6.2.
Note : la compatibilité descendante n’est globalement pas une fonctionnalité adressée. Ceci-dit, il manque un message d’erreur explicite dans cette situation, pour les skinpack : on améliorera cela dans une prochaine version.

Il faut effectivement refaire un test, exclusivement dans SCENARI6.2 (ou exclusivement dans SCENARI6.3), et (re)donner l’éventuelle trace obtenue.
Cdt,
Antoine
Kelis

J’ai suivi le conseil de Sam et je suis reparti d’un atelier styler sur le serveur scenari 6.2.4.
J’ai importé les éléments de l’habillage et généré un skinpack depuis l’atelier styler du serveur.
Pas de problème à l’installation du pack.
Problème résolu.
Encore une fois merci pour votre aide.