Opendocument et quelques problèmes

Bonjour

J’ai scenarichain 6, opale 4 et libreoffice 7.3.4.2 sous Xubuntu 22.04 LTS Jammy.

Après un importation d’atelier venant d’opale 3 et scenarichain5, quand je veux modifier des fichiers .ods de scenari, j’ai une erreur pour les enregistrer.
Capture d’écran_2022-08-27_07-24-43

J’ai aussi un message d’erreur quand je génère en Opendocument avec Opale. Néanmoins cela génère quand même malgré les anomalies. Et je peux ouvrir le document dans mon Libreoffice.
Il y a un tableau .ods trop gros qu’il n’arrive pas à gérer. Je ne vois aucun petit pictos pour « Attention », « Complément » alors que je les ai bien vus dans le skin de base d’Opale pour les opendocument. Et peut-être des choses que je n’ai pas encore vu.
Voici le début du message d’erreur :
"Une erreur est survenue lors de la génération.

— Admin details —

<?xml version="1.0" encoding="UTF-8"?>
<start t="26/08/22 22:56:05"/>
<l t="Warning" d="26/08/22 22:56:05">
	<message type="Warning" ts="1661547365764" appCtx="chain" thread="ForkJoinPool-1-worker-3" desc="Echec à la transformation de la ressource 'src:/1-DCG-recueil_exos/cas3_correction.ods?transform=od2img&amp;sizeRules=Dim(ScSCS(fontPt'10')Bounds(unit'cm'maxW'15'maxH'22'Rotate(ifExplicitlyAllowed'true')))&amp;outType=DIMS&amp;outRules=Str(pattern'w=!wcm;h=!hcm;r=!rot(y,n);')' dans &lt;dialog cdAction=&quot;Exe&quot; param=&quot;null&quot; class=&quot;HDialogPages&quot;&gt;&lt;agent uri=&quot;@\_papier.publi;/writeOdFile&quot; class=&quot;HAgentPages&quot;&gt;&lt;agtType code=&quot;writeOdFile&quot; xpathRoot=&quot;&quot; src=&quot;/~param/Opale/gen/paperLight/bs.doss/_root.xml&quot; class=&quot;HComposantTypePages&quot;/&gt;&lt;agtBag agtBagId=&quot;\_papier.publi;&quot; /&gt;&lt;/agent&gt;&lt;/dialog&gt;.">
		<message type="Error" ts="1661547365764" appCtx="chain" thread="ForkJoinPool-1-worker-3" desc="OpenDocument editor not found.">
			<message type="Error" ts="1661547365764" appCtx="chain" thread="ForkJoinPool-1-worker-3" desc="Load 'com.sun.star.comp.helper.Bootstrap' failed in jars : [jar:file:/opt/SCENARIchain-desktop%206/resources/app/srvLibs/sc-jav-transform.jar!/eu/scenari/transform/od/classes/, file:/usr/lib/libreoffice/ure-link/share/java/libreoffice.jar, file:/usr/lib/libreoffice/ure-link/share/java/jurt.jar, file:/usr/lib/libreoffice/ure-link/share/java/ridl.jar, file:/usr/lib/libreoffice/program/classes/unoil.jar, file:/usr/lib/libreoffice/ure-link/share/java/juh.jar, file:/usr/lib/libreoffice/basis-link/ure-link/share/java/jurt.jar, file:/usr/lib/libreoffice/basis-link/ure-link/share/java/ridl.jar, file:/usr/lib/libreoffice/basis-link/program/classes/unoil.jar, file:/usr/lib/libreoffice/basis-link/ure-link/share/java/juh.jar, file:/usr/lib/libreoffice/program/classes/jurt.jar, file:/usr/lib/libreoffice/program/classes/ridl.jar, file:/usr/lib/libreoffice/program/classes/unoil.jar, file:/usr/lib/libreoffice/program/classes/juh.jar]">
				<message type="Exception" ts="1661547365764" appCtx="chain" thread="ForkJoinPool-1-worker-3" desc="com.sun.star.comp.helper.Bootstrap">
					<details>java.lang.ClassNotFoundException: com.sun.star.comp.helper.Bootstrap"

et la fin
" at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

