[Framindmap] problème d'export Freeplane

Bonjour,
J’essaie d’exporter une carte créée sur Framindmap vers Freeplane.
J’ai essayé les deux versions d’export Freeplane/freemind 1.0.1 et 0.9. A chaque fois, Freeplane me renvoie un message d’erreur (que je colle ci-dessous). Il semble y avoir un problème de codage de couleur et d’autres propriétés graphiques.
Est-ce que c’est un bug corrigeable, ou y a-t-il moyen de contourner?
Cordialement
Franck

at 2022-12-23 14:24:42 CMT, hash 02dc9b11f8b1d09f73185f2ae0d8e0f0
previous report : at 2022-12-23 13:58:42 CMT, hash 8cfea2bd055f4c9ec94a795cda5b4a84
freeplane_version = 1.10.6; freeplane_xml_version = freeplane 1.9.13
git revision = 3e6a1230ca958fab95cb83264fd638479f278426 Dimitry Polivaev 2022-12-07T13:14:37Z
java_version = 15.0.7; os_name = Windows 10; os_version = 10.0
déc. 23, 2022 3:24:41 PM org.freeplane.core.util.LogUtils severe
GRAVE: Can not process attribute BACKGROUND_COLOR = ‹ rgb(224,229,239) ›
java.lang.NumberFormatException: wrong color format in rgb(224,229,239). Expecting #aarrggbb
at org.freeplane.core.util.ColorUtils.stringToColor(ColorUtils.java:65)
at org.freeplane.core.util.ColorUtils.stringToColor(ColorUtils.java:75)
at org.freeplane.features.nodestyle.NodeStyleBuilder$3.setAttribute(NodeStyleBuilder.java:113)
at org.freeplane.core.io.xml.TreeXmlReader.addAttribute(TreeXmlReader.java:110)
at org.freeplane.core.io.xml.TreeXmlReader.addAttribute(TreeXmlReader.java:129)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:291)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.processElementContent(StdXMLParser.java:357)
at org.freeplane.core.io.xml.XMLParser.processElementContent(XMLParser.java:126)
at org.freeplane.n3.nanoxml.StdXMLParser.processElement(StdXMLParser.java:313)
at org.freeplane.core.io.xml.XMLParser.processElement(XMLParser.java:45)
at org.freeplane.n3.nanoxml.StdXMLParser.scanSomeTag(StdXMLParser.java:483)
at org.freeplane.n3.nanoxml.StdXMLParser.scanData(StdXMLParser.java:441)
at org.freeplane.n3.nanoxml.StdXMLParser.parse(StdXMLParser.java:118)
at org.freeplane.core.io.xml.TreeXmlReader.load(TreeXmlReader.java:257)
at org.freeplane.core.io.xml.TreeXmlReader.load(TreeXmlReader.java:334)
at org.freeplane.features.map.MapReader$NodeTreeCreator.create(MapReader.java:62)
at org.freeplane.features.map.MapReader$NodeTreeCreator.createNodeTreeFromXml(MapReader.java:76)
at org.freeplane.features.map.MapReader.createNodeTreeFromXml(MapReader.java:170)
at org.freeplane.features.map.MapReader.createNodeTreeFromXml(MapReader.java:163)
at org.freeplane.features.url.mindmapmode.MFileManager.loadTreeImpl(MFileManager.java:562)
at org.freeplane.features.url.mindmapmode.MFileManager.loadTree(MFileManager.java:532)
at org.freeplane.features.url.mindmapmode.MapLoader.loadMap(MapLoader.java:294)
at org.freeplane.features.url.mindmapmode.MapLoader.access$200(MapLoader.java:35)
at org.freeplane.features.url.mindmapmode.MapLoader$1.run(MapLoader.java:230)
at org.freeplane.features.url.mindmapmode.MapLoader$1.run(MapLoader.java:221)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at org.freeplane.features.url.mindmapmode.MapLoader.loadMap(MapLoader.java:221)
at org.freeplane.features.url.mindmapmode.MapLoader.getMap(MapLoader.java:134)
at org.freeplane.features.map.mindmapmode.MMapController.newMap(MMapController.java:1069)
at org.freeplane.features.url.mindmapmode.MFileManager$7.run(MFileManager.java:699)
at org.freeplane.features.url.mindmapmode.MFileManager$7.run(MFileManager.java:661)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at org.freeplane.features.url.mindmapmode.MFileManager.openUntitledMap(MFileManager.java:661)
at org.freeplane.features.url.mindmapmode.NewMapFromTemplateAction.actionPerformed(NewMapFromTemplateAction.java:44)
at org.freeplane.core.ui.AccelerateableAction.actionPerformed(AccelerateableAction.java:93)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Salut,

Cela semble être une certaine incompatibilité de terme. Pour quelle raison ? Je ne sais pas. Peut-être est-ce un map avec de vieux éléments qui n’ont pas changé depuis et qui ont été gardés tels quels avec leur incompatibilité.

Ce que je proposerai de faire est de faire une recherche dans le fichier exporté des termes BACKGROUND_COLOR, et si l’un ou plusieurs d’eux ont comme valeur quelque-chose comme rgb( 128, 255 , 3 ). Si oui, essayer en changeant ces rgb ( ... ) par des valeurs #00.....

A savoir que les nombres dans rgb s’expriment en décimal, alors que ceux qui commencent par # sont écrits en hexadécimal. En outre la valeur #... contient 8 chiffres hexadécimaux; 4 groupes de 2. Le premier groupe est l’alpha (l’opacité de la couleur); cette valeur peut-être à 00 ici. Les trois groupes suivants correspondent aux valeurs de rgb.

Donc rgb( 128, 255, 3 ) devrait certainement s’écrire #0080FF03. Autre exemple, rgb( 13, 154, 72) s’écrit #000D9A48.

Et ainsi, écrire BACKGROUND_COLOR = "#00E0E5EF"au lieu de BACKGROUND_COLOR = "rgb(224,229,239)" devrait résoudre le problème.

Enfin, j’espère…

ATTENTION: Ne pas oublier de faire une copie de sauvegarde avant modif :wink:

Merci pour cette réponse.
Effectivement ce code rgb est le seul dans tout l’export, alors que toutes les autres couleurs sont codées #ff etc. Je l’ai donc corrigé manuellement, et je n’ai plus ce message d’erreur.
Mais maintenant j’ai un autre message d’erreur plus général:
« Le fichier xxx.mm a été créée avec le logiciel FreeMind. Freeplane ne parvient pas à ouvrir, afficher ou enregistrer la carte. Pour plus d’information, visitez le site web http://freemind.sourceforge.net. »

Bref, je vais essayer de l’ouvrir dans Freemind, pour voir si depuis là je peux trouver un format d’export compatible avec Freeplane.
Merci
Franck