You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Murthy Gandikota <mg...@membersedgellc.com> on 2007/10/29 01:00:42 UTC

Can there be 2 renderer portlets in one view?

I have tried to create two portlets that have their own GUI to co-exist in the same view without success. I am using Jetspeed 2.1.2 with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet and echo. They both come with a GUI. I am able to see them one at a time by reordering them in the portlet.xml but not both together. I get the error "Cannot retrieve the definition". Does it mean what it means? Is there another way? How can the default page show multiple portlets? I'd appreciate any help. Here is my portlet.xml


<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="jpetstore" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
  <portlet id="echo">
    <portlet-name>echo</portlet-name>
    <display-name>Echo Portlet</display-name>
    <portlet-class>echo</portlet-class>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>view</portlet-mode>
      <portlet-mode>render</portlet-mode>
    </supports>
    <portlet-info>
      <title>Echo Case</title>
    </portlet-info>
    <init-param>
      <param-name>jspView</param-name>
      <param-value>/jsp/hello.jsp</param-value>
    </init-param>
  </portlet>
  <portlet id="ChangeCasePortlet">
    <portlet-name>ChangeCasePortlet</portlet-name>
    <display-name>Change Case Portlet</display-name>
    <portlet-class>ChangeCasePortlet</portlet-class>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>view</portlet-mode>
      <portlet-mode>render</portlet-mode>
    </supports>
    <portlet-info>
      <title>Change Case</title>
    </portlet-info>
    <init-param>
      <param-name>jspView</param-name>
      <param-value>/jsp/hello.jsp</param-value>
    </init-param>
  </portlet>
</portlet-app>

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Can there be 2 renderer portlets in one view?

Posted by David Sean Taylor <da...@bluesunrise.com>.
On Nov 3, 2007, at 5:09 PM, David Sean Taylor wrote:

>
> On Nov 1, 2007, at 1:10 PM, Murthy Gandikota wrote:
>
>>
>> I have checked the DB table PORTLET_DEFINITION and didn't see any
>> References to echo portlet but found one row for  
>> ChangeCasePortlet. Following is the PSML
>>
>> <page id="echo"
>>     xmlns="http://portals.apache.org/jetspeed"
>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>     xsi:schemaLocation="http://portals.apache.org/jetspeed http:// 
>> portals.apache.org/jetspeed-2/2.1/schemas/psml.xsd">
>>   <defaults
>>      skin="blue"
>>      layout-decorator="tigris"
>>      portlet-decorator="pretty-single-portlet"
>>   />
>>   <title>Echo</title>
>>   <metadata name="short-title" xml:lang="es">Echo</metadata>
>>   <metadata name="title" xml:lang="es">Echo</metadata>
>>
>>   <fragment id="echo-1" type="layout" name="jetspeed- 
>> layouts::VelocityOneColumn">
>>   <metadata name="title" xml:lang="es">Echo</metadata>

this one caught my attention, when I added it to a fragment on my  
default-page, i got:

unable to find FieldDescriptor for 'metadata' in ClassDescriptor of  
fragment{File: [not available]; line: 12; column: 49}

so according to the xsd, metadata on fragments is not allowed:

http://portals.apache.org/jetspeed-2/2.1/schemas/psml.xsd

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Can there be 2 renderer portlets in one view?

Posted by David Sean Taylor <da...@bluesunrise.com>.
On Nov 1, 2007, at 1:10 PM, Murthy Gandikota wrote:

