Hi everyone,
Following our vote on https://markmail.org/message/j7wiezlpggft3yfm the devs mailing list is now deprecated.
All devs discussions should now go on https://forum.xwiki.org into the “Development” category.
I would like to thank our devs mailing list for the nice service it has provided the XWiki project over the last 10 years+ :)
Thank you
-Vincent on behalf of the XWiki dev community
Hi devs,
I think we are now satisfied with our experimentation with the "users"
mailing list on discourse. I propose you to move the "dev" ML too.
My main point is that it allows advanced formatting (which is good when you
have complex proposals), meanwhile the formatting is lost with our
archiving tool like markmail (it's plain text).
Here is my +1.
Thanks,
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the XWiki.org project
I caused this one by committing by error a change in commons. I’ve reverted it so it should pass during the next run.
Sorry about that.
Thanks
-Vincent
> On 12 Sep 2019, at 13:40, Jenkins LTS <build.noreply(a)xwiki.org> wrote:
>
> Check console output at https://ci.xwiki.org/job/XWiki/job/xwiki-platform/job/master/2249/ to view the results.
>
> Failed tests:
>
> 4 tests failed.
> FAILED: org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest.Platform Builds / quality / Build for Quality / initializationError
>
> Error Message:
> org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest
>
> Stack Trace:
> java.lang.ClassNotFoundException: org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest
> at java.lang.ClassLoader.findClass(ClassLoader.java:530)
> at org.xwiki.test.isolation.IsolatedTestRunner$IsolatedTestClassLoader.loadLocalClass(IsolatedTestRunner.java:167)
> at org.xwiki.test.isolation.IsolatedTestRunner$IsolatedTestClassLoader.loadClass(IsolatedTestRunner.java:155)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at org.xwiki.test.isolation.IsolatedTestRunner.getFromTestClassloader(IsolatedTestRunner.java:125)
> at org.xwiki.test.isolation.IsolatedTestRunner.<init>(IsolatedTestRunner.java:84)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
> at org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder$DefensiveAnnotatedBuilder.buildRunner(DefensiveAllDefaultPossibilitiesBuilder.java:113)
> at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
> at org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder.runnerForClass(DefensiveAllDefaultPossibilitiesBuilder.java:56)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.vintage.engine.discovery.TestClassRequestResolver.createRunnerTestDescriptor(TestClassRequestResolver.java:55)
> at org.junit.vintage.engine.discovery.VintageDiscoverer.lambda$discover$0(VintageDiscoverer.java:53)
> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at java.util.Iterator.forEachRemaining(Iterator.java:116)
> at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
> at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(VintageDiscoverer.java:55)
> at org.junit.vintage.engine.VintageTestEngine.discover(VintageTestEngine.java:62)
> at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:177)
> at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:164)
> at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
>
>
> FAILED: org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest.Platform Builds / main / Build for Main / initializationError
>
> Error Message:
> org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest
>
> Stack Trace:
> java.lang.ClassNotFoundException: org.xwiki.security.authorization.internal.DefaultAuthorizationSettlerTest
> at java.lang.ClassLoader.findClass(ClassLoader.java:530)
> at org.xwiki.test.isolation.IsolatedTestRunner$IsolatedTestClassLoader.loadLocalClass(IsolatedTestRunner.java:167)
> at org.xwiki.test.isolation.IsolatedTestRunner$IsolatedTestClassLoader.loadClass(IsolatedTestRunner.java:155)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at org.xwiki.test.isolation.IsolatedTestRunner.getFromTestClassloader(IsolatedTestRunner.java:125)
> at org.xwiki.test.isolation.IsolatedTestRunner.<init>(IsolatedTestRunner.java:84)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
> at org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder$DefensiveAnnotatedBuilder.buildRunner(DefensiveAllDefaultPossibilitiesBuilder.java:113)
> at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
> at org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder.runnerForClass(DefensiveAllDefaultPossibilitiesBuilder.java:56)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.vintage.engine.discovery.TestClassRequestResolver.createRunnerTestDescriptor(TestClassRequestResolver.java:55)
> at org.junit.vintage.engine.discovery.VintageDiscoverer.lambda$discover$0(VintageDiscoverer.java:53)
> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at java.util.Iterator.forEachRemaining(Iterator.java:116)
> at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
> at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(VintageDiscoverer.java:55)
> at org.junit.vintage.engine.VintageTestEngine.discover(VintageTestEngine.java:62)
> at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:177)
> at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:164)
> at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
>
>
> FAILED: org.xwiki.test.ui.extension.ExtensionIT.Platform Builds / main / Build for Main / testUpgradeWithMergeConflict
>
> Error Message:
> expected:<[Page properties, XWiki.WikiMacroClass[0]]> but was:<[]>
>
> Stack Trace:
> java.lang.AssertionError: expected:<[Page properties, XWiki.WikiMacroClass[0]]> but was:<[]> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:118) at org.junit.Assert.assertEquals(Assert.java:144) at org.xwiki.test.ui.extension.ExtensionIT.testUpgradeWithMergeConflict(ExtensionIT.java:815) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.xwiki.test.ui.AuthenticationRule$1.evaluate(AuthenticationRule.java:73) at org.xwiki.test.ui.browser.BrowserTestRule$1.evaluate(BrowserTestRule.java:104) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at com.google.code.tempusfugit.concurrency.IntermittentTestRunner.runChild(IntermittentTestRunner.java:36) at com.google.code.tempusfugit.concurrency.IntermittentTestRunner.runChild(IntermittentTestRunner.java:25) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.xwiki.test.integration.junit4.ValidateConsoleRule$ValidateConsoleStatement.evaluate(ValidateConsoleRule.java:73) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.extensions.cpsuite.ClasspathSuite.run(ClasspathSuite.java:194) at org.xwiki.test.integration.XWikiExecutorSuite.run(XWikiExecutorSuite.java:195) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:40) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80) at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:71) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
>
> FAILED: org.xwiki.test.ui.extension.ExtensionIT.Platform Builds / main / Build for Main / org.xwiki.test.ui.extension.ExtensionIT
>
> Error Message:
> The following lines were matching forbidden content:[
> 2019-09-12 12:01:30,696 [Exec Stream Pumper] - 2019-09-12 12:01:30,696 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #unifiedDiff called at 16:xwiki:XWiki.Extensions[line 90, column 9]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,696 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayPropertyDiff called at 16:xwiki:XWiki.Extensions[line 98, column 5]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #maybeDisplayPropertyDiff called at 16:xwiki:XWiki.Extensions[line 145, column 9]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentFieldsDiff called at 16:xwiki:XWiki.Extensions[line 350, column 5]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentDiff called at 16:xwiki:XWiki.Extensions[line 119, column 9]
> 2019-09-12 12:01:30,702 [Exec Stream Pumper] - 2019-09-12 12:01:30,701 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR c.x.x.XWiki - Error while evaluating velocity template [changesdoc.vm]
> 2019-09-12 12:01:30,703 [Exec Stream Pumper] - org.xwiki.rendering.RenderingException: Failed to execute renderer
> 2019-09-12 12:01:30,708 [Exec Stream Pumper] - Caused by: org.xwiki.rendering.RenderingException: Failed to evaluate template
> 2019-09-12 12:01:30,733 [Exec Stream Pumper] - Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:XWiki.Extensions]
> 2019-09-12 12:01:30,733 [Exec Stream Pumper] - Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'unified' in class org.xwiki.diff.script.DiffDisplayerScriptService threw exception java.lang.NullPointerException at 16:xwiki:XWiki.Extensions[line 6, column 48]
> 2019-09-12 12:01:30,741 [Exec Stream Pumper] - Caused by: java.lang.NullPointerException: null
> 2019-09-12 12:01:34,182 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #unifiedDiff called at 16:xwiki:XWiki.XWikiPreferences[line 90, column 9]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayPropertyDiff called at 16:xwiki:XWiki.XWikiPreferences[line 98, column 5]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #maybeDisplayPropertyDiff called at 16:xwiki:XWiki.XWikiPreferences[line 145, column 9]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentFieldsDiff called at 16:xwiki:XWiki.XWikiPreferences[line 350, column 5]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentDiff called at 16:xwiki:XWiki.XWikiPreferences[line 119, column 9]
> 2019-09-12 12:01:34,188 [Exec Stream Pumper] - 2019-09-12 12:01:34,182 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR c.x.x.XWiki - Error while evaluating velocity template [changesdoc.vm]
> 2019-09-12 12:01:34,189 [Exec Stream Pumper] - org.xwiki.rendering.RenderingException: Failed to execute renderer
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.xwiki.rendering.RenderingException: Failed to evaluate template
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:XWiki.XWikiPreferences]
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'unified' in class org.xwiki.diff.script.DiffDisplayerScriptService threw exception java.lang.NullPointerException at 16:xwiki:XWiki.XWikiPreferences[line 6, column 48]
> 2019-09-12 12:01:34,213 [Exec Stream Pumper] - Caused by: java.lang.NullPointerException: null
> ]
>
> Stack Trace:
> java.lang.AssertionError:
> The following lines were matching forbidden content:[
> 2019-09-12 12:01:30,696 [Exec Stream Pumper] - 2019-09-12 12:01:30,696 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #unifiedDiff called at 16:xwiki:XWiki.Extensions[line 90, column 9]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,696 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayPropertyDiff called at 16:xwiki:XWiki.Extensions[line 98, column 5]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #maybeDisplayPropertyDiff called at 16:xwiki:XWiki.Extensions[line 145, column 9]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentFieldsDiff called at 16:xwiki:XWiki.Extensions[line 350, column 5]
> 2019-09-12 12:01:30,697 [Exec Stream Pumper] - 2019-09-12 12:01:30,697 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentDiff called at 16:xwiki:XWiki.Extensions[line 119, column 9]
> 2019-09-12 12:01:30,702 [Exec Stream Pumper] - 2019-09-12 12:01:30,701 [http://localhost:8080/xwiki/bin/get/XWiki/Extensions] ERROR c.x.x.XWiki - Error while evaluating velocity template [changesdoc.vm]
> 2019-09-12 12:01:30,703 [Exec Stream Pumper] - org.xwiki.rendering.RenderingException: Failed to execute renderer
> 2019-09-12 12:01:30,708 [Exec Stream Pumper] - Caused by: org.xwiki.rendering.RenderingException: Failed to evaluate template
> 2019-09-12 12:01:30,733 [Exec Stream Pumper] - Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:XWiki.Extensions]
> 2019-09-12 12:01:30,733 [Exec Stream Pumper] - Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'unified' in class org.xwiki.diff.script.DiffDisplayerScriptService threw exception java.lang.NullPointerException at 16:xwiki:XWiki.Extensions[line 6, column 48]
> 2019-09-12 12:01:30,741 [Exec Stream Pumper] - Caused by: java.lang.NullPointerException: null
> 2019-09-12 12:01:34,182 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #unifiedDiff called at 16:xwiki:XWiki.XWikiPreferences[line 90, column 9]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayPropertyDiff called at 16:xwiki:XWiki.XWikiPreferences[line 98, column 5]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #maybeDisplayPropertyDiff called at 16:xwiki:XWiki.XWikiPreferences[line 145, column 9]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentFieldsDiff called at 16:xwiki:XWiki.XWikiPreferences[line 350, column 5]
> 2019-09-12 12:01:34,183 [Exec Stream Pumper] - 2019-09-12 12:01:34,180 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR o.x.v.i.DefaultVelocityEngine - Exception in macro #displayDocumentDiff called at 16:xwiki:XWiki.XWikiPreferences[line 119, column 9]
> 2019-09-12 12:01:34,188 [Exec Stream Pumper] - 2019-09-12 12:01:34,182 [http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.…] ERROR c.x.x.XWiki - Error while evaluating velocity template [changesdoc.vm]
> 2019-09-12 12:01:34,189 [Exec Stream Pumper] - org.xwiki.rendering.RenderingException: Failed to execute renderer
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.xwiki.rendering.RenderingException: Failed to evaluate template
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:XWiki.XWikiPreferences]
> 2019-09-12 12:01:34,192 [Exec Stream Pumper] - Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'unified' in class org.xwiki.diff.script.DiffDisplayerScriptService threw exception java.lang.NullPointerException at 16:xwiki:XWiki.XWikiPreferences[line 6, column 48]
> 2019-09-12 12:01:34,213 [Exec Stream Pumper] - Caused by: java.lang.NullPointerException: null
> ]
> at org.xwiki.test.integration.junit.LogCaptureValidator.validate(LogCaptureValidator.java:201)
> at org.xwiki.test.integration.junit4.ValidateConsoleRule$ValidateConsoleStatement.after(ValidateConsoleRule.java:95)
> at org.xwiki.test.integration.junit4.ValidateConsoleRule$ValidateConsoleStatement.evaluate(ValidateConsoleRule.java:78)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:27)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.junit.extensions.cpsuite.ClasspathSuite.run(ClasspathSuite.java:194)
> at org.xwiki.test.integration.XWikiExecutorSuite.run(XWikiExecutorSuite.java:195)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
> at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:40)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at java.util.Iterator.forEachRemaining(Iterator.java:116)
> at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
> at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:71)
> at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
> at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
> at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
> at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
> at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
> at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Hi everyone,
I was checking our list of flickering tests in JIRA
(https://jira.xwiki.org/issues/?jql=labels%20%3D%20flickering%20AND%20status…)
and I noticed that we had somehow old flickering test issue concerning
test that I've never seen failing.
So I propose we close some of them as inactive: the ones that we don't
remember having seen for a while. The ideal would be to have a mechanism
to update the issue when the CI fails on a flicker, but it takes time to
do properly and it's not a priority.
On the contrary I propose to trust our memory: if we're wrong because we
have closed a flicker that is still happening, it will allow us to
remind that we have this flicker to fix and we can easily reopen the issue.
As Thomas mentioned on the chat, we should also update the release plan
to include the inactive flickers in the list of issue to check.
So for now I propose to close the following list of issues as inactive:
* XWIKI-14399: AddRemoveTagsTest#addAndDeleteTagFromTagPage is
flickering (https://jira.xwiki.org/browse/XWIKI-14399)
* XWIKI-14396: AnnotationsTest#addAndDeleteAnnotations is flickering
(https://jira.xwiki.org/browse/XWIKI-14396)
* XWIKI-14394: SectionTest.testSectionEditInWikiEditorWhenSyntax2x
(xwiki-enterprise-test-ui) is flaky
(https://jira.xwiki.org/browse/XWIKI-14394)
* XWIKI-14386: appwithinminutes.AppsLiveTableTest.testEditApplication
is possibly flaky (https://jira.xwiki.org/browse/XWIKI-14386)
* XWIKI-14835:
DeletePageTest#deletePageIsImpossibleWhenNoDeleteRights is flickering
(https://jira.xwiki.org/browse/XWIKI-14835)
* XWIKI-14860: LoginTest#testDataIsPreservedAfterLogin is flickering
(https://jira.xwiki.org/browse/XWIKI-14860)
And I propose in general to close the flickers we don't remember having
seen after a cycle as inactive.
WDYT?
Simon
--
Simon Urli
Software Engineer at XWiki SAS
simon.urli(a)xwiki.com
More about us at http://www.xwiki.com
Hello, GSoC students, mentors, devs,
As you have probably seen by now, the Google Summer of Code 2019 program
has now concluded:
https://opensource.googleblog.com/2019/09/thats-wrap-for-google-summer-of-c…
We would like to congratulate this year's students that have successfully
finished their projects. Here's their end of project reports together with
some of their impressions of the experience:
* Ashish Sharma -
https://www.xwiki.org/xwiki/bin/view/Blog/My%20GSOC%20journey%20with%20xwik…
* Divyansh Jain -
https://www.xwiki.org/xwiki/bin/view/Blog/My%20GSOC19%20Experience./
* Fawad Ali -
https://gist.github.com/9inpachi/b02fd831de7d79a7f3823634019470c4
We are very happy to have have had them in XWiki's community during this
summer. We hope they had a good time while gaining practical experience and
guidance in an open source project and that they found XWiki to be an
interesting and welcoming project that they can continue contributing in
the future, by either continuously improving their GSoC project or other
interesting parts of the XWiki project itself.
See you around (on the mailing list, on the chat, forum, github, etc.),
keep up the good work, good luck at school and thanks for helping the XWiki
project grow!
-The XWiki Development Team
Hi all,
Hope you are doing well.
The full version (1.1) for "Interactive Maps Application" has been
released. This version adds key features like shapes, indoor maps, map
editor and other advanced options for configuration.
Thanks to Ecaterina for adding Fix Version/s 1.0 to the related issues.
And Stephane, for pointing out all the important bugs and suggesting
improvements.
Extension:
https://extensions.xwiki.org/xwiki/bin/view/Extension/InteractiveMapsApplic…
Best,
Fawad
Hi everyone,
Hope all of you are doing great.
About Me
I am Fawad Ali, selected as a student for Google Summer of Code. Currently
enrolled in the 6th semester at University of Engineering and Technology,
Taxila. I am a resident of Pakistan currently living in the city of
Rawalpindi.
It is a great honor to have been selected and have a chance to work with
XWiki. :)
*Profiles*
GitHub - https://github.com/9inpachi
LinkedIn - https://www.linkedin.com/in/fawadaliq/
Riot - @ginpachi:matrix.org
I will be presenting my project "Map Application" to all of you. Following
are the relevant details.
Map Application
*Mentors: *Stéphane Laurière, Ecaterina Moraru
*Technologies:* JavaScript, Velocity, Java, Leaflet, other if required
Overview
This project is about the development of interactive maps in XWiki.
Creation of an application within XWiki that will allow users to generate
interactive maps which support collaboration and are easy to create so that
locations can be shared, and areas can be associated with structured data.
This application will open several possibilities that can be utilized
within XWiki and broaden the overall scope by allowing map rich wikis where
locations and areas can be presented in a way that will increase the
understandability of data.
It will also allow for the sharing of custom map related data which would
be very helpful since users and admins will be able to present locations in
an information rich map environment which will be interactive.
Features
> *Markers and popups* - Place markers anywhere on the map and associate
popups with them.
> *Path between two points* - A path will be generated by the application
linking two points of interest.
> *Location search* - Search any location on the map.
> *Filtered list maps* - Allow the user to search for a specific kind of
place (e.g. restaurants) and get a list of locations to choose from.
Through the content available and binded to a location, the user will be
able to learn some aspects of the location.
> *Custom shapes* - Custom shapes can be used to highlight a specific area
for representation. The content associated with these shapes can give
useful information about the area.
> *Indoor maps* - Such maps will be able to describe the internal structure
or fair plan of a building or structure. They can be used to guide users in
a big building and locate point of interests.
> *Maps on mobile* - Special design arrangements will be made for easily
viewing of maps and availing all the features of the application on mobile
devices.
> *Custom map backgrounds* - Custom backgrounds will make the environment
of interactive maps much suitable for a specific purpose
If you have any features in mind that will make the Map Application better
please feel free to reply to this mail.
This is all for the summary of the project, if you want to have a more
deeper insight, please check out the full proposal.
*Project Proposal: *
https://drive.google.com/open?id=14qXC7Oy2bPUASfVtSTIsNG1sPcfm5Ikr
Thanks for reading through the mail. I will be looking forward to your
guidance through this summer and your contributions to the project.
If you have any questions or suggestions, please feel free to reply to this
mail.
Au revoir. :)
Best,
Fawad Ali
Hi devs,
Sorry, I’m late with this roadmap proposal.
Tasks:
* Finish merge conflict: allow choice by chunks and custom fixes - https://jira.xwiki.org/browse/XWIKI-16464 - Simon
* Improved performances - Thomas - Some ideas:
* User profile "Wikis" section make accessing the profile a huge pain when there is lots of wikis - https://jira.xwiki.org/browse/XWIKI-15648,
* Possibly start testing stuff for the notifications storage refactoring (more an investigation)
* Make more standard elements asynchronous
* Make sure we can finally close https://jira.xwiki.org/browse/XWIKI-14806 - "9.9 is much slower than 8.4.5”
* There is also some performance work around job logs
* Ability to easily export only content from the XWiki Administration - Marius (basic implementation)
Dates:
* 11.8RC1: 23rd of Sep
* 11.8 final: 30th of Sep
WDYT?
I’ve proactively put it on https://www.xwiki.org/xwiki/bin/view/Roadmaps/
Thanks
-Vincent
The XWiki development team is proud to announce the availability of XWiki
11.7.
This release brings a new date picker and various merge improvements.
Developers will also be able to reuse the standard color picker and the
merge API give more details about the conflicts.
You can download it here: https://www.xwiki.org/xwiki/bin/view/Main/Download
Make sure to review the release notes:
https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/11.7
Thanks for your support
-The XWiki dev team
Hi all,
I wanted to ask if it was possible to have a custom class sheet and the
editing options of a normal page available at the same time?
As it stands, for the PointSheet, we will have to skip the WYSIWYG editor
for editing the page. However, one thing could be that instead of taking
the page's content for the Point's popup, we could introduce a new class
property popupContent and have the popup content inside that. This way, we
can use WYSIWYG as well.
Another approach could be to keep the current Point Editor and use that
create points without any sheet.
The same questions apply for the Shape Editor as well.
What do you think?
Best,
Fawad
On Fri, Aug 2, 2019 at 2:53 PM Fawad Ali <m.fawaadali98(a)gmail.com> wrote:
> Stéphane,
>
> Yes, sure.
> In the meantime, I will be working on the PointSheet.
> However, I do want to ask if the Shape Editor is necessary at this point
> if we are going with GeoJSON. We can refer the user to http://geojson.io
> for creating the features. What do you think?
>
> Best,
> Fawad
>
>
> On Fri, Aug 2, 2019 at 12:04 PM Stéphane Laurière <slauriere(a)xwiki.com>
> wrote:
>
>> OK Fawad,
>>
>> Meantime since Caty is off, and since today might actually be a bit early
>> for me I'm afraid, I'd propose we have the call on Monday 15:00 UTC on
>> Monday if that's ok with you .
>>
>> Cheers
>>
>> Stéphane
>>
>>
>> Fawad Ali:
>> > Stéphane, Ecaterina,
>> >
>> > About the call, I think we should have it so that we all converge on
>> the things to be done.
>> > However, tomorrow (Friday), I have a call with the Pakistan's GSoC
>> community at about 5 PM UTC. If the call will be finished in two hours I am
>> fine with it or we could reschedule it to 2:30 PM UTC or else Monday.
>> >
>> > Best,
>>
>>
>> --
>> Stéphane Laurière
>> XWiki – https://xwiki.com
>>
>>
Hi everyone,
I recently (in XWiki 11.6RC1) introduced a new property "enabled" in
XWiki.User as part of https://jira.xwiki.org/browse/XWIKI-12654 to
distinguish between inactive users (who have not confirm their
registration with the token sent by email), and disabled users (who are
deactivated by an admin, or by a security mechanism).
Now as Marius noticed those two properties are quite redundant,
especially when you want to know which users are really active.
So it introduces unnecessary complexity and we might even need to change
existing extension to check enabled users (cf the last comments on
XWIKI-12564).
So before doing those changes, I propose to fix immediately the issue by
removing that newly introduced property and by introducing a new
property only for assessing that users' email are checked.
Then we will only have to check "active" property to check if a user is
active or not, and we could rely on it to set them enabled or disabled
in the admin.
The email_check property would be used only for the check email
mechanism, so it will avoid any confusion in the semantic.
WDYT?
Simon
--
Simon Urli
Software Engineer at XWiki SAS
simon.urli(a)xwiki.com
More about us at http://www.xwiki.com
Hi everyone,
I'm following up on a thread started in 2015 about the best practices regarding app pages organization:
- https://xwiki.markmail.org/message/657vcm6ylkz4yytc
- https://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPr…
In this thread, the idea of introducing a dedicated common root area for all application technical pages was suggested by Denis:
https://xwiki.markmail.org/message/kk5l3dwjmpfelkzp
I'm wondering why this idea was not pushed further (it's not strictly incompatible with the current best practices, but most of the recent applications have their top level area, except a few like Notifications or ChartJS).
Comparing with how other platforms do is inspirational (Microsoft Windows "Program Files" was mentioned in the thread). On Debian, the Maven package is installed in /usr/share/maven/ while files used and produced by Maven can be located anywhere. Along the same line, I would see as a user and developer experience improvement if we had the following structure:
1) Code:
XWiki
|- MyApp
|- MyAppClass
|- MyAppSheet
|- ...
2) Data: the pages created by MyApp could then typically be located by default in a MyApp space at the root of the wiki, the user could however choose which default space to use, or leave it empty (then the space from where the user fires the create action could be used, for instance, or any scriptable rule).
Another issue I see with the current practice (raised by Clément A. orally) is that some application names may conflict with names the user would like to use for content that is not strictly related to the app. Not necessarily a big deal with one thousand of applications, but might become one with more, wouldn't it?
I understand that the layout proposed above would raise technical issues (XWiki space permissions for instance, mentionned in the 2015 thread, and others), however what's your view on it from a design perspective? (sorry if I overlooked strong arguments already expressed against it)
Cheers
Stéphane
The XWiki development team is proud to announce the availability of
XWiki 11.7 RC1.
This release brings a new date picker and various merge improvements.
Developers will also be able to reuse the standard color picker and
the merge API give more details about the conflicts.
You can download it here: https://www.xwiki.org/xwiki/bin/view/Main/Download
Make sure to review the release notes:
https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/11.7RC1
Thanks for your support
-The XWiki dev team
Hi devs.
I noticed that the recent 11.6.x series have introduced a way to deal
with attempts to guess a users password by introducing a strategy to
handle repeated login failures. I should have payed attention before
this was published because I have been implementing something similar
because of several user requests.
Anyway, my alternative solution has been finished in parallel, and I
wonder if there is any interest of hosting this as a contrib project.
The implementation differs in the following details:
- it does not use the new AuthenticationFailureEvents and the
introduced component API, instead it implements its own XWikiAuthService
- this means it works for 10.x, too (which my users are mostly running)
- otoh it does not work with e.g. the LDAPAuthenticator
- it also allows to block IPs (not that I care much about, but some
people want this)
- it unblocks the user after a given time frame without having an
Admin to intervene
I guess I can migrate at least most of it into the new
AuthenticationFailureStrategy to have a showcase for a different
implementation, but for now it is a separate and already slightly
outdated implementation.
I think I will upload the results to e.x.o anyway (with a big note that
this is superseded since XWiki 11.6), but is there any interest of
hosting this as an xwiki-contrib project, maybe with the name
'authenticator-blocking', package 'org.xwiki.contrib.blockingauth' and
maybe even a Jira project like 'BLOCKINGAUTH' ?
Best,
Clemens
Hello everyone!
Currently, I'm working on moving to the new Mail Sender API for share page
by mail, which is related in XWiki-11786
<https://jira.xwiki.org/browse/XWIKI-11786>. After having some discussions
with Vincent, we decided to include the possibility of sending the email to
groups, related in XWiki-12112 <https://jira.xwiki.org/browse/XWIKI-12112>.
Even if everything looks good for now, a problem just appeared when trying
to access the recipient name (it's used in the email body, for addressing
the recipient (*Hello ${recipientName}*).
It seems like the new API it's not providing other information than the
email address, which was confirmed by XWiki-12207
<https://jira.xwiki.org/browse/XWIKI-12207>.
For now, I worked here
<https://github.com/arcilli/xwiki-platform/tree/XWIKI-12112> with some code
from Vincent's commits
<https://github.com/xwiki/xwiki-platform/tree/feature-sharepage-group>.
Also, after a few discussions with Marius, we concluded that for having the
name of the recipient in the message, the code needs some refactoring,
which can take a considerable amount of time. Another solution is to
exclude the *recipientName *from the body of the message and keep only *Hello
*(which would be a regression). This will be a shorter solution, but with
the benefit of having the possibility to send emails to groups.
What's your opinion on this?
Thanks a lot!
Have a nice day!
--
<http://www.xwiki.com/> *Gabriel Răileanu*
*Software Developer Engineer Intern*
gabriel.raileanu(a)xwiki.com
The XWiki development team is proud to announce the availability of
XWiki 11.6.1.
This is a bugfix release that covers important issues that we have
discovered since XWiki 11.6 has been released.
It has been released mainly to fix a bug related with the usage of
nested wikimacro, which might make some applications unusable. It also
fix some other bugs related to the newly introduced async macro.
You can download it here: https://www.xwiki.org/xwiki/bin/view/Main/Download
Make sure to review the release notes:
https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/11.6.1
Thanks for your support
-The XWiki dev team
Hi devs,
I was pretty sure that this was discussed before but I can’t find it so I’m posting it again since I noticed that we continue to have tests (and even add new ones) that use the OS tmp directory to output test data.
Tests must not generate anything outside of the target/ directory as this will cause several problems:
* not clean generated test data after the test
* create a state that can make other tests fail
* generate errors in jenkins since jenkins monitors created files and doesn't allow to remove files outside of the worskspace
WDYT?
If ok I’ll add it to https://dev.xwiki.org/xwiki/bin/view/Community/Testing/JavaUnitTesting/#HBe…
Thanks
-Vincent
PS: Ideally we should have a automatic verification in the build but it doesn’t seem easy to implement, so right now, I’m only proposing it as a best practice.
Hello everyone,
I'm currently working on the commons-diff-api to add new capabilities in
case of conflict. Yesterday while I was working on it, I added new tests
to check my changes and discovered that our current implementation of
the 3-way merge was not following a "standard" implementation, and so
some expectations I could have was not followed.
Actually Thomas did a huge job by implementing by himself the 3-way
merge based on the diff of previous-current and previous-next, but AFAIU
this implementation does not take into account the diff current-next
which can also bring information.
So for example if you try to do a merge, with the following lines:
origin="Once upon a time","a wolf","started to walk","in the forest"
next="Once upon a time","a wolf","dressed in black","in the forest"
current="Once upon a time","a wolf","started to walk","dressed in
black","in the forest"
the current result will be:
"Once upon a time", "a wolf", "dressed in black", "dressed in black",
"in the forest"
instead of treating it like a conflict which can be view as a more
"standard" answer.
Here by standard, I mean the result that a tool like "diff3" or git
merge would do. I dig a bit on internet yesterday and apparently diff3
is really considered as the standard implementation of a 3-way merge.
I performed the check with those lines both using git and diff3 and in
both cases, they see the "started to walk" as a conflictual line:
Once upon a time
a wolf
<<<<<<< HEAD
started to walk
=======
>>>>>>> 20b7776... My change
dressed in black
in the forest
I assume we could debug the implementation Thomas done to ensure this
usecase is taken into account, as far as I can see it's not easy, but I
guess it's possible.
Another solution, which I personally prefer, would be to rely on an
existing implementation of a diff3 merge, or Git merge: I found
yesterday that jgit have their own Java implementation of the merge
(https://github.com/eclipse/jgit/blob/master/org.eclipse.jgit/src/org/eclips…)
and AFAICS the license doesn't prevent us to reuse it (it's a derived
BSD license). I don't think we cannot completely reuse it as it is, but
it's at least a good inspiration to do our own implementation based on a
standard. A better solution would certainly to use a dedicated
maintained library but I did not manage to find it.
Now we could also assume that the current behaviour of the merge is what
we want and we keep up with it.
So what do you think, should we change our implem or keep it like that?
Simon
--
Simon Urli
Software Engineer at XWiki SAS
simon.urli(a)xwiki.com
More about us at http://www.xwiki.com