I'm pretty sure this is a bug, but I just wanted to check before adding this to
Jira.
I am receiving a number of javax.jcr.PathNotFoundException's when loading a
page where all of its Sub nodes are set to "Deny Access". These areas are
therefore not showing on the page.
The particular scenario I'm trying to achieve is to setup a landing page for
all logged in site users; however I only want a certain user type accessing the
sub-pages of the landing page. I used to have this working before Magnolia 5,
but something seems to have changed with the new version (I'm currently running
5.2.1 and STK 2.7.1).
I have attempted a few combinations of ACL configuration, but all seem to
result in the same result. Here's one example where I've setup two roles:
'Member Access' which has the rules:
* Read/Write, Selected, /landing-page
* Deny Access, Sub nodes, /landing-page
'Full Member Access' which has the rule
* Read/Write, Selected and sub nodes, /landing-page
The first role is causing exceptions when loading /landing-page.html, but the
second role works perfectly.
The following is one of the exception based on the 'base' area, but I'm also
getting them for the 'promos' area and a few custom ones I've also added.
[code]
2014-01-22 15:40:08,144 ERROR info.magnolia.templating.elements.AreaElement
: Can't autocreate area 'null'.
javax.jcr.PathNotFoundException: base
at org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2180)
at org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2157)
at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2157)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.jcr.wrapper.DelegateNodeWrapper.getNode(DelegateNodeWrapper.java:197)
at
info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.getNode(ContentDecoratorNodeWrapper.java:120)
at
info.magnolia.templating.elements.AreaElement.createNewAreaNode(AreaElement.java:239)
at
info.magnolia.templating.elements.AreaElement.tryToCreateAreaNode(AreaElement.java:343)
at
info.magnolia.templating.elements.AreaElement.begin(AreaElement.java:168)
at
info.magnolia.templating.freemarker.AbstractDirective.execute(AbstractDirective.java:93)
at freemarker.core.Environment.visit(Environment.java:274)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:237)
at
info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:156)
at
info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:98)
at
info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:153)
at
info.magnolia.module.templatingkit.renderers.STKRenderer.render(STKRenderer.java:95)
at
info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:108)
at
info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$997b9144.render(<generated>)
at
info.magnolia.rendering.engine.RenderingFilter.render(RenderingFilter.java:204)
at
info.magnolia.rendering.engine.RenderingFilter.handleTemplateRequest(RenderingFilter.java:138)
at
info.magnolia.rendering.engine.RenderingFilter.doFilter(RenderingFilter.java:91)
at
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91
[/code]
After some initial debugging, I've found that this exception was originally
thrown as an AccessDeniedException when trying to load the area node from
JackRabbit, but that's as far as I could get my head around.
Is this an obvious bug I should put into Jira, or is there something I'm
missing?
Thanks,
Brad
--
Context is everything:
http://forum.magnolia-cms.com/forum/thread.html?threadId=a73f3493-06a8-464b-b2db-07979f729b38
----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------