>
> I have checked the DB table PORTLET_DEFINITION and didn't see any
> References to echo portlet but found one row for ChangeCasePortlet.  
> Following is the PSML
>
> <page id="echo"
>     xmlns="http://portals.apache.org/jetspeed"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://portals.apache.org/jetspeed http:// 
> portals.apache.org/jetspeed-2/2.1/schemas/psml.xsd">
>   <defaults
>      skin="blue"
>      layout-decorator="tigris"
>      portlet-decorator="pretty-single-portlet"
>   />
>   <title>Echo</title>
>   <metadata name="short-title" xml:lang="es">Echo</metadata>
>   <metadata name="title" xml:lang="es">Echo</metadata>
>
>   <fragment id="echo-1" type="layout" name="jetspeed- 
> layouts::VelocityOneColumn">
>   <metadata name="title" xml:lang="es">Echo</metadata>
>     <fragment id="echo-2" type="portlet" name="changec::echo">
>         <metadata name="title" xml:lang="es">Changec</metadata>
>         </fragment>
>     <fragment id="echo-3" type="portlet"  
> name="changec::ChangeCasePortlet">
>   <metadata name="title" xml:lang="es">Changec</metadata>
>     </fragment>
>   </fragment>
>
>   <security-constraints>
>     <security-constraints-ref>users</security-constraints-ref>
>   </security-constraints>
> </page>
>
Im not seeing anything wrong there
I guess we should have a look at your log files and portlet.xml next...
Sorry but its just not apparent, but it might have something to do  
with me not understanding exactly what is going wrong


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


RE: Can there be 2 renderer portlets in one view?

Posted by Murthy Gandikota <mg...@membersedgellc.com>.

David Sean Taylor [mailto:david@bluesunrise.com]
On Nov 1, 2007, at 11:07 AM, Murthy Gandikota wrote:

> David Sean Taylor [mailto:david@bluesunrise.com] wrote:
> On Oct 28, 2007, at 5:00 PM, Murthy Gandikota wrote:
>
>>> is that the class name?
>>> The "Cannot retrieve the definition" error probably means the
>>> portlet
>>> app didn;'t register properly, check your log files
>
>
> I reversed the <portlet> order. IOW, tested the following:
> a) changec::ChangeCasePortlet first and changec::echo first in
> portlet.xml
>
> Can see changec::ChangeCasePortlet but not changec::echo
>
> b) changec::echo first and changec::ChangeCasePortlet second in
> portlet.xml
>
> Can see changec::echo but not changec::ChangeCasePortlet
>
> Conclusion: in my environment there can't be multiple portlets in
> an application.
>
> Can you confirm this?
>
>>>I am having difficulty understanding what the problem.
>>>I can confirm that there can be 0..n portlets in a portlet application
>>>Of course your portlet application is not limited to one portlet
>>>Perhaps you are giving both portlets the same fragment id in the PSML
>>>file, that is a common mistake
>>Send us your PSML file and I'll have a look

I have checked the DB table PORTLET_DEFINITION and didn't see any
References to echo portlet but found one row for ChangeCasePortlet. Following is the PSML

<page id="echo"
    xmlns="http://portals.apache.org/jetspeed"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://portals.apache.org/jetspeed http://portals.apache.org/jetspeed-2/2.1/schemas/psml.xsd">
  <defaults
     skin="blue"
     layout-decorator="tigris"
     portlet-decorator="pretty-single-portlet"
  />
  <title>Echo</title>
  <metadata name="short-title" xml:lang="es">Echo</metadata>
  <metadata name="title" xml:lang="es">Echo</metadata>

  <fragment id="echo-1" type="layout" name="jetspeed-layouts::VelocityOneColumn">
  <metadata name="title" xml:lang="es">Echo</metadata>
    <fragment id="echo-2" type="portlet" name="changec::echo">
        <metadata name="title" xml:lang="es">Changec</metadata>
        </fragment>
    <fragment id="echo-3" type="portlet" name="changec::ChangeCasePortlet">
  <metadata name="title" xml:lang="es">Changec</metadata>
    </fragment>
  </fragment>

  <security-constraints>
    <security-constraints-ref>users</security-constraints-ref>
  </security-constraints>
</page>

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Can there be 2 renderer portlets in one view?

Posted by David Sean Taylor <da...@bluesunrise.com>.
On Nov 1, 2007, at 11:07 AM, Murthy Gandikota wrote:

