« Indietro

Adding the workflow portlets to a page

Company Blogs 30 agosto 2011 Da Juan Fernández Staff

 

Hi all! 
In a recent project I had to add these portlets ("My Workflow Tasks" and "My Submissions") to a normal user page. By default they are shown in the control panel, but depending on your project needs you may want to use them elsewhere. Here are the steps you need to achieve this easily.
 
Basically you need three things:
 
  • Remove them from the control panel
  • Add them to the "Add Applications" menu
  • Add "ADD_TO_PAGE" permissions
 
To do this you need an ext plugin (which you can create in the liferay plugins sdk via <<create my-ext "my ext">> command)
 
Once you have your ext plugin ready in your plugins sdk, go to your-ext/docroot/WEB-INF/ext-web/docroot/WEB-INF
 
in your-ext/docroot/WEB-INF/ext-web/docroot/WEB-INF/liferay-portlet-ext.xml add this (this is the original content minus the control panel classes configuration)
 
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_0_0.dtd">
 
<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>
<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.jsp</header-portlet-css>
<header-portlet-css>/html/portlet/enterprise_admin/css/main.jsp</header-portlet-css>
<header-portlet-css>/html/portlet/workflow_definitions/css/main.jsp</header-portlet-css>
<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>
<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.jsp</header-portlet-css>
<header-portlet-css>/html/portlet/enterprise_admin/css/main.jsp</header-portlet-css>
<header-portlet-css>/html/portlet/workflow_definitions/css/main.jsp</header-portlet-css>
<css-class-wrapper>portlet-workflow-instances</css-class-wrapper>
</portlet>
</liferay-portlet-app>
 
in your-ext/docroot/WEB-INF/ext-web/docroot/WEB-INF/liferay-display.xml remove
<portlet id="153" />
<portlet id="158" />
from hidden category and add them to another one (the one which you prefer!)
 
In your-ext/docroot/WEB-INF/ext-impl/src/resource-actions/workflow.xml, add this (which is the original workflow.xml after deleting ACCESS_IN_CONTROL_PANEL permission and adding ADD_TO_PAGE):
 
...
<portlet-name>153</portlet-name>
<permissions>
<supports>
<action-key>ADD_TO_PAGE</action-key>
<action-key>CONFIGURATION</action-key>
<action-key>VIEW</action-key>
</supports>
...
<portlet-name>158</portlet-name>
<permissions>
<supports>
<action-key>ADD_TO_PAGE</action-key>
<action-key>CONFIGURATION</action-key>
<action-key>VIEW</action-key>
</supports>
...
 
 
When you're done, run ant deploy and restart your application server. 
And that's it! I hope I helped you
Regards, 
Juan Fernández

 

Commenti Autore Data
Hey Juan, If i understand you correctly your... Jelmer Kuperus 30 agosto 2011 17.19
Great job! Thanks Juan. Giang (Jiang) Truong Khuong 2 settembre 2011 18.22
Hi Juan, Thanks, I was stuck trying to figure... Brian Jamieson 13 settembre 2011 8.37
Hi Brian: glad I helped you :) There's no need... Juan Fernández 13 settembre 2011 8.51
Hi Juan, Thanks for confirming that for me. I... Brian Jamieson 13 settembre 2011 9.12
that's it! That's the reason to use it :) Juan Fernández 14 settembre 2011 0.07
Hi Juan Nice post, but from where i get the... Priya Ranjan 29 maggio 2014 5.54
Thanks Juan. I was trying to do the same with... Rakesh Goswami 30 aprile 2012 3.36
Hi, I was trying to do the same thing following... Deawn Md Alimozzaman 11 agosto 2012 15.35
It does even come to the application list. Deawn Md Alimozzaman 11 agosto 2012 15.36
any help/suggestion pls? Deawn Md Alimozzaman 12 agosto 2012 13.39
[...] Hello everyone, I have followed this blog... Anonimo 15 agosto 2012 1.27
Great post. Thanks a lot..! Vishal Panchal 6 settembre 2012 5.43
Hi, I tried implementing the above steps for... Satya Bhat 26 settembre 2012 4.07
i don't have liferay-display.xml and... Enrico Maria Rossi 1 febbraio 2013 7.03
Hi Enrico, By default liferay-display.xml and... Eresh Kangal 17 giugno 2013 23.29
Hi Eresh, But what contents we have to put in... Priya Ranjan 29 maggio 2014 5.51
Hey Juan, Thanks for sharing this good post.... Roshan Qureshi 15 dicembre 2013 3.32
Hi Roshan! Thanks for your comment. Yes, there... Juan Fernández 16 dicembre 2013 0.18
Thanks Juan to show the right way. Roshan Qureshi 16 dicembre 2013 0.23
Hi friends, I have created one request for... Roshan Qureshi 17 dicembre 2013 23.47
Hi Juan, Thanks for sharing this knowledge. I... Nrupay N Shah 23 giugno 2014 22.35
Hi Juan, Now I am getting the below error. Can... Nrupay N Shah 24 giugno 2014 16.35
Hi there: you need to add the "ADD_TO_PAGE"... Juan Fernández 24 giugno 2014 23.29
Hi Juan, this is exactly what I need, but it... Martin Jonik 15 ottobre 2014 9.04
There are some little changes for 6.1.x+ : the... Armand Ballaci 22 gennaio 2015 0.22
Hello, In Liferay 6.2 there is ADD_PAGE already... Michał Janusz 15 marzo 2016 3.54

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
Inviato il 30/08/11 17.19.
Great job!
Thanks Juan.
Inviato il 02/09/11 18.22.
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?
Inviato il 13/09/11 8.37.
Hi Brian:
glad I helped you emoticon
There's no need to remove the permissions: that was my requirement, but it is not mandatory
Regards!
Inviato il 13/09/11 8.51 in risposta a Brian Jamieson.
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 ?
Inviato il 13/09/11 9.12 in risposta a Juan Fernández.
that's it! That's the reason to use it emoticon
Inviato il 14/09/11 0.07 in risposta a Brian Jamieson.
Thanks Juan.
I was trying to do the same with ext and this blog helps.
Inviato il 30/04/12 3.36.
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 ?

