Add castom export to export menu

Hello!

Need help.
Want to write custom export xwiki page and want to add it to export menu

could any one tell how to do it?
maybe there is codes example…

Hi, you could check how it’s done by the LaTeX export application at latex/latex-export at master · xwiki-contrib/latex · GitHub (see for example latex/latex-export/src/main/java/org/xwiki/contrib/latex/internal/export/AbstractLaTeXExportUIExtension.java at master · xwiki-contrib/latex · GitHub). This example uses java to contribute the extension point.

1 Like

Hi!

I tride to build from master latex and copy jar files to lib folder,
but when I start xwiki, there is error

bash: /var/tmp/xwiki-8080.lck: No such file or directory
2023-05-17 18:44:51.160:INFO :oxtjl.NotifyListener:main: Запуск Jetty на порту 8080, на Java 11.0.14.1+1-LTS (OpenJDK Runtime Environment)...
2023-05-17 18:44:54.304:WARN :oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@50de186c{XWiki,/xwiki,file:///C:/xwiki-platform-distribution-flavor-jetty-hsqldb-15.1/webapps/xwiki/,UNAVAILABLE}{C:\xwiki-platform-distribution-flavor-jetty-hsqldb-15.1\webapps\xwiki}
java.lang.NoClassDefFoundError: Failed to get fields for class [org.xwiki.contrib.latex.internal.pdf.docker.DockerLaTeX2PDFConverter] because the class [com/github/dockerjava/api/exception/NotFoundException] couldn't be found in the ClassLoader.
        at org.xwiki.component.util.ReflectionUtils.getAllFields(ReflectionUtils.java:83)
        at org.xwiki.component.annotation.ComponentDescriptorFactory.createComponentDescriptor(ComponentDescriptorFactory.java:135)
        at org.xwiki.component.annotation.ComponentDescriptorFactory.createComponentDescriptors(ComponentDescriptorFactory.java:108)
        at org.xwiki.component.annotation.ComponentAnnotationLoader.getComponentsDescriptors(ComponentAnnotationLoader.java:169)
        at org.xwiki.component.annotation.ComponentAnnotationLoader.register(ComponentAnnotationLoader.java:215)
        at org.xwiki.component.annotation.ComponentAnnotationLoader.initialize(ComponentAnnotationLoader.java:137)
        at org.xwiki.component.annotation.ComponentAnnotationLoader.initialize(ComponentAnnotationLoader.java:119)
        at org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:156)
        at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:63)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1048)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:624)
        at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:983)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:740)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1304)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:900)
        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:532)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:40)
        at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
        at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:516)
        at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:151)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:186)
        at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:442)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:58)
        at org.eclipse.jetty.util.Scanner$DiscreteListener.pathAdded(Scanner.java:282)
        at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:836)
        at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:802)
        at org.eclipse.jetty.util.Scanner.scan(Scanner.java:709)
        at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:597)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:158)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
        at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:246)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
        at org.eclipse.jetty.server.Server.start(Server.java:470)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
        at org.eclipse.jetty.server.Server.doStart(Server.java:415)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$4(XmlConfiguration.java:1872)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1810)
        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 org.eclipse.jetty.start.Main.invokeMain(Main.java:229)
        at org.eclipse.jetty.start.Main.start(Main.java:527)
        at org.eclipse.jetty.start.Main.main(Main.java:76)
2023-05-17 18:44:54.404:INFO :oxtjl.NotifyListener:main: ----------------------------------
2023-05-17 18:44:58.993:INFO :oxtjl.NotifyListener:main: Сервер запущен, теперь можете открыть http://Aristov:8080/ в браузере для доступа к своей вики.
2023-05-17 18:44:58.994:INFO :oxtjl.NotifyListener:main: ----------------------------------