> David Sean Taylor [mailto:david@bluesunrise.com] wrote:
> On Oct 28, 2007, at 5:00 PM, Murthy Gandikota wrote:
>
>>> is that the class name?
>>> The "Cannot retrieve the definition" error probably means the  
>>> portlet
>>> app didn;'t register properly, check your log files
>
>
> I reversed the <portlet> order. IOW, tested the following:
> a) changec::ChangeCasePortlet first and changec::echo first in  
> portlet.xml
>
> Can see changec::ChangeCasePortlet but not changec::echo
>
> b) changec::echo first and changec::ChangeCasePortlet second in  
> portlet.xml
>
> Can see changec::echo but not changec::ChangeCasePortlet
>
> Conclusion: in my environment there can't be multiple portlets in  
> an application.
>
> Can you confirm this?
>
I am having difficulty understanding what the problem.
I can confirm that there can be 0..n portlets in a portlet application
Of course your portlet application is not limited to one portlet
Perhaps you are giving both portlets the same fragment id in the PSML  
file, that is a common mistake
Send us your PSML file and I'll have a look



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


RE: Can there be 2 renderer portlets in one view?

Posted by Murthy Gandikota <mg...@membersedgellc.com>.
David Sean Taylor [mailto:david@bluesunrise.com] wrote:
On Oct 28, 2007, at 5:00 PM, Murthy Gandikota wrote:

> I have tried to create two portlets that have their own GUI to co-
> exist in the same view without success. I am using Jetspeed 2.1.2
> with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet
> and echo. They both come with a GUI. I am able to see them one at a
> time by reordering them in the portlet.xml but not both together. I
> get the error "Cannot retrieve the definition". Does it mean what
> it means? Is there another way? How can the default page show
> multiple portlets? I'd appreciate any help. Here is my portlet.xml
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-
> app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> id="jpetstore" version="1.0" xsi:schemaLocation="http://
> java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/
> xml/ns/portlet/portlet-app_1_0.xsd">
>   <portlet id="echo">
>     <portlet-name>echo</portlet-name>
>     <display-name>Echo Portlet</display-name>
>     <portlet-class>echo</portlet-class>

>>is that the class name?
>>The "Cannot retrieve the definition" error probably means the portlet
>>app didn;'t register properly, check your log files


I reversed the <portlet> order. IOW, tested the following:
a) changec::ChangeCasePortlet first and changec::echo first in portlet.xml

Can see changec::ChangeCasePortlet but not changec::echo

b) changec::echo first and changec::ChangeCasePortlet second in portlet.xml

Can see changec::echo but not changec::ChangeCasePortlet

Conclusion: in my environment there can't be multiple portlets in an application.

Can you confirm this?

Thanks
Murthy

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Can there be 2 renderer portlets in one view?

Posted by David Sean Taylor <da...@bluesunrise.com>.
On Oct 28, 2007, at 5:00 PM, Murthy Gandikota wrote:

> I have tried to create two portlets that have their own GUI to co- 
> exist in the same view without success. I am using Jetspeed 2.1.2  
> with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet  
> and echo. They both come with a GUI. I am able to see them one at a  
> time by reordering them in the portlet.xml but not both together. I  
> get the error "Cannot retrieve the definition". Does it mean what  
> it means? Is there another way? How can the default page show  
> multiple portlets? I'd appreciate any help. Here is my portlet.xml
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet- 
> app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
> id="jpetstore" version="1.0" xsi:schemaLocation="http:// 
> java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/ 
> xml/ns/portlet/portlet-app_1_0.xsd">
>   <portlet id="echo">
>     <portlet-name>echo</portlet-name>
>     <display-name>Echo Portlet</display-name>
>     <portlet-class>echo</portlet-class>

is that the class name?
The "Cannot retrieve the definition" error probably means the portlet  
app didn;'t register properly, check your log files

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


RE: Can there be 2 renderer portlets in one view?

