-
1. Re: JSPs in CMSPortlet
noicangi Jan 26, 2006 7:21 AM (in response to psalvadori)paolo: i'm relative new in jboss, and my question for you is that how you make a page the default page in cms portlet? i create a new intance of the portlet in helloportal and when i edit the index the page its the same for both portals. can you help me?
thanks
Nicolas -
2. Re: JSPs in CMSPortlet
psalvadori Jan 27, 2006 5:01 AM (in response to psalvadori)First of all I used CMSAdmin tool to create a folder at the same level of the "default" folder and uploaded my file jsp(or html) in that folder. Now the path is MyFolder/MyFile.
Then, in the portlet descriptor of my portal instance (portlet.xml), when I declare my CMSPortlet, I set the index page as follow:
<portlet-name>MyCMSPortlet</portlet-name> <portlet-class>org.jboss.portal.core.portlet.cms.CMSPortlet</portlet-class>
<init-param>
Default path to index page.
indexpage
/MyDir/MyFile
</init-param>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-info>
CMS
</portlet-info>
note that is necessary that the name of the init-param must be "indexpage" because the CMSPortlet (I discovered it in the source file) check for an attribute with this name.
I hope this help you.
Paolo. -
3. Re: JSPs in CMSPortlet
psalvadori Jan 27, 2006 5:07 AM (in response to psalvadori)In the previous post I miss some character; The correct portlet.xml is the following:
<portlet> <portlet-name>MyCMSPortlet</portlet-name> <portlet-class>org.jboss.portal.core.portlet.cms.CMSPortlet</portlet-class> <init-param> <description>Default path to index page.</description> <name>indexpage</name> <value>/MyDir/MyFile</value> </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> </supports> <portlet-info> <title>CMS</title> </portlet-info> </portlet>
-
4. Re: JSPs in CMSPortlet
glodo Jan 27, 2006 6:52 AM (in response to psalvadori)Hi everyone! i do the same thing and works fine. i just doesnt prove with another file more than html..
now i need to do one portlet that have the same behavior of the CatalogPortlet with another funcionality..
are you try to do this? for the moment i create a new portlet and i am creating a jsp for the definition portlet.. but i didnt test yet..
have a notion that how i can do?
thanks in advance
glodo -
5. Re: JSPs in CMSPortlet
noicangi Jan 27, 2006 7:48 AM (in response to psalvadori)thanks paolo for the information, but i have another doubt, y deploy the helloworldportlet-ear dir from the examples portals....i create the new instance of the cms and the only place where i found the file portal.xml was the *.war of the example portal.
the steps you said i made them but its correct to edit the portal.xml of the war fine in the helloportal??
thnx very much for helping a new user of jboos portal. -
6. Re: JSPs in CMSPortlet
noicangi Jan 27, 2006 8:06 AM (in response to psalvadori)hi! here i add more information, i create de folder with an html /prueba/prueba.html and create myCMS instance of the cmsportlet. next i add to the helloportal on the *.war file in portlet.xml added the xmlcode you said but here is the error:
10:05:50,077 INFO [TomcatDeployer] deploy, ctxPath=/helloworldportlet, warUrl=.
../tmp/deploy/tmp36717helloworldportlet-exp.war/
10:05:50,264 ERROR [PortletWebApp] An error occured when the portlet started
org.jboss.portal.portlet.PortletInitializationException: The portlet myCMS threw
a portlet exception during init
at org.jboss.portal.portlet.PortletContainer.start(PortletContainer.java
:253)
at org.jboss.portal.portlet.PortletWebApp.startService(PortletWebApp.jav
a:112)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:274)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:1
81)
at org.jboss.portal.common.system.AbstractJBossService.start(AbstractJBo
ssService.java:86)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:127)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:960)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:428)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.JMXInvocationHandler.invoke(JMXInvocationHandler.ja
va:273)
at $Proxy118.start(Unknown Source)
at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.create
(PortletAppDeployment.java:139)
at org.jboss.portal.server.deployment.jboss.ServerDeployer.create(Server
Deployer.java:225)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:935)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:925)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:789)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:127)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy105.deploy(Unknown Source)
at org.jboss.portal.server.deployment.jboss.ServerDeployer.deploy(Server
Deployer.java:278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy80.deploy(Unknown Source)
at org.jboss.portal.server.deployment.WebAppAdapter.deploy(WebAppAdapter
.java:62)
at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotificati
on(WebAppIntercepter.java:149)
at org.jboss.mx.modelmbean.XMBean.handleNotification(XMBean.java:485)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.notification.NotificationListenerProxy.invoke(Notificati
onListenerProxy.java:138)
at $Proxy106.handleNotification(Unknown Source)
at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotificat
ion(JBossNotificationBroadcasterSupport.java:112)
at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotificatio
n(JBossNotificationBroadcasterSupport.java:93)
at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerS
upport.java:325)
at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java
:293)
at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:41
6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:127)
at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor
.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy87.start(Unknown Source)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:127)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
tScanner.java:319)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
canner.java:507)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
doScan(AbstractDeploymentScanner.java:192)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(A
bstractDeploymentScanner.java:265)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:274)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
eanSupport.java:230)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:943)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:428)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:285)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:737)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:127)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:453)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:330)
at org.jboss.Main.boot(Main.java:187)
at org.jboss.Main$1.run(Main.java:438)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.portlet.PortletException: Cannot start CMS portlet due to servi
ce unavailability
at org.jboss.portal.core.portlet.cms.CMSPortlet.init(CMSPortlet.java:104
)
at javax.portlet.GenericPortlet.init(GenericPortlet.java:355)
at org.jboss.portal.portlet.PortletContainer.initPortlet(PortletContaine
r.java:364)
at org.jboss.portal.portlet.PortletContainer.start(PortletContainer.java
:225)
... 154 more
10:05:50,655 WARN [ObjectDeployment] Cannot create portal object Page[prueba] b
ecause the parent 'HelloPortal' that the deployment descriptor references does n
ot exist -
7. Re: JSPs in CMSPortlet
psalvadori Jan 27, 2006 9:48 AM (in response to psalvadori)for noicangi:
1) You must modify portlet.xml, not portal.xml
2) You are right, i forgot to tell you another thing; for the portal instance you use you must start some services, one of them is CMS service. To do that you must add an xml in the WEB-INF dir of your portal instance: jboss-portlet.xml
In this file you must specify the services to start with your portal instance; I think you only need CMS Service but I suggest you to do like me, putting inside all services. Here my jboss-portlet.xml (part of the one in jboss-portal.sar):<portlet-app> <service> <service-name>WebAppRegistry</service-name> <service-class>org.jboss.portal.server.app.WebAppRegistry</service-class> <service-ref>:service=WebAppRegistry</service-ref> </service> <service> <service-name>PortalObjectContainer</service-name> <service-class>org.jboss.portal.core.model.portal.PortalObjectContainer</service-class> <service-ref>:container=PortalObject,type=global</service-ref> </service> <service> <service-name>InstanceContainer</service-name> <service-class>org.jboss.portal.core.model.instance.InstanceContainer</service-class> <service-ref>:container=Instance,type=global</service-ref> </service> <service> <service-name>ThemeService</service-name> <service-class>org.jboss.portal.theme.ThemeService</service-class> <service-ref>:service=ThemeService</service-ref> </service> <service> <service-name>LayoutService</service-name> <service-class>org.jboss.portal.theme.LayoutService</service-class> <service-ref>:service=LayoutService</service-ref> </service> <service> <service-name>CMS</service-name> <service-class>org.jboss.portal.cms.CMS</service-class> <service-ref>:service=CMS</service-ref> </service> <service> <service-name>PortalPermissionFactory</service-name> <service-class>org.jboss.portal.security.PortalPermissionFactory</service-class> <service-ref>:service=PortalPermissionFactory</service-ref> </service> <service> <service-name>UserModule</service-name> <service-class>org.jboss.portal.core.modules.UserModule</service-class> <service-ref>:service=Module,type=User</service-ref> </service> <service> <service-name>RoleModule</service-name> <service-class>org.jboss.portal.core.modules.RoleModule</service-class> <service-ref>:service=Module,type=Role</service-ref> </service> <service> <service-name>MailModule</service-name> <service-class>org.jboss.portal.core.modules.MailModule</service-class> <service-ref>:service=Module,type=Mail</service-ref> </service> <service> <service-name>PortalPolicyConfigService</service-name> <service-class>org.jboss.portal.security.config.PortalPolicyConfigService</service-class> <service-ref>:policy=PortalPolicyConfigService</service-ref> </service> </portlet-app>
this may correct your last error.
Paolo
for glodo:
I'm sorry but I haven't tried yet the CatalogPortlet so I can't help you for this. Anywere I'll contact you if i will discover something. If you find any news about rendering jsps contact me please.
Paolo. -
8. Re: JSPs in CMSPortlet
noicangi Jan 27, 2006 10:05 AM (in response to psalvadori)paolo thanks, i will try again with the tips you said.
i will post any news
thanx for helping newbies
nx. -
9. Re: JSPs in CMSPortlet
glodo Jan 27, 2006 1:34 PM (in response to psalvadori)Ok.. i will contact to you.. i just say you.. i think that with the CMSPortlet you can not find a solution for the jsp.. because in the portlet specify the mime-type like text/html, i dont know if this the cause which you can not display a jsp.. if i am wrong please let me know..ok?
thanks in advance
glodo -
10. Re: JSPs in CMSPortlet
noicangi Jan 27, 2006 2:03 PM (in response to psalvadori)paolo:
i followed your instructions, icreate on the cms admin a folder with an html file u, all under the root dir.
in the war file of the helloportal i added the jboss-portlet.xml, in the hellowolrd-object.xml i change the overwrite by keep tags and the portlet.xml y added the code you said.
i create and instance of myCMSportlet and then create a window to a page...but when i reload the page doesn't apears.....can you help me.....what i'm doing wrong? -
11. Re: JSPs in CMSPortlet
noicangi Jan 30, 2006 4:14 PM (in response to psalvadori)paolo, thank you very much, your explanation was very clear, i found that the page that the cmsportlet points must be in english, i was uploading myindex.html in spanish so the cmsportlet desapeared and there was a error in console,
for the guys who correct the bugs.....CMSPORTLET MUST point a page in english.....if you point a page in spanish the portlet breaks. -
12. Re: JSPs in CMSPortlet
roy.russo Jan 30, 2006 5:55 PM (in response to psalvadori)No. The CMSPortlet retrieves the version of the page that matches the user's locale settings.
-
13. Re: JSPs in CMSPortlet
noicangi Jan 31, 2006 7:35 AM (in response to psalvadori)ok but if there is only a page in spanish, then the portal will try to use the default page in english, if the page in englsih doesn't exist what happens to the cmsportlet Instance?
-
14. Re: JSPs in CMSPortlet
roy.russo Jan 31, 2006 10:08 AM (in response to psalvadori)If there is only a page in spanish, and the CMSPortlet is set to render english as default, it will break. However, if the locale is set to spanish in the user's browser, it will render the spanish page.
I will detail this in the docs, as it seems to be a recurring question of how the logic works.