java.lang.ClassNotFoundException: com.sun.star.comp.helper.Bootstrap at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at eu.scenari.transform.od.TfmOpenDocument.getOoClassLoader(TfmOpenDocument.java:403) at eu.scenari.transform.od.TfmOpenDocument.xGetSubTransformer(TfmOpenDocument.java:189) at eu.scenari.transform.od.TfmOpenDocument.transform(TfmOpenDocument.java:138) at com.scenari.m.co.ant.TransformTask.execute(TransformTask.java:109) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) at jdk.internal.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) at org.apache.tools.ant.Task.perform(Task.java:350) at org.apache.tools.ant.Target.execute(Target.java:449) at org.apache.tools.ant.Target.performTasks(Target.java:470) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) at org.apache.tools.ant.Project.executeTarget(Project.java:1374) at com.scenari.m.ge.generator.ant.AntGenerator.xGenerate(AntGenerator.java:456) at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:626) at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170) at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157) at eu.scenari.core.universe.Universe$2.run(Universe.java:459) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

— Context —
reg: {« envKeys »:[« itemType »,« securityCtx »],« parent »:{« envKeys »:[« wsp »,« securityCtx »,« uiRoot »,« place »,« infoBroker »,« wedSearchCoord »],« parent »:{« envKeys »:[« resolver »,« universe »,« securityCtx »],« parent »:{« envKeys »:[« resolver »,« noAuthentication »,« universe »,« securityCtx »]}}}}
uiContext: undefined
wsp: undefined
shortDesc: {« srcUri »:"/_papier.publi",« srcDt »:1661543949510,« srcSt »:1,« itSgn »:"@op_odRoot#Xml#Map",« itSt »:1,« itModel »:« op_odRoot »,« srcRi »:511,« srcRoles »:["~default",« main:~fallback »]}
pubNode: {}
genInfo: {« codeGenStack »:« paperLight »,« title »:« Support papier OpenDocument de relecture »,« status »:« warning »,« lastGen »:1661547369191,« uriPub »:"/compta/_papier.publi/paperLight/_papier.odt",« localPathPub »:"/home/veronique/Documents/SCENARIchain-desktop 6/~gens/compta/_papier.publi/paperLight/_papier.odt",« uriTraces »:"/compta/_papier.publi/paperLight/meta/~Traces.xml",« mimeDownload »:« application/vnd.oasis.opendocument.text »,« skin »:« default »,« user »:"",« skins »:[{« code »:« default »,« title »:« Habillage standard »},{« code »:"~UBopaleopendocument",« title »:« UB opale opendocument »}]}
genProps: undefined
customDestPath: undefined
cidInfo: null

— App context —
url: http://localhost:8173/~~static/fr-FR/home.xhtml?code=test#(wsp’compta’srcRef’%2F_papier.publi’),
timestamp: 27/08/2022, 06:30:09
userAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) SCENARIchain-desktop6/6.0.5-final.202207191005 Chrome/93.0.4577.82 Electron/14.2.5 Safari/537.36"

Est-ce un problème de version de Libreoffice ?, faut-il définir à la main le chemin de Libreoffice ? est-ce autre chose ? Le premier problème est vraimant génant. les autres c’est moins grave.

Merci d’avance pour votre aide.

Est-ce que ça te fait pareil dans un atelier tout neuf pas importé ?

Bonsoir

Je viens de tester sur un atelier tout neuf et j’ai les mêmes problèmes.
Merci pour le temps passé à m’aider
Bonne soirée

Pour voir si j’ai bien compris : tu as un atelier dans lequel tu as un fichier ods comme ressource. Le fichier, tu l’ouvres par quelle méthode ? (Clic droit puis « ouvir dans l’éditeur par défaut du système » ?)

Bonjour @lalejand
Oui c’est exactement ce que je fais. Le document s’ouvre bien mais impossible d’enregistrer une modif. Ma seule solution c’est d’enregistrer ailleurs sur mon disque. puis dans scenari de faire clic droit remplacer et de sélectionner l’emplacement sur mon disque dur où je l’ai sauvegardé. J’ai fait comme ça par exemple dans scenaristyler quand j’ai voulu adapter un skin d’opale .
Merci d’avance pour votre aide.

Je viens de faire le test, et je n’ai pas de souci. J’ai LO 7.3.5.2 installé.
Tu peux essayer avec cette version de LO ?
Ça fait la même chose avec n’importe quel fichier ods ? Tu peux essayer avec un ods de test tout simple ?