Posted by Murthy Gandikota <mg...@membersedgellc.com>.
Murthy Gandikota wrote:
> I have tried to create two portlets that have their own GUI to co-exist in the same view without success. I am using Jetspeed 2.1.2 with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet and echo. They both come with a GUI. I am able to see them one at a time by reordering them in the portlet.xml but not both together. I get the error "Cannot retrieve the definition". Does it mean what it means? Is there another way? How can the default page show multiple portlets? I'd appreciate any help. Here is my portlet.xml
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="jpetstore" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
>   <portlet id="echo">
>     <portlet-name>echo</portlet-name>
>     <display-name>Echo Portlet</display-name>
>     <portlet-class>echo</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Echo Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
>   <portlet id="ChangeCasePortlet">
>     <portlet-name>ChangeCasePortlet</portlet-name>
>     <display-name>Change Case Portlet</display-name>
>     <portlet-class>ChangeCasePortlet</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Change Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
> </portlet-app>


For those following this thread, I am glad to report that by taking out the <portlet-mode> render </portlet-mode> tags out of one of the portlets (see above), the portlets were displayed in the portal  as expected. Since the portlets in my case hand only doView and processAction methods there was no loss of functionality. I don't know why it works that way, but that was the solution.
Best
Murthy

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


RE: Can there be 2 renderer portlets in one view?

Posted by Murthy Gandikota <mg...@membersedgellc.com>.
I am sorry. I replied to a message and changed the subject. Didn't realize it is going into the current thread.

-----Original Message-----
From: Mansour [mailto:mansour77@yahoo.com]
Sent: Sunday, October 28, 2007 7:12 PM
To: Jetspeed Users List
Subject: Re: Can there be 2 renderer portlets in one view?

Can you start a "new" thread for a "new" topic?



Murthy Gandikota wrote:
> I have tried to create two portlets that have their own GUI to co-exist in the same view without success. I am using Jetspeed 2.1.2 with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet and echo. They both come with a GUI. I am able to see them one at a time by reordering them in the portlet.xml but not both together. I get the error "Cannot retrieve the definition". Does it mean what it means? Is there another way? How can the default page show multiple portlets? I'd appreciate any help. Here is my portlet.xml
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="jpetstore" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
>   <portlet id="echo">
>     <portlet-name>echo</portlet-name>
>     <display-name>Echo Portlet</display-name>
>     <portlet-class>echo</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Echo Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
>   <portlet id="ChangeCasePortlet">
>     <portlet-name>ChangeCasePortlet</portlet-name>
>     <display-name>Change Case Portlet</display-name>
>     <portlet-class>ChangeCasePortlet</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Change Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
> </portlet-app>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Can there be 2 renderer portlets in one view?

Posted by Mansour <ma...@yahoo.com>.
Can you start a "new" thread for a "new" topic?



Murthy Gandikota wrote:
> I have tried to create two portlets that have their own GUI to co-exist in the same view without success. I am using Jetspeed 2.1.2 with Tomcat on Redhat Linux. I have 2 portlets: ChangeCasePortlet and echo. They both come with a GUI. I am able to see them one at a time by reordering them in the portlet.xml but not both together. I get the error "Cannot retrieve the definition". Does it mean what it means? Is there another way? How can the default page show multiple portlets? I'd appreciate any help. Here is my portlet.xml
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="jpetstore" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
>   <portlet id="echo">
>     <portlet-name>echo</portlet-name>
>     <display-name>Echo Portlet</display-name>
>     <portlet-class>echo</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Echo Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
>   <portlet id="ChangeCasePortlet">
>     <portlet-name>ChangeCasePortlet</portlet-name>
>     <display-name>Change Case Portlet</display-name>
>     <portlet-class>ChangeCasePortlet</portlet-class>
>     <supports>
>       <mime-type>text/html</mime-type>
>       <portlet-mode>view</portlet-mode>
>       <portlet-mode>render</portlet-mode>
>     </supports>
>     <portlet-info>
>       <title>Change Case</title>
>     </portlet-info>
>     <init-param>
>       <param-name>jspView</param-name>
>       <param-value>/jsp/hello.jsp</param-value>
>     </init-param>
>   </portlet>
> </portlet-app>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org