Offline client plugin
- Manage
- Copy
- Actions
- Export
- Print Preview
- Viewers
- Source
- Siblings
- Attachments (3)
- History
- Likes
In combination with an iOS-, Android- or Desktop-App the offline client plugin allows for offline data collection with FORMCYCLE forms. The collected data can later be transmitted to the FORMCYCLE server.
Offline Apps
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [{{html}} #set($image="$!xcontext.macro.params.image") #set($docNameAndImgName = $image.split('@')) #if ($docNameAndImgName.size() != 2) #if ($image.indexOf('/') == -1) #set($image=$doc.getAttachmentURL($image)) #end #else #set($targetDoc=$xwiki.getDocument($docNameAndImgName.get(0))) #set($image=$targetDoc.getAttachmentURL($docNameAndImgName.get(1))) #end #set($title="$!xcontext.macro.params.title") #set($width="$!xcontext.macro.params.width") #if ($width != "") #set($width="width=$width") #end #set($height="$!xcontext.macro.params.height") #if ($height != "") #set($height="height=$height") #end #if ($xcontext.macro.params.group) #set($group="[$xcontext.macro.params.group]") #else #set($group="") #end #if($context.action == 'edit') <img src="$image" $width $height/> #else <a href="$image" rel="lightbox$group" title="$title"><img src="$image" $width $height /></a> #end {{/html}}] at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:139) at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:52) at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:286) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.transform(AbstractBlockAsyncRenderer.java:76) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:807) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:793) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:579) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.execute(DefaultWikiMacroRenderer.java:394) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267) at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacro.execute(DefaultWikiMacro.java:107) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacro.execute(DefaultWikiMacro.java:53) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.internal.macro.html.HTMLMacro.renderWikiSyntax(HTMLMacro.java:278) at org.xwiki.rendering.internal.macro.html.HTMLMacro.execute(HTMLMacro.java:158) at org.xwiki.rendering.internal.macro.html.HTMLMacro.execute(HTMLMacro.java:75) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.transform(AbstractBlockAsyncRenderer.java:76) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:807) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:793) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.transform(DefaultWikiMacroRenderer.java:579) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacroRenderer.execute(DefaultWikiMacroRenderer.java:394) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267) at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacro.execute(DefaultWikiMacro.java:107) at org.xwiki.rendering.wikimacro.internal.DefaultWikiMacro.execute(DefaultWikiMacro.java:53) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:101) at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:348) at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:221) at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:107) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157) at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:273) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:67) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43) at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96) at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42) at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1215) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1356) at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1305) at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1272) at com.xpn.xwiki.api.Document.displayDocument(Document.java:786) at jdk.internal.reflect.GeneratedMethodAccessor669.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.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:565) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:548) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:219) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:701) at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:72) at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:240) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:191) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.xwiki.velocity.internal.directive.TryCatchDirective.render(TryCatchDirective.java:86) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:301) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.Template.merge(Template.java:358) at org.apache.velocity.Template.merge(Template.java:262) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:284) at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:316) at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267) at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711) at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78) at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2506) at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2484) at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:983) at jdk.internal.reflect.GeneratedMethodAccessor208.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.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:565) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:548) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:219) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:490) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:328) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:258) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:301) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.Template.merge(Template.java:358) at org.apache.velocity.Template.merge(Template.java:262) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:284) at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:316) at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267) at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711) at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78) at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2506) at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2484) at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:983) at jdk.internal.reflect.GeneratedMethodAccessor208.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.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:565) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:548) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:219) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:490) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:328) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:258) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:301) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:172) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:191) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.Template.merge(Template.java:358) at org.apache.velocity.Template.merge(Template.java:262) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:284) at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:316) at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137) at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267) at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267) at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250) at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745) at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725) at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711) at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78) at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2506) at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:576) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:250) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:351) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:375) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:869) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [xwiki:Formcycle.PluginDocumentation.OfflineClientPlugin] at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:292) at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:316) at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131) ... 225 more Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getAttachmentURL' in class com.xpn.xwiki.api.Document threw exception java.lang.NullPointerException at xwiki:Formcycle.PluginDocumentation.OfflineClientPlugin[line 6, column 18] at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:306) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:233) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:701) at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:72) at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:240) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:172) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:144) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:172) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:423) at org.apache.velocity.Template.merge(Template.java:358) at org.apache.velocity.Template.merge(Template.java:262) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:284) ... 227 more Caused by: java.lang.NullPointerException
There three different apps that can be used for collecting form data offline:
- FORMCYCLE iOS-App-
- FORMCYCLE Android-App-
- Desktop-App (in development, currently only available in Beta version)
In order to use these apps it is neccessary to install the offline client plugin in FORMCYCLE. This plugin provides the capability to synchronize forms between app and server.
Configuration
On app startup the connection to the FORMCYCLE server needs to be configured. These settings can be changed anytime by accessing the menu entry Settings.
- User name
- Name of the FORMCYCLE user that collects data using this app. In the desktop app the client needs to be specified within this field like so: user@client
- Password
- Password of the FORMCYCLE user
- Client (only in iOS- and Android-App)
- FORMCYCLE client of the user. In the desktop app the client needs to be specified within the user name field: user@client
- URL
- URL under which the FORMCYCLE system is accessible. This URL needs to the same as the base URL of the client.
- Language (only in Desktop-App)
- Language of the app
- Logfile Level (only in Desktop-App)
- Determines what kind of messages will be logged for the app
Using the App
After configuring the FORMCYCLE offline app the available forms will be loaded from the server. These forms will then appear on in the overview of the app and can be opened anytime. Which forms will be loaded from the server depends on the user permissions in the offline client plugin.
- Synchronize
- After Clicking/tapping that button all forms will be loaded from the FORMCYCLE server and all finished form records of the app will be send to the server.
Clicking/Tapping a form from the form overview opens it. The form can now be filled out. If the form is filled out it can be finished or saved by clicking/tapping Send or Save. Finished form records will not be send directly to the server. Only after clicking/tapping Synchronize in the form overview will the finished form records be send to the FORMCYLE server. Saved form records will be saved on the device the offline app is installed on. These form records will not be send to the server.
Finished and saved form records can be accessed to the left of the form or via the menu in the top right corner. Saved form records can be changed before finishing and synchronizing them with the server.
Formularschaltflächen für das Speichern oder Absenden des Formulars stehen in den Offline-Apps nicht zur Verfügung, da Formularvorgänge nicht direkt abgesendet werden können. Stattdessen müssen die Schaltflächen der Apps Absenden und Speichern verwendet werden.
Globale Plugineinstellungen
Nach der Installation kann das Offline-Client-Plugin durch folgenden Parameter konfiguriert werden
- group-name
- Wenn nicht alle Formulare auf der Offline-App zur Verfügen stehen sollen, kann hier eine Formularegruppe angegeben werden. In der Offline-App erscheinen dann nur Formulare dieser Gruppe.