I think we are getting these exceptions after v4.0.2 upgrade. I believe causing the problem where the space layout administration is 'only' working for confluence administrators. So, if the uesr is space admin and has global 'manageLayouts' permission, the user is allowed to view and change the layout content, but the changes are not getting persisted.
Errors..
—
2010-06-28 14:46:38,807 ERROR [TP-Processor10] [atlassian.plugin.web.DefaultWebInterfaceManager] filterFragmentsByCondition Could not evaluate condition 'com.atlassian.plugin.web.conditions.AndCompositeCondition@23966dc2' for descriptor: system.space.admin/adaptavist.builder.space.web-section/adaptavist.builder.space.manage-layouts
– space: xxxxxx | url: /spaces/spacepermissions.action | userName: xxxxxxxxx | referer: xxxxxxxxxxxxxxxxx/spaces/spaceadmin.action?atl_token=xxxxxxxxx&key=sandbox | action: spacepermissions
java.lang.ClassCastException: com.atlassian.crowd.integration.atlassianuser.CrowdUser cannot be cast to com.atlassian.confluence.themes.GlobalHelper
at com.adaptavist.confluence.builder.conditions.ManageLayoutCondition.shouldDisplay(ManageLayoutCondition.java:18)
at com.atlassian.plugin.web.conditions.AndCompositeCondition.shouldDisplay(AndCompositeCondition.java:14)
at com.atlassian.plugin.web.conditions.AndCompositeCondition.shouldDisplay(AndCompositeCondition.java:14)
at com.atlassian.plugin.web.DefaultWebInterfaceManager.filterFragmentsByCondition(DefaultWebInterfaceManager.java:119)
at com.atlassian.plugin.web.DefaultWebInterfaceManager.getDisplayableItems(DefaultWebInterfaceManager.java:103)
at com.atlassian.confluence.plugin.descriptor.web.ConfluenceWebInterfaceManager.getDisplayableItems(ConfluenceWebInterfaceManager.java:73)
at sun.reflect.GeneratedMethodAccessor22318.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at com.atlassian.confluence.velocity.introspection.UnboxingMethod.invoke(UnboxingMethod.java:31)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:487)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:364)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
.png)








Comments (5)
Jun 28, 2010
bhagat bandlamudi says:
Most likely, the problem is with the line GlobalHelper helper = (GlobalHelper)m...Most likely, the problem is with the line
GlobalHelper helper = (GlobalHelper)map.get("user");
in ManageLayoutsCondition.shouldDisplay().
Jun 29, 2010
Alain Moran says:
This was fixed weeks ago in 4.0.3-M1.This was fixed weeks ago in 4.0.3-M1.
Jun 29, 2010
bhagat bandlamudi says:
Thanks Alain, I wasn't aware that early access release is available. I have upda...Thanks Alain, I wasn't aware that early access release is available. I have updated, but it still doesn't fix the problem we are seeing and has worked earlier. Currently, only confluence admin is able to persist changes made to theme layout menus.
We have a user (i.e, user's groups - user is a space admin and the space has a custom layout) that has global 'manage layout' permissions and also select/layout edit/panel edit/child layout permissions of a specific theme. The user is able to go the layout editor, go to theme layouts and open the 'menu' editor panel, change the menu and the changes do go into cache. However, once the user clicks the 'save' icon above the layout tree, cache gets purged, but changes are never persisted i.e, resets back to original. The same operation works fine for confluence admin and it used to work fine for the same user in the same theme. I think it started failing after 4.0.1 or 4.0.2 upgrade. Basically, LayoutManager.writeLayout() method is not getting called when the user clicks 'save' icon.
I am fine with fixing the problem (if I can), but I am finding it quite tricky to debug and any suggestions on where to look will be a great help!
Jun 29, 2010
Alain Moran says:
You would need a support contract in place for me to be able to assist you any f...You would need a support contract in place for me to be able to assist you any further .. sorry.
Jun 29, 2010
bhagat bandlamudi says:
Well, thanks for your quick response! I will need to pursue with my boss and the...Well, thanks for your quick response! I will need to pursue with my boss and the sponsor/company and not sure how long this is going to take.