Thanks
Rony.
Inviato il 11/08/12 15.35 in risposta a Rakesh Goswami.
It does even come to the application list.
Inviato il 11/08/12 15.36 in risposta a Paradise Lost.
any help/suggestion pls?
Inviato il 12/08/12 13.39 in risposta a Paradise Lost.
[...] Hello everyone, I have followed this blog and its not working on the latest Liferay 6.1 CE GA2. If I do it aggresively by editting liferay-display.xml and liferay-portlet.xml its working, however I... [...] Read More
Inviato il 15/08/12 1.27.
Great post.
Thanks a lot..!
Inviato il 06/09/12 5.43 in risposta a .
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>
<permiss­ions>
<supports>
<action-key>ADD_TO_PAGE</action-key>
<ac­tion-key>CONFIGURATION</action-key>
<action-key>EXPORT_USER</action-key­>
<action-key>VIEW</action-key>
</supports>
<site-member-defa­ults>
<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>
</permi­ssions>
</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.use­rsadmin.util.OrganizationIndexer</indexer-class>
<indexer-class>com.liferay.po­rtlet.usersadmin.util.UserIndexer</indexer-class>
<portlet-url-class>com.lifer­ay.portal.struts.StrutsActionPortletURL</portlet-url-class>
<atom-collection-a­dapter>com.liferay.portlet.usersadmin.atom.UserAtomCollectionAdapter</atom-colle­ction-adapter>
<custom-attributes-display>com.liferay.portlet.usersadmin.Layou­tCustomAttributesDisplay</custom-attributes-display>
<custom-attributes-displa­y>com.liferay.portlet.usersadmin.OrganizationCustomAttributesDisplay</custom-att­ributes-display>
<custom-attributes-display>com.liferay.portlet.usersadmin.Use­rCustomAttributesDisplay</custom-attributes-display>
<use-default-template>fal­se</use-default-template>
<private-request-attributes>false</private-request-a­ttributes>
<private-session-attributes>false</private-session-attributes>
<r­ender-weight>50</render-weight>
<header-portlet-css>/html/portlet/layouts_admi­n/css/main.css</header-portlet-css>
<header-portlet-css>/html/portlet/users_ad­min/css/main.css</header-portlet-css>
<css-class-wrapper>portlet-users-admin</­css-class-wrapper>
</portlet>
------------------------------------------------
ple­ase suggest...

Thanks,
Satya
Inviato il 26/09/12 4.07.
i don't have liferay-display.xml and workflow.xml in my ext-project. why? thanks.
Inviato il 01/02/13 7.03.
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
Inviato il 17/06/13 23.29 in risposta a Enrico Maria Rossi.
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.
Inviato il 15/12/13 3.32.
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
Inviato il 16/12/13 0.18 in risposta a Roshan Qureshi.
Thanks Juan to show the right way.
Inviato il 16/12/13 0.23.
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-42946

Thanks,
Roshan Qureshi
Inviato il 17/12/13 23.47.
Hi Eresh,
But what contents we have to put in workfolw.xml file can you please explain soon
Inviato il 29/05/14 5.51 in risposta a Eresh Kangal.
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 soon