Bonsoir
J’ai mis à jour mon système au cas où ça change quelque chose. J’ai supprimé l’atelier migré et j’ai recommencé la procédure. Et j’ai maintenant le doute si c’était déjà le cas avant, mais si j’ouvre le fichier ods via le mode explorateur de scenari en cliquant droit puis ouvrir dans l’éditeur par défaut du système, alors je peux faire une modif du fichier et la sauvegarder. Si en revanche, je double clique dans scenari sur le document et que je clique les trois points puis ouvrir dans Libreoffice, dans ce cas ça ouvre le fichier mais ça fait le message d’erreur pour l’enregistrement. Et ça dans l’atelier test qui est quasi vide avec juste de quoi tester ou mon vrai atelier bien rempli issu de la migration.

En pj. il y aussi les logs d’erreur même avec l’atelier quasi vide. On y lit plusieurs fois "OpenDocument editor not found."erreur_generation.odt (65,3 Ko)

La génération continue de poser les deux autres problèmes sur les vignettes « attention », « complément » etc. ou sur la taille d’un tableau trop grand.

Merci d’avance pour votre aide

Bonjour,

Par défaut LibreOffice n’est pas totalement installé sur Xubuntu 22.04, il manque toute la partie Java.
Il vous suffit d’installer le paquet libreoffice-java-common pour résoudre votre problème.
Vous pouvez aussi installer libreoffice pour avoir LibreOffice en entier.

Bonjour
Merci beaucoup @sam . J’ai installé ces deux paquets et cela a beaucoup amélioré les choses. La prévisualisation des documents .ods fonctionne. En revanche il faut que je fasse attention à cliquer sur Ouvrir dans l’éditeur par défaut du système et non Ouvrir avec Libreoffice pour pouvoir enregistrer mes modifs ensuite, alors que dans les deux cas la même version de Libreoffice semble s’ouvrir : 7.3.5.2 ???

Après avoir réglé un problème de taille de 2 éléments, cela génère sans erreur en Opendocument.
En revanche, je n’ai pas les petits pictogrammes devant les parties « Attention », même dans l’atelier de test avec presque rien dedans.

En tout cas grand merci déjà pour cette grande avancée.
Les pictogrammes se seraient joli mais sinon tant pis.
Bonne journée

Bonjour,

Dans Opale 4 nous changeons les usages des différentes publications, en effet :

  • La publication papier principale devient maintenant la version PDF, c’est celle qui peut être stylé facilement par SCENARIstyler, elle est basé sur la technologie Postscriptum qui, à notre avis, donne des résultats assez bons pour ne pas avoir à y retoucher derrière
  • La publication papier quadra OpenDocument historique n’est plus maintenue et n’est plus incluse dans Opale
  • Seule la publication allégé OpaleDocument est maintenue mais elle a été renommée « Support papier OpenDocument de relecture » : Elle n’est plus préconisée pour une production finale.

Ceci explique le fait que vous ne retrouvez pas entre autres, les pictogrammes des parties.

1 « J'aime »

En effet, visiblement il y a une régression dans LibreOffice autour du protocole WebDav.

Les deux façons d’ouvrir les ressources OD sont totalement différentes :

  • « Ouvrir avec Libreoffice » => on utilise le protoloce WebDav, LibreOffice travaille directement sur le serveur SCENARI en http
  • « Ouvrir dans l’éditeur par défaut du système » => seulement disponible dans SCENARIchain - on passe le chemin exact du fichier OD à l’OS qui utilise ce qu’il veux pour ouvrir le fichier, comme ti tu double-clique dans Thunar.
1 « J'aime »

Bonjour @sam
Merci pour votre aide.
Je viens de reregarder la publication pdf. Je crois que vos divers conseils précédents ont dû résoudre un autre problèmee car il me semble qu’avant les ressources en .ods ne s’affichait pas dans la génération pdf. Donc je vais aussi pouvoir me tourner vers cette solution de la génération pdf.

Merci pour tout

1 « J'aime »

Oui, c’est normal, Xubuntu n’installe pas complètement LibreOffice et il manque ce qu’il faut pour qu’une application Java comme SCENARI puisse piloter LibreOffice.