jelmer kuperus 12 年之前 Hey Juan, If i understand you correctly your approach relies on your ext-impl jar being loaded before the portal-impl jar. While this would work in tomcat (i believe it loads the jars in web-inf/lib in alphabetical order) judging by some posts on the forum, this isn't always the case on other application servers. As far as i know the servlet spec does not cover the loading order so your milage may vary 请登录以投票。 以……回复 取消
Brian Jamieson 12 年之前 Hi Juan,Thanks, I was stuck trying to figure how to close the loop with the ADD_TO_PAGE part. You have really helped me out here!Can I ask, is there any specific reason why you need to remove the portlets from the control panel when you add them to a normal page? 请登录以投票。 以……回复 取消 Juan Fernández Brian Jamieson 12 年之前 Hi Brian:glad I helped you There's no need to remove the permissions: that was my requirement, but it is not mandatoryRegards! 请登录以投票。 以……回复 取消 Brian Jamieson Juan Fernández 12 年之前 Hi Juan,Thanks for confirming that for me.I had tried using a hook plugin to override the settings, but couldn't find the equivalent of 'WEB-INF/ext-impl/src/resource-actions/workflow.xml' to override.Is that why you made an EXT plugin ? 请登录以投票。 以……回复 取消 Juan Fernández Brian Jamieson 12 年之前 that's it! That's the reason to use it 请登录以投票。 以……回复 取消 Priya Ranjan Juan Fernández 9 年之前 Hi Juan Nice post, but from where i get the workflow.xml file, or should we need to create manualy workflow.xml file if yes than what contents we neet to put.please reply soonthanks 请登录以投票。 以……回复 取消
Juan Fernández Brian Jamieson 12 年之前 Hi Brian:glad I helped you There's no need to remove the permissions: that was my requirement, but it is not mandatoryRegards! 请登录以投票。 以……回复 取消 Brian Jamieson Juan Fernández 12 年之前 Hi Juan,Thanks for confirming that for me.I had tried using a hook plugin to override the settings, but couldn't find the equivalent of 'WEB-INF/ext-impl/src/resource-actions/workflow.xml' to override.Is that why you made an EXT plugin ? 请登录以投票。 以……回复 取消 Juan Fernández Brian Jamieson 12 年之前 that's it! That's the reason to use it 请登录以投票。 以……回复 取消 Priya Ranjan Juan Fernández 9 年之前 Hi Juan Nice post, but from where i get the workflow.xml file, or should we need to create manualy workflow.xml file if yes than what contents we neet to put.please reply soonthanks 请登录以投票。 以……回复 取消
Brian Jamieson Juan Fernández 12 年之前 Hi Juan,Thanks for confirming that for me.I had tried using a hook plugin to override the settings, but couldn't find the equivalent of 'WEB-INF/ext-impl/src/resource-actions/workflow.xml' to override.Is that why you made an EXT plugin ? 请登录以投票。 以……回复 取消 Juan Fernández Brian Jamieson 12 年之前 that's it! That's the reason to use it 请登录以投票。 以……回复 取消
Priya Ranjan Juan Fernández 9 年之前 Hi Juan Nice post, but from where i get the workflow.xml file, or should we need to create manualy workflow.xml file if yes than what contents we neet to put.please reply soonthanks 请登录以投票。 以……回复 取消
Rakesh Goswami 11 年之前 Thanks Juan. I was trying to do the same with ext and this blog helps. 请登录以投票。 以……回复 取消 Paradise Lost Rakesh Goswami 11 年之前 Hi,I was trying to do the same thing following this post but did not work for me , i am using Liferay 6.1+. Build a ext using maven. Please suggest ...is there any special change in 6.1 ?ThanksRony. 请登录以投票。 以……回复 取消 Paradise Lost Paradise Lost 11 年之前 It does even come to the application list. 请登录以投票。 以……回复 取消 Paradise Lost Paradise Lost 11 年之前 any help/suggestion pls? 请登录以投票。 以……回复 取消
Paradise Lost Rakesh Goswami 11 年之前 Hi,I was trying to do the same thing following this post but did not work for me , i am using Liferay 6.1+. Build a ext using maven. Please suggest ...is there any special change in 6.1 ?ThanksRony. 请登录以投票。 以……回复 取消 Paradise Lost Paradise Lost 11 年之前 It does even come to the application list. 请登录以投票。 以……回复 取消 Paradise Lost Paradise Lost 11 年之前 any help/suggestion pls? 请登录以投票。 以……回复 取消
Paradise Lost Paradise Lost 11 年之前 It does even come to the application list. 请登录以投票。 以……回复 取消 Paradise Lost Paradise Lost 11 年之前 any help/suggestion pls? 请登录以投票。 以……回复 取消
Satya Bhat 11 年之前 Hi,I tried implementing the above steps for user admin portlet.But as soon as i do ant direct-deploy i get this error as" Duplicate struts path users_admin" and "NoSuchResourceActionException: 125#add_to_page"..This is my entry in portal.xml under resource-action:<portlet-resource> <portlet-name>125</portlet-name> <permissions> <supports> <action-key>ADD_TO_PAGE</action-key> <action-key>CONFIGURATION</action-key> <action-key>EXPORT_USER</action-key> <action-key>VIEW</action-key> </supports> <site-member-defaults> <action-key>VIEW</action-key> </site-member-defaults> <guest-defaults> <action-key>VIEW</action-key> </guest-defaults> <guest-unsupported> <action-key>ACCESS_IN_CONTROL_PANEL</action-key> <action-key>CONFIGURATION</action-key> </guest-unsupported> </permissions> </portlet-resource>--------------------------------------and liferay-portlet-ext.xml goes as :<portlet> <portlet-name>125</portlet-name> <icon>/html/icons/users_admin.png</icon> <struts-path>users_admin</struts-path> <indexer-class>com.liferay.portlet.usersadmin.util.OrganizationIndexer</indexer-class> <indexer-class>com.liferay.portlet.usersadmin.util.UserIndexer</indexer-class> <portlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portlet-url-class> <atom-collection-adapter>com.liferay.portlet.usersadmin.atom.UserAtomCollectionAdapter</atom-collection-adapter> <custom-attributes-display>com.liferay.portlet.usersadmin.LayoutCustomAttributesDisplay</custom-attributes-display> <custom-attributes-display>com.liferay.portlet.usersadmin.OrganizationCustomAttributesDisplay</custom-attributes-display> <custom-attributes-display>com.liferay.portlet.usersadmin.UserCustomAttributesDisplay</custom-attributes-display> <use-default-template>false</use-default-template> <private-request-attributes>false</private-request-attributes> <private-session-attributes>false</private-session-attributes> <render-weight>50</render-weight> <header-portlet-css>/html/portlet/layouts_admin/css/main.css</header-portlet-css> <header-portlet-css>/html/portlet/users_admin/css/main.css</header-portlet-css> <css-class-wrapper>portlet-users-admin</css-class-wrapper> </portlet>------------------------------------------------please suggest...Thanks,Satya 请登录以投票。 以……回复 取消
Enrico Maria Rossi 11 年之前 i don't have liferay-display.xml and workflow.xml in my ext-project. why? thanks. 请登录以投票。 以……回复 取消 Eresh Kangal Enrico Maria Rossi 10 年之前 Hi Enrico,By default liferay-display.xml and workflow.xml will not be available in ext project. We need to create it manully and add the content.Thanks,Eresh 请登录以投票。 以……回复 取消 Priya Ranjan Eresh Kangal 9 年之前 Hi Eresh,But what contents we have to put in workfolw.xml file can you please explain soon 请登录以投票。 以……回复 取消
Eresh Kangal Enrico Maria Rossi 10 年之前 Hi Enrico,By default liferay-display.xml and workflow.xml will not be available in ext project. We need to create it manully and add the content.Thanks,Eresh 请登录以投票。 以……回复 取消 Priya Ranjan Eresh Kangal 9 年之前 Hi Eresh,But what contents we have to put in workfolw.xml file can you please explain soon 请登录以投票。 以……回复 取消
Priya Ranjan Eresh Kangal 9 年之前 Hi Eresh,But what contents we have to put in workfolw.xml file can you please explain soon 请登录以投票。 以……回复 取消
Roshan Qureshi 10 年之前 Hey Juan,Thanks for sharing this good post.As you can see in business requirements mostly we need to show some oob control panel portlets on portal pages.Is liferay is working on this feature to provide it without ext by some configurations either from portal properties or by any other way.In one of my project just for this feature I need to create ext.Please share your plans if any else consider my request for next release.Please let me know if any specific way is there to suggest Liferay to add this feature.Thanks again for nice post. 请登录以投票。 以……回复 取消 Juan Fernández Roshan Qureshi 10 年之前 Hi Roshan!Thanks for your comment. Yes, there is a way you can propose this as a feature request. Just go to http://liferay.com/community/ideas and add your idea there. It could be something like "Allow to easily add control panel portlets to a page". I think the community will vote for it. Thanks for the feedback!Juan 请登录以投票。 以……回复 取消
Juan Fernández Roshan Qureshi 10 年之前 Hi Roshan!Thanks for your comment. Yes, there is a way you can propose this as a feature request. Just go to http://liferay.com/community/ideas and add your idea there. It could be something like "Allow to easily add control panel portlets to a page". I think the community will vote for it. Thanks for the feedback!Juan 请登录以投票。 以……回复 取消
Roshan Qureshi 10 年之前 Hi friends,I have created one request for this feature to Liferay.Its a common feature mostly each portal needed.Please vote for this if you like it.http://issues.liferay.com/browse/LPS-42946Thanks,Roshan Qureshi 请登录以投票。 以……回复 取消
Nrupay N Shah 9 年之前 Hi Juan,Thanks for sharing this knowledge. I tried to do same as you described but after deployment, I didn't get any error but also didn't get an option to add those portlets on pages under Add More.. button.can you share your portlet-ext plugin with me on my personal email id?my personal email address is nrupayshah@gmail.com 请登录以投票。 以……回复 取消
Nrupay N Shah 9 年之前 Hi Juan,Now I am getting the below error. Can you please help me to figure it out?ERROR [AdvancedPermissionChecker:955] com.liferay.portal.NoSuchResourceActionException: 158#ADD_TO_PAGEcom.liferay.portal.NoSuchResourceActionException: 158#ADD_TO_PAGE at com.liferay.portal.security.permission.ResourceActionsImpl.checkAction(ResourceActionsImpl.java:129) at com.liferay.portal.security.permission.ResourceActionsUtil.checkAction(ResourceActionsUtil.java:72) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermission(AdvancedPermissionChecker.java:868) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionImpl(AdvancedPermissionChecker.java:944) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(AdvancedPermissionChecker.java:595) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:289) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:213) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:168) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:159) at com.liferay.portal.service.permission.PortletPermissionUtil.contains(PortletPermissionUtil.java:118) at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._getRelevantPortletCategory(view_jsp.java:243) at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._jspService(view_jsp.java:692) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at com.liferay.portal.kernel.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:45) at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:323) at com.liferay.taglib.util.IncludeTag._doInclude(IncludeTag.java:418) at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:92) at org.apache.jsp.html.common.themes.portlet_jsp._jspService(portlet_jsp.java:2256) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:323) at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:120) at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProcessor.java:363) at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProcessor.java:333) at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239) at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341) at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221) at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:230) at com.liferay.portlet.StrutsPortlet.include(StrutsPortlet.java:276) at com.liferay.portlet.StrutsPortlet.doView(StrutsPortlet.java:153) at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:211) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:651) at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:722) at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:426) at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1204) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:4979) at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:4938) at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1496) at com.liferay.portal.action.RenderPortletAction.execute(RenderPortletAction.java:86) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:174) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:538) at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:515) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:310) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:289) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:247) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)23:34:41,343 ERROR [AdvancedPermissionChecker:955] com.liferay.portal.NoSuchResourceActionException: 153#ADD_TO_PAGEcom.liferay.portal.NoSuchResourceActionException: 153#ADD_TO_PAGE at com.liferay.portal.security.permission.ResourceActionsImpl.checkAction(ResourceActionsImpl.java:129) at com.liferay.portal.security.permission.ResourceActionsUtil.checkAction(ResourceActionsUtil.java:72) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermission(AdvancedPermissionChecker.java:868) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionImpl(AdvancedPermissionChecker.java:944) at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(AdvancedPermissionChecker.java:595) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:289) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:213) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:168) at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:159) at com.liferay.portal.service.permission.PortletPermissionUtil.contains(PortletPermissionUtil.java:118) at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._getRelevantPortletCategory(view_jsp.java:243) at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._jspService(view_jsp.java:692) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at com.liferay.portal.kernel.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:45) at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:323) at com.liferay.taglib.util.IncludeTag._doInclude(IncludeTag.java:418) at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:92) at org.apache.jsp.html.common.themes.portlet_jsp._jspService(portlet_jsp.java:2256) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:323) at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:120) at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProcessor.java:363) at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProcessor.java:333) at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239) at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341) at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221) at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:230) at com.liferay.portlet.StrutsPortlet.include(StrutsPortlet.java:276) at com.liferay.portlet.StrutsPortlet.doView(StrutsPortlet.java:153) at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:211) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:651) at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:722) at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:426) at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1204) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:4979) at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:4938) at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1496) at com.liferay.portal.action.RenderPortletAction.execute(RenderPortletAction.java:86) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:174) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:538) at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:515) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:310) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:289) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:247) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158) at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)Thanks & Regards,Nrupay Shah 请登录以投票。 以……回复 取消 Juan Fernández Nrupay N Shah 9 年之前 Hi there: you need to add the "ADD_TO_PAGE" permission. Please follow last step of the instructions in the blog entry. BestJuan 请登录以投票。 以……回复 取消
Juan Fernández Nrupay N Shah 9 年之前 Hi there: you need to add the "ADD_TO_PAGE" permission. Please follow last step of the instructions in the blog entry. BestJuan 请登录以投票。 以……回复 取消
Martin Jonik 9 年之前 Hi Juan,this is exactly what I need, but it does not work for me...In Liferay 6.2 the workflow.xml already contains the ADD_TO_PAGE permission.All the other files I modified like you said, but it does not have any impact.The portlets are still hidden from the category and are still in the my configuration section.. My ext-plugin works, because I replaced some core java.Is the configuraion also stored in the database? How can I debug if the overwritten files are used by the portal? 请登录以投票。 以……回复 取消
Armand Ballaci 9 年之前 There are some little changes for 6.1.x+ :the liferay-portlet-ext.xml should look like this: <liferay-portlet-app> <portlet> <portlet-name>153</portlet-name> <icon>/html/icons/my_workflow_tasks.png</icon> <struts-path>my_workflow_tasks</struts-path> <portlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portlet-url-class> <preferences-owned-by-group>true</preferences-owned-by-group> <use-default-template>false</use-default-template> <private-request-attributes>false</private-request-attributes> <private-session-attributes>false</private-session-attributes> <render-weight>50</render-weight> <header-portlet-css>/html/portlet/asset_publisher/css/main.css</header-portlet-css> <header-portlet-css>/html/portlet/users_admin/css/main.css</header-portlet-css> <header-portlet-css>/html/portlet/workflow_definitions/css/main.css</header-portlet-css> <footer-portlet-javascript>/html/portlet/workflow_tasks/js/main.js</footer-portlet-javascript> <css-class-wrapper>portlet-workflow-tasks</css-class-wrapper> </portlet> <portlet> <portlet-name>158</portlet-name> <icon>/html/icons/my_workflow_instances.png</icon> <struts-path>my_workflow_instances</struts-path> <portlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portlet-url-class> <preferences-owned-by-group>true</preferences-owned-by-group> <use-default-template>false</use-default-template> <private-request-attributes>false</private-request-attributes> <private-session-attributes>false</private-session-attributes> <render-weight>50</render-weight> <header-portlet-css>/html/portlet/asset_publisher/css/main.css</header-portlet-css> <header-portlet-css>/html/portlet/users_admin/css/main.css</header-portlet-css> <header-portlet-css>/html/portlet/workflow_definitions/css/main.css</header-portlet-css> <css-class-wrapper>portlet-workflow-instances</css-class-wrapper> </portlet></liferay-portlet-app>you will not find the workflow.xml in the ext-impl of your ext plugin so you have to copy it from the portal-trunk and remove the <action-key>ACCESS_IN_CONTROL_PANEL</action-key> from the portlet resource definitions 153, 158Nice post! 请登录以投票。 以……回复 取消
Michał Janusz 8 年之前 Hello,In Liferay 6.2 there is ADD_PAGE already present in resource-actions/workflow.xml file. Does it mean that now I can implement it as a hook instead of ext? What abaout removing ACCESS_IN_CONTROL_PANEL from workflow.xml file? Is it really necessary? I need to add this portlet to my own page, I don't mind it staing control panel.Thanks,Michał Janusz 请登录以投票。 以……回复 取消