Description
A previous micro or bugfix version of Confluence did introduce a non-backwards compatible version of the JSoup library that will result in a runtime failure of the projectdoc Toolbox. This prevents the rendering of a couple of macros that rely on HTML and XML parsing with JSoup.
The API change that affects the projectoc Toolbox is releated to the NodeVisitor and the TextNode classes. For instance:
java.lang.NoSuchMethodError: 'void org.jsoup.select.NodeTraversor.<init>(org.jsoup.select.NodeVisitor)'
at de.smartics.projectdoc.atlassian.confluence.tools.jsoup.JSoupHtmlToText.internalToText(JSoupHtmlToText.java:94)
at de.smartics.projectdoc.atlassian.confluence.tools.jsoup.JSoupHtmlToText.toText(JSoupHtmlToText.java:89)
at de.smartics.projectdoc.atlassian.confluence.util.HtmlToText.toText(HtmlToText.java:303)
at de.smartics.projectdoc.atlassian.confluence.util.HtmlToText.toText(HtmlToText.java:307)
at de.smartics.projectdoc.atlassian.confluence.document.Utils.normalizeRenderedValue(Utils.java:392)
at de.smartics.projectdoc.atlassian.confluence.document.Utils.normalizeOriginalValue(Utils.java:461)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.<init>(DocumentPropertyValue.java:344)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.<init>(DocumentPropertyValue.java:282)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.createValid(DocumentPropertyValue.java:551)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.createValid(DocumentPropertyValue.java:532)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:223)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:298)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:286)
at de.smartics.projectdoc.atlassian.confluence.query.PropertiesDocumentCreator.fakeDocument(PropertiesDocumentCreator.java:229)
at de.smartics.projectdoc.atlassian.confluence.query.PropertiesDocumentCreator.fetchRenderFromBodyOrFake(PropertiesDocumentCreator.java:216)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.providePropertiesDocument(AbstractDocumentPropertiesMacro.java:279)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.licensedExecute(AbstractDocumentPropertiesMacro.java:202)
at de.smartics.projectdoc.atlassian.confluence.macros.document.DocumentPropertiesMarkerMacro.licensedExecute(DocumentPropertiesMarkerMacro.java:89)
at de.smartics.projectdoc.atlassian.confluence.util.LicenseMacro.executeMacro(LicenseMacro.java:225)
at de.smartics.projectdoc.atlassian.confluence.util.LicenseMacro.execute(LicenseMacro.java:148)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.execute(AbstractDocumentPropertiesMacro.java:152)
We need to update the code of the projectdoc Toolbox to be compatible to version 1.9.2 and 1.14.3 of JSoup.
We should also remove the CDATA workaround due to JSoup issue 406, since this issue is fixed in 1.11.3.
We also need to fix issues where we construct body-based HTML fragments instead of HTML documents. This seems to be valid in 1.9.2, but not in 1.14.3.
Attachments
Issue Links
- is blocked by
-
PDAC-1641 JSoup internal API
- Done