thanks
Inviato il 29/05/14 5.54 in risposta a Juan Fernández.
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
Inviato il 23/06/14 22.35.
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_PAGE
com.liferay.portal.NoSuchResourceActionException: 158#ADD_TO_PAGE
at com.liferay.portal.security.permission.ResourceActionsImpl.checkAction(ResourceA­ctionsImpl.java:129)
at com.liferay.portal.security.permission.ResourceActionsUtil.checkAction(ResourceA­ctionsUtil.java:72)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermiss­ion(AdvancedPermissionChecker.java:868)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionIm­pl(AdvancedPermissionChecker.java:944)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(A­dvancedPermissionChecker.java:595)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:289)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:213)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:168)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:159)
at com.liferay.portal.service.permission.PortletPermissionUtil.contains(PortletPerm­issionUtil.java:118)
at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._getRelevantPortle­tCategory(view_jsp.java:243)
at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._jspService(view_j­sp.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(DirectRequestD­ispatcher.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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.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.j­ava:593)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.jav­a:530)
at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatch­erImpl.java:323)
at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatche­rImpl.java:120)
at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProces­sor.java:363)
at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProces­sor.java:333)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesReques­tProcessor.java:239)
at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(Tile­sRequestProcessor.java:341)
at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:5­72)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcesso­r.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.j­ava: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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.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.j­ava:593)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.jav­a: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:8­6)
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)
a­t 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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.j­ava:310)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.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.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilte­r.java:289)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoL­oginFilter.java:247)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPos­tFilter.java:83)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.ja­va:80)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(V­irtualHostFilter.java:216)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.jav­a:738)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2­24)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1­69)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.jav­a: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(AbstractPro­tocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)­
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:8­86)
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_PAGE
com.liferay.portal.NoSuchResourceActionException: 153#ADD_TO_PAGE
at com.liferay.portal.security.permission.ResourceActionsImpl.checkAction(ResourceA­ctionsImpl.java:129)
at com.liferay.portal.security.permission.ResourceActionsUtil.checkAction(ResourceA­ctionsUtil.java:72)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermiss­ion(AdvancedPermissionChecker.java:868)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionIm­pl(AdvancedPermissionChecker.java:944)
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(A­dvancedPermissionChecker.java:595)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:289)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:213)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:168)
at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPerm­issionImpl.java:159)
at com.liferay.portal.service.permission.PortletPermissionUtil.contains(PortletPerm­issionUtil.java:118)
at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._getRelevantPortle­tCategory(view_jsp.java:243)
at org.apache.jsp.html.portlet.layout_005fconfiguration.view_jsp._jspService(view_j­sp.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(DirectRequestD­ispatcher.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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.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.j­ava:593)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.jav­a:530)
at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatch­erImpl.java:323)
at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatche­rImpl.java:120)
at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProces­sor.java:363)
at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProces­sor.java:333)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesReques­tProcessor.java:239)
at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(Tile­sRequestProcessor.java:341)
at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:5­72)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcesso­r.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.j­ava: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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.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.j­ava:593)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.jav­a: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:8­6)
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)
a­t 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(ApplicationFilt­erChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.j­ava:310)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.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.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilte­r.java:289)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoL­oginFilter.java:247)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPos­tFilter.java:83)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.ja­va:80)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
­at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(V­irtualHostFilter.java:216)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.jav­a:738)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFi­lter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDire­ctCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(In­vokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(Invoker­Filter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt­erChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.­java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2­24)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1­69)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.jav­a: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(AbstractPro­tocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)­
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:8­86)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
­at java.lang.Thread.run(Thread.java:619)


Thanks & Regards,
Nrupay Shah
Inviato il 24/06/14 16.35.
Hi there: you need to add the "ADD_TO_PAGE" permission. Please follow last step of the instructions in the blog entry.
Best
Juan
Inviato il 24/06/14 23.29 in risposta a Nrupay N Shah.
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?
Inviato il 15/10/14 9.04.
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-pat­h>
<portlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portle­t-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>/h­tml/portlet/asset_publisher/css/main.css</header-portlet-css>
<header-portlet-­css>/html/portlet/users_admin/css/main.css</header-portlet-css>
<header-portle­t-css>/html/portlet/workflow_definitions/css/main.css</header-portlet-css>
<fo­oter-portlet-javascript>/html/portlet/workflow_tasks/js/main.js</footer-portlet-­javascript>
<css-class-wrapper>portlet-workflow-tasks</css-class-wrapper>
</po­rtlet>
<portlet>
<portlet-name>158</portlet-name>
<icon>/html/icons/my_workf­low_instances.png</icon>
<struts-path>my_workflow_instances</struts-path>
<p­ortlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portlet-url-c­lass>
<preferences-owned-by-group>true</preferences-owned-by-group>
<use-def­ault-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/por­tlet/asset_publisher/css/main.css</header-portlet-css>
<header-portlet-css>/ht­ml/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-port­let-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, 158

Nice post!
Inviato il 22/01/15 0.22.
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
Inviato il 15/03/16 3.54.