You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-dev@portals.apache.org by Sandy Pérez González <sp...@yahoo.es> on 2007/02/27 11:14:45 UTC

Re[2]: Need some clarificatoins

Hello,

> As far as I know there are no standard methods to get the portlet id
> or the portlet's location on the portal page.

When you say “portlet id”, are you referring to Pluto portlet id?
Because this is specific of Pluto implementation, but this is not
standard, then, only using pluto’s libraries we will be able to access
to Pluto portlet id and only if the used portlet container is Pluto.
AFAIK the standard only considers the portlet-name and portlet-window,
and these can be access using portlet API. I hope be useful :)

-- 
Regards,
 Sandy

> Hi Bharath,

> JSR168 provides some methods to retrieve information about the portal.
> Take a look at the methods of PortalContext and PortletContext. You
> can get the user and other related information name by adding
> according 'user-attribute' elements to the portlet.xml. As far as I
> know there are no standard methods to get the portlet id or the
> portlet's location on the portal page.

> Regards,
> Kevin



> On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
>>
>> Kevin,
>>           I agree JSR168 portlets addresses the write once and deploy on
>> different portals.
>>
>>    In our case we plan to write a common page which will retrieve all the
>> portal specific properties
>>    and send them as hidden parameters to the rest of the portlets we have.
>>
>>    Is there an API provided by JSR168 which allows us to get these portal
>> specific properties,without checking for
>>    the portal type  ?
>>
>>    If there is no common API,we will have to do the same logic as explained
>> in my pervious mail.
>>    Check the portal type and do things   accordingly.
>>       If(portalType="PLumtree") {
>>            //use plumtree specific API to get the username,gadgetId etc...
>>       }
>>       else If(portalType="Weblogic") {
>>            //use web logic poratl specific API to get the username,gadgetId
>> etc...
>>       }
>>
>>
>> Thanks for the clarifications
>> Bharath
>>
>> Kevin Irmscher wrote:
>> >
>> > Hi Bharath,
>> >
>> > I missed the fact that your portlets are not JSR168 compliant. I was
>> > actually talking about user attributes that are passed from the
>> > consumer to the producer. However, I'm still not sure if I got you
>> > right. You are correct that WSRP supports portal interoperability, but
>> > in the sense that you deploy a portlet in one portal which is the WSRP
>> > producer. Then you are able to consume this portlet in other portals
>> > which contain a WSRP consumer implementation.
>> >
>> > I think you are talking more about portlet interoperability, i.e.
>> > develope a portlet once and deploy it in several portals without
>> > changing the code. This, however, is addressed by the JSR168 portlet
>> > standard.
>> >
>> > Regards,
>> > Kevin
>> >
>> >
>> > On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
>> >>
>> >> Hi Kevin,
>> >>            Thanks for the quick reply.Portlets we have are not JSR168
>> >> compliant portlets.
>> >> So there are no portlet.xml files for our portlets.
>> >>       As per my understanding you are talking about the user-defined
>> >> attributes which are passed from the
>> >> producer to the consumer.
>> >>      But,I wanted to see if WSRP provides a way( i mean common API ) to
>> >> retrieve portal specific properties
>> >> like username,gadgetId etc.
>> >>      We deploy our portlets in plumtree portal.And plumtree provides API
>> >> to
>> >> get the portal properties.
>> >> Example :
>> >> /**************************************************************************/
>> >>         ptGadgetID =
>> >> gsServices.getGatewaySpecificConfig().getProperty("PT-Gadget-ID");
>> >>         ptUserName =
>> >> gsServices.getGatewaySpecificConfig().getProperty("PT-User-Name");
>> >>
>> >> /**************************************************************************/
>> >>           Since WSRP supports portal interoperability (ie same code can
>> >> be
>> >> deployed in other portals without any change ), I thought WSRP provides
>> >> common API which is implemented by all the portal vendors( plumtree,web
>> >> logic portal,liferay etc...) for the portal properties.?
>> >>
>> >>      If it does not then we have to check the portal type and do things
>> >> accordingly.
>> >>      If(portalType="PLumtree") {
>> >>           //use plumtree specific API to get the username,gadgetId etc...
>> >>      }
>> >>      else If(portalType="Weblogic") {
>> >>           //use web logic poratl specific API to get the
>> >> username,gadgetId
>> >> etc...
>> >>      }
>> >>      else If(portalType="Liferay") {
>> >>           //use web logic poratl specific API to get the
>> >> username,gadgetId
>> >> etc...
>> >>      }
>> >>
>> >> Thanks
>> >> Bharath
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Kevin Irmscher wrote:
>> >> >
>> >> > Hi Barath,
>> >> >
>> >> > JSR168 and WSRP provide a mechanism for portlets to use end-user
>> >> > information. First of all you declare the user attributes which the
>> >> > portlet wants to access in the portlet.xml of your portlet
>> >> > application.
>> >> >
>> >> > This looks like this:
>> >> >
>> >> > <user-attribute>
>> >> >     <name>user.name.given</name>
>> >> > </user-attribute>
>> >> > <user-attribute>
>> >> >     <name>user.name.family</name>
>> >> > </user-attribute>
>> >> > <user-attribute>
>> >> >     <name>user.bdate</name>
>> >> > </user-attribute>
>> >> > <user-attribute>
>> >> >     <name>user.gender</name>
>> >> > </user-attribute>
>> >> >
>> >> > You can find a list of all user-attribute elements in the appendix of
>> >> > the JSR168 document. Here is how to access these attributes in your
>> >> > portlet:
>> >> >
>> >> > Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
>> >> >                       if (userInfo != null) {
>> >> >                               Set keys = userInfo.keySet();
>> >> >                               for (Object k : keys) {
>> >> >                                       out.println(k + ": " +
>> >> userInfo.get(k)
>> >> >                                                                  +
>> >> "<br/>");
>> >> >                               }
>> >> >                       }
>> >> >
>> >> > For which attributes the portlet will actually get a value depends on
>> >> > the portal. It may provide values for name and birth date but not for
>> >> > gender.
>> >> >
>> >> > Now WSRP comes into play. What kind of user information you can access
>> >> > depends on both, the consumer and the producer. In order to get user
>> >> > specific behavior, the remote portlet needs user information which may
>> >> > be supplied to the producer when the consumer invokes certain
>> >> > operations, such as getMarkup(). During registration the consumer may
>> >> > also send custom profile attributes. The remote portlet itself also
>> >> > needs to declare the user attributes it wants to access in its
>> >> > portlet.xml, as I explained above.
>> >> >
>> >> > To actual use all this stuff you need, on the one hand a consumer
>> >> > which sends user information to the producer. On the other hand, the
>> >> > producer has to map this information to the specific user attributes
>> >> > declared in the portlet.xml so the portlet is able to access them. I
>> >> > tested this with the WSRP4J producer but unfortunately the portlet
>> >> > couldn't get the user information that was sent by the consumer
>> >> > (Liferay portal).
>> >> >
>> >> > Regards,
>> >> > Kevin
>> >> >
>> >> >
>> >> > On 2/21/07, Bharath Kumar N <bh...@gmail.com> wrote:
>> >> >>
>> >> >> Diego,
>> >> >>       I have a another question regarding WSRP.This time its specific
>> >> to
>> >> >> WSRP API.
>> >> >>
>> >> >> Every portal has certain properties like portalUserName,stylesheet,
>> >> >> portletID,portletCommunityID
>> >> >> and so forth.Since WSRP is a specification for interoperability
>> >> between
>> >> >> portals,I believe there should
>> >> >> be an common API for getting the portal specific properties.
>> >> >>
>> >> >>     Does WSRP specification provide the APIS to retrieve the portal
>> >> >> specific
>> >> >> properties
>> >> >> like userName,portletID,portletCommunityID ? If yes can you please
>> >> guide
>> >> >> me
>> >> >> through it.
>> >> >> Any examples or links will be of use?
>> >> >>
>> >> >>
>> >> >> Thanks
>> >> >> Bharath
>> >> >>
>> >> >>
>> >> >> Bharath Kumar N wrote:
>> >> >> >
>> >> >> > Diego,
>> >> >> >      Thank you very much. I was able to get WSRP working on our
>> >> >> > portlets.Appreciate all your explanations from day one.
>> >> >> >
>> >> >> > Thanks again!!!
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > Diego Louzán-3 wrote:
>> >> >> >>
>> >> >> >> See inline response.
>> >> >> >>
>> >> >> >> Bharath Kumar N escribió:
>> >> >> >>> Diego,
>> >> >> >>>          Thanks a ton for the explanations.It really helped me to
>> >> >> move
>> >> >> >>> forward.
>> >> >> >>>  But,as always i have a few more questions. :)
>> >> >> >>>
>> >> >> >>> 1) How do we expose the WSRP producer as a web service.?
>> >> >> >>
>> >> >> >> The WSRP producer is already a web service. The endpoints specified
>> >> by
>> >> >> >> Axis already implement the required interfaces.
>> >> >> >>
>> >> >> >>> 2) A basic question is How and where in the framework is the WSRP
>> >> >> >>> Producer
>> >> >> >>> exposed as a webservice ?
>> >> >> >>>     As per my understanding here is the workflow,
>> >> >> >>>     i) AxisServlet is the contact point for the Producer.
>> >> >> >>>     ii) AxisServlet uses the file server-deploy.wsdd to specify
>> >> which
>> >> >> >>> classes implement which endpoints.
>> >> >> >>>        Then it delegates the processing to the class specified on
>> >> >> >>> server-deploy.wsdd.
>> >> >> >>>     iii) In producer,each of these classes delegate their
>> >> processing
>> >> >> to
>> >> >> >>> WSRPEngine
>> >> >> >>>
>> >> >> >>>    Now where is the webservice coming into picture in this
>> >> workflow?
>> >> >> >>> What is
>> >> >> >>> the web-service endpoint url to access the producer?
>> >> >> >>
>> >> >> >> The endpoint urls specified by Axis and accesible through your app
>> >> >> >> server (in this case, tomcat).
>> >> >> >>
>> >> >> >>> iii) We will not be using the proxyportlet because the portlets
>> >> which
>> >> >> we
>> >> >> >>> have are not JSR168 complaint.So we will just register the  wsrp
>> >> >> >>> producer
>> >> >> >>> web-service endpoint url  in the plumtree portal.So,thats the
>> >> reason
>> >> >> for
>> >> >> >>> me
>> >> >> >>> asking the way to expose the producer as a web service.
>> >> >> >>
>> >> >> >> If your portlets aren't jsr168, then WSRP4J Producer won't be able
>> >> to
>> >> >> >> access them, you'll have to provide your own provider interface for
>> >> >> >> dealing with your local portlets.
>> >> >> >>
>> >> >> >>>
>> >> >> >>> Thanks
>> >> >> >>> Bharath
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> dlouzan wrote:
>> >> >> >>>> -----BEGIN PGP SIGNED MESSAGE-----
>> >> >> >>>> Hash: SHA1
>> >> >> >>>>
>> >> >> >>>> See inline response.
>> >> >> >>>>
>> >> >> >>>> Bharath Kumar N escribió:
>> >> >> >>>>> Diego,
>> >> >> >>>>>         I need some help from u'r side to tie a few loose ends
>> >> in
>> >> >> my
>> >> >> >>>>> understanding of implementation WSRP.
>> >> >> >>>>>
>> >> >> >>>>> We are not using Pluto as the provider.We have implemented our
>> >> own
>> >> >> >>>>> provider
>> >> >> >>>>> factory and I have made the change in the
>> >> >> >>>>> ..\producer\WEB-INF\classes\WSRPServices.properties
>> >> >> >>>>> ** provider.factory=
>> >> >> >>>>> com.slb.sis.dp.wsrp.producer.driver.ProviderFactoryImpl.
>> >> >> >>>>> ** consumer.registry.factory =
>> >> >> >>>>> org.apache.wsrp4j.producer.driver.ConsumerRegistryFactoryImpl
>> >> >> {remains
>> >> >> >>>>> the
>> >> >> >>>>> same}.
>> >> >> >>>>> So,my 1st goal  is to test the producer workflow.And next,Debug
>> >> the
>> >> >> >>>>> code
>> >> >> >>>>> and
>> >> >> >>>>> understand the workflow
>> >> >> >>>>> between
>> >> >> >>>>>
>> >> >> >>>>> *The Consumer and the Axis Engine( AxisServlet)
>> >> >> >>>>> *Axis Engine and the WSRPEngine
>> >> >> >>>>> *WSRPEngine and the Provider (implemented by us)
>> >> >> >>>>>
>> >> >> >>>>> 1) We will be using the plumtree portal.And my understanding is
>> >> >> that
>> >> >> >>>>> Plumtree portal will be the consumer.So,My belief is that
>> >> consumer
>> >> >> >>>>> need
>> >> >> >>>>> not be implemented.Am I right?
>> >> >> >>>> ProxyPortlet is a generic JSR-168 portlet that can act as a WSRP
>> >> >> >>>> consumer. As long as your portal accepts JSR-168 portlets (or
>> >> your
>> >> >> >>>> portal provides its own WSRP consumer component) you won't have
>> >> to
>> >> >> >>>> implement any consumer.
>> >> >> >>>>
>> >> >> >>>>> 2)    The consumer calls the producer through the Urls
>> >> >> >>>>> *http://localhost:8080/usland_wsrp_producer/WSRPBaseService
>> >> >> {provider
>> >> >> >>>>> implemented methods are working}
>> >> >> >>>>>
>> >> >>
>> >> *http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService{provider
>> >> >> >>>>> implemented methods are working}
>> >> >> >>>>>   which will be registerd while registering the portlet.
>> >> >> >>>>> Is my understanding right? how do I simulate it without actual
>> >> >> portal?
>> >> >> >>>> You can use SwingConsumer as a test for your producer. It's a
>> >> Swing
>> >> >> >>>> standalone application that acts as a WSRP consumer. Keep in mind
>> >> >> that
>> >> >> >>>> its functionality is very limited and its serves only the purpose
>> >> of
>> >> >> >>>> easy testing.
>> >> >> >>>>
>> >> >> >>>>> I tried testing the functionality by calling
>> >> >> >>>>>
>> >> >>
>> >> http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService?method=getServiceDescription
>> >> >> >>>>>
>> >> >> >>>>> and expected the output to xml format of
>> >> >> >>>>> getServiceDescriptionResponse.But
>> >> >> >>>>> it threw a
>> >> >> >>>>> fault NoTraget service WSRPServiceDescriptionService found.
>> >> >> >>>>> So how do I register the 4 interfaces service with the
>> >> AxisServlet?
>> >> >> >>>> If I'm understanding it correctly, you are using the old WSRP4J
>> >> >> repos.
>> >> >> >>>> Check the new producer in the SVN repos that is fully functional
>> >> and
>> >> >> >>>> it's easier to understand.
>> >> >> >>>>     AxisServlet uses the file server-deploy.wsdd to specify which
>> >> >> >>>> classes implement which endpoints. For instance:
>> >> >> >>>>
>> >> >> >>>> <service name="WSRPBaseService" ...>
>> >> >> >>>> ...
>> >> >> >>>>   <parameter name="className"
>> >> >> >>>>
>> >> >>
>> >> value="org.apache.wsrp4j.commons.producer.binding.WSRPMarkupBindingImpl"/>
>> >> >> >>>> ...
>> >> >> >>>> </service>
>> >> >> >>>>
>> >> >> >>>> That declaration links the Markup interface to the class
>> >> specified
>> >> >> by
>> >> >> >>>> the parameter tag. Then, these classes delegate their processing
>> >> to
>> >> >> >>>> WSRPEngine singleton. Check the example configuration for more
>> >> >> details.
>> >> >> >>>>
>> >> >> >>>>> 3) What is the first thing which will be called by the Consumer
>> >> ?
>> >> >> >>>>>    Is it the AxisServlet which will be the contact point ?
>> >> >> >>>>>    If not then ,when will the AxisServlet exactly be used in the
>> >> >> whole
>> >> >> >>>>> workflow?
>> >> >> >>>> Yes, the AxisServlet is the contact point. Then it delegates the
>> >> >> >>>> processing to the class specified on server-deploy.wsdd. In
>> >> >> producer,
>> >> >> >>>> each of these classes delegate their processing to WSRPEngine.
>> >> >> >>>>
>> >> >> >>>>> 4)When will the WSRPEngine be called.Is it the AxisServlet which
>> >> >> calls
>> >> >> >>>>> it
>> >> >> >>>>> ?
>> >> >> >>>> Already answered.
>> >> >> >>>>
>> >> >> >>>>> Thanks again for the help.Appreciate your patience.
>> >> >> >>>>>
>> >> >> >>>>> Regards
>> >> >> >>>>> Bharath
>> >> >> >>>> Hope that helps. Regards.
>> >> >> >>>> Diego.
>> >> >> >>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>>
>> >> >> >>>>> dlouzan wrote:
>> >> >> >>>>> Bharath Kumar N escribió:
>> >> >> >>>>>>>> Hi Diego,
>> >> >> >>>>>>>>     Thanks for the quick reply and the options too. I have
>> >> gone
>> >> >> >>>>>>>> through
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>> WSRP Primer and surely it is
>> >> >> >>>>>>>> a good document to understand WSRP conceptually.
>> >> >> >>>>>>>>    I am trying to understand the working of WSRP4J.The best
>> >> way
>> >> >> to
>> >> >> >>>>>>>> understand would be via an example.
>> >> >> >>>>>>>> Say,Using the WSRP4J Producer "wsrp4j-producer" and the WSRP
>> >> >> >>>>>>>> Consumer
>> >> >> >>>>>>>> "wsrp4j-proxyportlet"
>> >> >> >>>>>>>> I am trying to configure a simple JSR 168 portlet HelloWorld.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>    I appreciate your comments and feedback on the following
>> >> >> points.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> Have divided the WSRP interaction between the portlet
>> >> Producer
>> >> >> and
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>> Consumer into :
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> i) Interaction between Producer and the Portlet :
>> >> >> >>>>>>>>      Which are the configuration files {xml or .properties
>> >> files
>> >> >> >>>>>>>> }in
>> >> >> >>>>>>>> which
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>>      changes have to be made to configure the portlet as a
>> >> >> Producer
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> ii) Communication between the Producer and the Consumer :
>> >> >> >>>>>>>>      The communication is via SOAP messages.Again Which are
>> >> the
>> >> >> >>>>>>>> configuration files {xml or .properties fiels }in which the
>> >> >> changes
>> >> >> >>>>>>>> have
>> >> >> >>>>>>>> to
>> >> >> >>>>>>>> be made for the interaction between the Consumer and
>> >> Producer.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> iii) Communication between the Consumer and the portal(in my
>> >> >> case
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>> portal
>> >> >> >>>>>>>> is Plumtree):
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>    This I assume is all to do with the registration of the
>> >> >> Consumer
>> >> >> >>>>>>>> in
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>> Plumtree portal,instead of
>> >> >> >>>>>>>>    the registration of HelloWorld portlet.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> Thanks
>> >> >> >>>>>>>> Bharath
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> dlouzan wrote:
>> >> >> >>>>>>>> Bharath Kumar N escribió:
>> >> >> >>>>>>>>>>> Hi,
>> >> >> >>>>>>>>>>>
>> >> >> >>>>>>>>>>>   I'm doing some research on porting existing Portlets to
>> >> >> >>>>>>>>>>> WSRP.The
>> >> >> >>>>>>>>>>> portlets
>> >> >> >>>>>>>>>>> are not JSR-168 complaint. We are using the Plumtree
>> >> portal
>> >> >> >>>>>>>>>>> which
>> >> >> >>>>>>>>>>> supports
>> >> >> >>>>>>>>>>> WSRP.
>> >> >> >>>>>>>>>>>  I'm having difficulty finding much information on   the
>> >> >> >>>>>>>>>>> technical
>> >> >> >>>>>>>>>>> aspects
>> >> >> >>>>>>>>>>> of developing a WSRP Portlet, let alone porting   an
>> >> existing
>> >> >> >>>>>>>>>>> JSR-168
>> >> >> >>>>>>>>>>> Portlet to WSRP.
>> >> >> >>>>>>>>>>>
>> >> >> >>>>>>>>>>>  I have download WSRP4J source code and built the
>> >> same.Still
>> >> >> >>>>>>>>>>> trying
>> >> >> >>>>>>>>>>> to
>> >> >> >>>>>>>>>>> understand how it works.
>> >> >> >>>>>>>>>>>
>> >> >> >>>>>>>>>>> Are there any resources that  you may know of that can
>> >> help
>> >> >> us
>> >> >> >>>>>>>>>>> to
>> >> >> >>>>>>>>>>> implement
>> >> >> >>>>>>>>>>> the same ?  Appreciate any advice on the same
>> >> >> >>>>>>>>>>>
>> >> >> >>>>>>>>>>>  Thanks
>> >> >> >>>>>>>>>>>  Bharath
>> >> >> >>>>>>>> Well, by your comments I understand that your two main
>> >> problems
>> >> >> are
>> >> >> >>>>>>>> (1)
>> >> >> >>>>>>>> understanding how WSRP really works and (2) how to expose
>> >> that
>> >> >> >>>>>>>> functionality in a non-JSR-168 environment.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> About the first point there aren't many options around. The
>> >> WSRP
>> >> >> >>>>>>>> specification is the best of them although very hard to read.
>> >> If
>> >> >> >>>>>>>> you
>> >> >> >>>>>>>> haven't read it already, try the WSRPv1 Primer
>> >> >> >>>>>>>>
>> >> >>
>> >> (http://www.oasis-open.org/committees/download.php/10539/wsrp-primer-1.0.html).
>> >> >> >>>>>>>> It shows some of the communication involved in a very clear
>> >> >> manner.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> On the second point, my experience has always been in a
>> >> JSR-168
>> >> >> >>>>>>>> environment. But WSRP4J source code is a nice example on how
>> >> to
>> >> >> >>>>>>>> implement WSRP functionality besides JSR-168. In fact, you
>> >> can
>> >> >> >>>>>>>> reuse
>> >> >> >>>>>>>> the
>> >> >> >>>>>>>> three commons packages and the two persistence ones on any
>> >> other
>> >> >> >>>>>>>> project
>> >> >> >>>>>>>> (they don't have any strong dependencies on JSR-168 besides
>> >> some
>> >> >> >>>>>>>> utilities, they are completely reusable componentes for any
>> >> >> >>>>>>>> producer
>> >> >> >>>>>>>> or
>> >> >> >>>>>>>> consumer implementation).
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> Hope that helps.
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> Regards.
>> >> >> >>>>>>>> Diego.
>> >> >> >>>>> Hello Bharath, I'm sorry for the late response but I've been
>> >> very
>> >> >> busy
>> >> >> >>>>> and didn't have time to monitor the list. About your questions:
>> >> >> >>>>>
>> >> >> >>>>> i)
>> >> >> >>>>>     If you're using wsrp4j-producer, you don't have to make any
>> >> >> >>>>> changes
>> >> >> >>>>> to your JSR-168 portlets. Just take your .war file containing
>> >> the
>> >> >> >>>>> portlets you want to expose and just use the deployer included
>> >> (see
>> >> >> >>>>> README.txt for details). Your portlets will be automagically
>> >> >> exposed
>> >> >> >>>>> as
>> >> >> >>>>> WSRP.
>> >> >> >>>>>     That utility modifies the configuration files exposed by
>> >> >> >>>>> PlutoPortal
>> >> >> >>>>> (mainly the ones under WEB-INF/data). It also modifies the
>> >> >> portlet.xml
>> >> >> >>>>> file included on your portletapp so all the portlets delegate
>> >> their
>> >> >> >>>>> processing to the servlet included in Pluto.
>> >> >> >>>>>
>> >> >> >>>>> ii)
>> >> >> >>>>>     The communication between consumer and producer is
>> >> standardized
>> >> >> by
>> >> >> >>>>> the WSRP specification. The README.txt specifies some extension
>> >> >> points
>> >> >> >>>>> you can configure (like Producer URL Writing support), but the
>> >> >> >>>>> communication will work without that.
>> >> >> >>>>>
>> >> >> >>>>> iii)
>> >> >> >>>>>     You have to register proxyportlet into your portal. Each
>> >> portal
>> >> >> >>>>> includes its way to add JSR-168 portlets, so you'll have to read
>> >> >> the
>> >> >> >>>>> documentation. Once you have deployed proxyportlet, you have to
>> >> >> >>>>> configure the remote portlets using the two configuration
>> >> portlets
>> >> >> >>>>> included in proxyportlet (there are some limitations, I'll try
>> >> to
>> >> >> >>>>> specify them in the README.txt this afternoon).
>> >> >> >>>>>
>> >> >> >>>>> Regards.
>> >> >> >>>>> Diego.
>> >> >> >>>>>>
>> >> >> >>>> -----BEGIN PGP SIGNATURE-----
>> >> >> >>>> Version: GnuPG v1.4.3 (GNU/Linux)
>> >> >> >>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>> >> >> >>>>
>> >> >> >>>> iD8DBQFFxwpWgyzZYflJelERAkoWAJ4j501tattk5doYiOviWlaBsNiWAACeMB3W
>> >> >> >>>> swSfE4bvTtoao1m8FmPNjPI=
>> >> >> >>>> =gX9U
>> >> >> >>>> -----END PGP SIGNATURE-----
>> >> >> >>>>
>> >> >> >>>>
>> >> >> >>>
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> >> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9090813
>> >> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9102008
>> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context: http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9104370
>> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>>
>>

Re: [2] ReNeed some clarificatoins

Posted by Bharath Kumar N <bh...@gmail.com>.

portletID and gadgetID are the same :)

The best way to do it is to include the plumtree jar and access the plumtree
portal properties...

Was just trying to see if there are any other options :)        
 
Anyways, Thank you very much

--Bharath


Kevin Irmscher wrote:
> 
> Hi,
> 
> I was actually referring to the gadgetID Bharath had mentioned before.
> I'm not familiar with gadgets but I guess they are similar to
> portlets.
> 
> Regards, Kevin
> 
> On 2/27/07, Sandy Pérez González <sp...@yahoo.es> wrote:
>> Hello,
>>
>> > As far as I know there are no standard methods to get the portlet id
>> > or the portlet's location on the portal page.
>>
>> When you say "portlet id", are you referring to Pluto portlet id?
>> Because this is specific of Pluto implementation, but this is not
>> standard, then, only using pluto's libraries we will be able to access
>> to Pluto portlet id and only if the used portlet container is Pluto.
>> AFAIK the standard only considers the portlet-name and portlet-window,
>> and these can be access using portlet API. I hope be useful :)
>>
>> --
>> Regards,
>>  Sandy
>>
>> > Hi Bharath,
>>
>> > JSR168 provides some methods to retrieve information about the portal.
>> > Take a look at the methods of PortalContext and PortletContext. You
>> > can get the user and other related information name by adding
>> > according 'user-attribute' elements to the portlet.xml. As far as I
>> > know there are no standard methods to get the portlet id or the
>> > portlet's location on the portal page.
>>
>> > Regards,
>> > Kevin
>>
>>
>>
>> > On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
>> >>
>> >> Kevin,
>> >>           I agree JSR168 portlets addresses the write once and deploy
>> on
>> >> different portals.
>> >>
>> >>    In our case we plan to write a common page which will retrieve all
>> the
>> >> portal specific properties
>> >>    and send them as hidden parameters to the rest of the portlets we
>> have.
>> >>
>> >>    Is there an API provided by JSR168 which allows us to get these
>> portal
>> >> specific properties,without checking for
>> >>    the portal type  ?
>> >>
>> >>    If there is no common API,we will have to do the same logic as
>> explained
>> >> in my pervious mail.
>> >>    Check the portal type and do things   accordingly.
>> >>       If(portalType="PLumtree") {
>> >>            //use plumtree specific API to get the username,gadgetId
>> etc...
>> >>       }
>> >>       else If(portalType="Weblogic") {
>> >>            //use web logic poratl specific API to get the
>> username,gadgetId
>> >> etc...
>> >>       }
>> >>
>> >>
>> >> Thanks for the clarifications
>> >> Bharath
>> >>
>> >> Kevin Irmscher wrote:
>> >> >
>> >> > Hi Bharath,
>> >> >
>> >> > I missed the fact that your portlets are not JSR168 compliant. I was
>> >> > actually talking about user attributes that are passed from the
>> >> > consumer to the producer. However, I'm still not sure if I got you
>> >> > right. You are correct that WSRP supports portal interoperability,
>> but
>> >> > in the sense that you deploy a portlet in one portal which is the
>> WSRP
>> >> > producer. Then you are able to consume this portlet in other portals
>> >> > which contain a WSRP consumer implementation.
>> >> >
>> >> > I think you are talking more about portlet interoperability, i.e.
>> >> > develope a portlet once and deploy it in several portals without
>> >> > changing the code. This, however, is addressed by the JSR168 portlet
>> >> > standard.
>> >> >
>> >> > Regards,
>> >> > Kevin
>> >> >
>> >> >
>> >> > On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
>> >> >>
>> >> >> Hi Kevin,
>> >> >>            Thanks for the quick reply.Portlets we have are not
>> JSR168
>> >> >> compliant portlets.
>> >> >> So there are no portlet.xml files for our portlets.
>> >> >>       As per my understanding you are talking about the
>> user-defined
>> >> >> attributes which are passed from the
>> >> >> producer to the consumer.
>> >> >>      But,I wanted to see if WSRP provides a way( i mean common API
>> ) to
>> >> >> retrieve portal specific properties
>> >> >> like username,gadgetId etc.
>> >> >>      We deploy our portlets in plumtree portal.And plumtree
>> provides API
>> >> >> to
>> >> >> get the portal properties.
>> >> >> Example :
>> >> >>
>> /**************************************************************************/
>> >> >>         ptGadgetID =
>> >> >> gsServices.getGatewaySpecificConfig().getProperty("PT-Gadget-ID");
>> >> >>         ptUserName =
>> >> >> gsServices.getGatewaySpecificConfig().getProperty("PT-User-Name");
>> >> >>
>> >> >>
>> /**************************************************************************/
>> >> >>           Since WSRP supports portal interoperability (ie same code
>> can
>> >> >> be
>> >> >> deployed in other portals without any change ), I thought WSRP
>> provides
>> >> >> common API which is implemented by all the portal vendors(
>> plumtree,web
>> >> >> logic portal,liferay etc...) for the portal properties.?
>> >> >>
>> >> >>      If it does not then we have to check the portal type and do
>> things
>> >> >> accordingly.
>> >> >>      If(portalType="PLumtree") {
>> >> >>           //use plumtree specific API to get the username,gadgetId
>> etc...
>> >> >>      }
>> >> >>      else If(portalType="Weblogic") {
>> >> >>           //use web logic poratl specific API to get the
>> >> >> username,gadgetId
>> >> >> etc...
>> >> >>      }
>> >> >>      else If(portalType="Liferay") {
>> >> >>           //use web logic poratl specific API to get the
>> >> >> username,gadgetId
>> >> >> etc...
>> >> >>      }
>> >> >>
>> >> >> Thanks
>> >> >> Bharath
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Kevin Irmscher wrote:
>> >> >> >
>> >> >> > Hi Barath,
>> >> >> >
>> >> >> > JSR168 and WSRP provide a mechanism for portlets to use end-user
>> >> >> > information. First of all you declare the user attributes which
>> the
>> >> >> > portlet wants to access in the portlet.xml of your portlet
>> >> >> > application.
>> >> >> >
>> >> >> > This looks like this:
>> >> >> >
>> >> >> > <user-attribute>
>> >> >> >     <name>user.name.given</name>
>> >> >> > </user-attribute>
>> >> >> > <user-attribute>
>> >> >> >     <name>user.name.family</name>
>> >> >> > </user-attribute>
>> >> >> > <user-attribute>
>> >> >> >     <name>user.bdate</name>
>> >> >> > </user-attribute>
>> >> >> > <user-attribute>
>> >> >> >     <name>user.gender</name>
>> >> >> > </user-attribute>
>> >> >> >
>> >> >> > You can find a list of all user-attribute elements in the
>> appendix of
>> >> >> > the JSR168 document. Here is how to access these attributes in
>> your
>> >> >> > portlet:
>> >> >> >
>> >> >> > Map userInfo = (Map)
>> request.getAttribute(PortletRequest.USER_INFO);
>> >> >> >                       if (userInfo != null) {
>> >> >> >                               Set keys = userInfo.keySet();
>> >> >> >                               for (Object k : keys) {
>> >> >> >                                       out.println(k + ": " +
>> >> >> userInfo.get(k)
>> >> >> >                                                                 
>> +
>> >> >> "<br/>");
>> >> >> >                               }
>> >> >> >                       }
>> >> >> >
>> >> >> > For which attributes the portlet will actually get a value
>> depends on
>> >> >> > the portal. It may provide values for name and birth date but not
>> for
>> >> >> > gender.
>> >> >> >
>> >> >> > Now WSRP comes into play. What kind of user information you can
>> access
>> >> >> > depends on both, the consumer and the producer. In order to get
>> user
>> >> >> > specific behavior, the remote portlet needs user information
>> which may
>> >> >> > be supplied to the producer when the consumer invokes certain
>> >> >> > operations, such as getMarkup(). During registration the consumer
>> may
>> >> >> > also send custom profile attributes. The remote portlet itself
>> also
>> >> >> > needs to declare the user attributes it wants to access in its
>> >> >> > portlet.xml, as I explained above.
>> >> >> >
>> >> >> > To actual use all this stuff you need, on the one hand a consumer
>> >> >> > which sends user information to the producer. On the other hand,
>> the
>> >> >> > producer has to map this information to the specific user
>> attributes
>> >> >> > declared in the portlet.xml so the portlet is able to access
>> them. I
>> >> >> > tested this with the WSRP4J producer but unfortunately the
>> portlet
>> >> >> > couldn't get the user information that was sent by the consumer
>> >> >> > (Liferay portal).
>> >> >> >
>> >> >> > Regards,
>> >> >> > Kevin
>> >> >> >
>> >> >> >
>> >> >> > On 2/21/07, Bharath Kumar N <bh...@gmail.com> wrote:
>> >> >> >>
>> >> >> >> Diego,
>> >> >> >>       I have a another question regarding WSRP.This time its
>> specific
>> >> >> to
>> >> >> >> WSRP API.
>> >> >> >>
>> >> >> >> Every portal has certain properties like
>> portalUserName,stylesheet,
>> >> >> >> portletID,portletCommunityID
>> >> >> >> and so forth.Since WSRP is a specification for interoperability
>> >> >> between
>> >> >> >> portals,I believe there should
>> >> >> >> be an common API for getting the portal specific properties.
>> >> >> >>
>> >> >> >>     Does WSRP specification provide the APIS to retrieve the
>> portal
>> >> >> >> specific
>> >> >> >> properties
>> >> >> >> like userName,portletID,portletCommunityID ? If yes can you
>> please
>> >> >> guide
>> >> >> >> me
>> >> >> >> through it.
>> >> >> >> Any examples or links will be of use?
>> >> >> >>
>> >> >> >>
>> >> >> >> Thanks
>> >> >> >> Bharath
>> >> >> >>
>> >> >> >>
>> >> >> >> Bharath Kumar N wrote:
>> >> >> >> >
>> >> >> >> > Diego,
>> >> >> >> >      Thank you very much. I was able to get WSRP working on
>> our
>> >> >> >> > portlets.Appreciate all your explanations from day one.
>> >> >> >> >
>> >> >> >> > Thanks again!!!
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > Diego Louzán-3 wrote:
>> >> >> >> >>
>> >> >> >> >> See inline response.
>> >> >> >> >>
>> >> >> >> >> Bharath Kumar N escribió:
>> >> >> >> >>> Diego,
>> >> >> >> >>>          Thanks a ton for the explanations.It really helped
>> me to
>> >> >> >> move
>> >> >> >> >>> forward.
>> >> >> >> >>>  But,as always i have a few more questions. :)
>> >> >> >> >>>
>> >> >> >> >>> 1) How do we expose the WSRP producer as a web service.?
>> >> >> >> >>
>> >> >> >> >> The WSRP producer is already a web service. The endpoints
>> specified
>> >> >> by
>> >> >> >> >> Axis already implement the required interfaces.
>> >> >> >> >>
>> >> >> >> >>> 2) A basic question is How and where in the framework is the
>> WSRP
>> >> >> >> >>> Producer
>> >> >> >> >>> exposed as a webservice ?
>> >> >> >> >>>     As per my understanding here is the workflow,
>> >> >> >> >>>     i) AxisServlet is the contact point for the Producer.
>> >> >> >> >>>     ii) AxisServlet uses the file server-deploy.wsdd to
>> specify
>> >> >> which
>> >> >> >> >>> classes implement which endpoints.
>> >> >> >> >>>        Then it delegates the processing to the class
>> specified on
>> >> >> >> >>> server-deploy.wsdd.
>> >> >> >> >>>     iii) In producer,each of these classes delegate their
>> >> >> processing
>> >> >> >> to
>> >> >> >> >>> WSRPEngine
>> >> >> >> >>>
>> >> >> >> >>>    Now where is the webservice coming into picture in this
>> >> >> workflow?
>> >> >> >> >>> What is
>> >> >> >> >>> the web-service endpoint url to access the producer?
>> >> >> >> >>
>> >> >> >> >> The endpoint urls specified by Axis and accesible through
>> your app
>> >> >> >> >> server (in this case, tomcat).
>> >> >> >> >>
>> >> >> >> >>> iii) We will not be using the proxyportlet because the
>> portlets
>> >> >> which
>> >> >> >> we
>> >> >> >> >>> have are not JSR168 complaint.So we will just register the 
>> wsrp
>> >> >> >> >>> producer
>> >> >> >> >>> web-service endpoint url  in the plumtree portal.So,thats
>> the
>> >> >> reason
>> >> >> >> for
>> >> >> >> >>> me
>> >> >> >> >>> asking the way to expose the producer as a web service.
>> >> >> >> >>
>> >> >> >> >> If your portlets aren't jsr168, then WSRP4J Producer won't be
>> able
>> >> >> to
>> >> >> >> >> access them, you'll have to provide your own provider
>> interface for
>> >> >> >> >> dealing with your local portlets.
>> >> >> >> >>
>> >> >> >> >>>
>> >> >> >> >>> Thanks
>> >> >> >> >>> Bharath
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> dlouzan wrote:
>> >> >> >> >>>> -----BEGIN PGP SIGNED MESSAGE-----
>> >> >> >> >>>> Hash: SHA1
>> >> >> >> >>>>
>> >> >> >> >>>> See inline response.
>> >> >> >> >>>>
>> >> >> >> >>>> Bharath Kumar N escribió:
>> >> >> >> >>>>> Diego,
>> >> >> >> >>>>>         I need some help from u'r side to tie a few loose
>> ends
>> >> >> in
>> >> >> >> my
>> >> >> >> >>>>> understanding of implementation WSRP.
>> >> >> >> >>>>>
>> >> >> >> >>>>> We are not using Pluto as the provider.We have implemented
>> our
>> >> >> own
>> >> >> >> >>>>> provider
>> >> >> >> >>>>> factory and I have made the change in the
>> >> >> >> >>>>> ..\producer\WEB-INF\classes\WSRPServices.properties
>> >> >> >> >>>>> ** provider.factory=
>> >> >> >> >>>>> com.slb.sis.dp.wsrp.producer.driver.ProviderFactoryImpl.
>> >> >> >> >>>>> ** consumer.registry.factory =
>> >> >> >> >>>>>
>> org.apache.wsrp4j.producer.driver.ConsumerRegistryFactoryImpl
>> >> >> >> {remains
>> >> >> >> >>>>> the
>> >> >> >> >>>>> same}.
>> >> >> >> >>>>> So,my 1st goal  is to test the producer workflow.And
>> next,Debug
>> >> >> the
>> >> >> >> >>>>> code
>> >> >> >> >>>>> and
>> >> >> >> >>>>> understand the workflow
>> >> >> >> >>>>> between
>> >> >> >> >>>>>
>> >> >> >> >>>>> *The Consumer and the Axis Engine( AxisServlet)
>> >> >> >> >>>>> *Axis Engine and the WSRPEngine
>> >> >> >> >>>>> *WSRPEngine and the Provider (implemented by us)
>> >> >> >> >>>>>
>> >> >> >> >>>>> 1) We will be using the plumtree portal.And my
>> understanding is
>> >> >> >> that
>> >> >> >> >>>>> Plumtree portal will be the consumer.So,My belief is that
>> >> >> consumer
>> >> >> >> >>>>> need
>> >> >> >> >>>>> not be implemented.Am I right?
>> >> >> >> >>>> ProxyPortlet is a generic JSR-168 portlet that can act as a
>> WSRP
>> >> >> >> >>>> consumer. As long as your portal accepts JSR-168 portlets
>> (or
>> >> >> your
>> >> >> >> >>>> portal provides its own WSRP consumer component) you won't
>> have
>> >> >> to
>> >> >> >> >>>> implement any consumer.
>> >> >> >> >>>>
>> >> >> >> >>>>> 2)    The consumer calls the producer through the Urls
>> >> >> >> >>>>>
>> *http://localhost:8080/usland_wsrp_producer/WSRPBaseService
>> >> >> >> {provider
>> >> >> >> >>>>> implemented methods are working}
>> >> >> >> >>>>>
>> >> >> >>
>> >> >>
>> *http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService{provider
>> >> >> >> >>>>> implemented methods are working}
>> >> >> >> >>>>>   which will be registerd while registering the portlet.
>> >> >> >> >>>>> Is my understanding right? how do I simulate it without
>> actual
>> >> >> >> portal?
>> >> >> >> >>>> You can use SwingConsumer as a test for your producer. It's
>> a
>> >> >> Swing
>> >> >> >> >>>> standalone application that acts as a WSRP consumer. Keep
>> in mind
>> >> >> >> that
>> >> >> >> >>>> its functionality is very limited and its serves only the
>> purpose
>> >> >> of
>> >> >> >> >>>> easy testing.
>> >> >> >> >>>>
>> >> >> >> >>>>> I tried testing the functionality by calling
>> >> >> >> >>>>>
>> >> >> >>
>> >> >>
>> http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService?method=getServiceDescription
>> >> >> >> >>>>>
>> >> >> >> >>>>> and expected the output to xml format of
>> >> >> >> >>>>> getServiceDescriptionResponse.But
>> >> >> >> >>>>> it threw a
>> >> >> >> >>>>> fault NoTraget service WSRPServiceDescriptionService
>> found.
>> >> >> >> >>>>> So how do I register the 4 interfaces service with the
>> >> >> AxisServlet?
>> >> >> >> >>>> If I'm understanding it correctly, you are using the old
>> WSRP4J
>> >> >> >> repos.
>> >> >> >> >>>> Check the new producer in the SVN repos that is fully
>> functional
>> >> >> and
>> >> >> >> >>>> it's easier to understand.
>> >> >> >> >>>>     AxisServlet uses the file server-deploy.wsdd to specify
>> which
>> >> >> >> >>>> classes implement which endpoints. For instance:
>> >> >> >> >>>>
>> >> >> >> >>>> <service name="WSRPBaseService" ...>
>> >> >> >> >>>> ...
>> >> >> >> >>>>   <parameter name="className"
>> >> >> >> >>>>
>> >> >> >>
>> >> >>
>> value="org.apache.wsrp4j.commons.producer.binding.WSRPMarkupBindingImpl"/>
>> >> >> >> >>>> ...
>> >> >> >> >>>> </service>
>> >> >> >> >>>>
>> >> >> >> >>>> That declaration links the Markup interface to the class
>> >> >> specified
>> >> >> >> by
>> >> >> >> >>>> the parameter tag. Then, these classes delegate their
>> processing
>> >> >> to
>> >> >> >> >>>> WSRPEngine singleton. Check the example configuration for
>> more
>> >> >> >> details.
>> >> >> >> >>>>
>> >> >> >> >>>>> 3) What is the first thing which will be called by the
>> Consumer
>> >> >> ?
>> >> >> >> >>>>>    Is it the AxisServlet which will be the contact point ?
>> >> >> >> >>>>>    If not then ,when will the AxisServlet exactly be used
>> in the
>> >> >> >> whole
>> >> >> >> >>>>> workflow?
>> >> >> >> >>>> Yes, the AxisServlet is the contact point. Then it
>> delegates the
>> >> >> >> >>>> processing to the class specified on server-deploy.wsdd. In
>> >> >> >> producer,
>> >> >> >> >>>> each of these classes delegate their processing to
>> WSRPEngine.
>> >> >> >> >>>>
>> >> >> >> >>>>> 4)When will the WSRPEngine be called.Is it the AxisServlet
>> which
>> >> >> >> calls
>> >> >> >> >>>>> it
>> >> >> >> >>>>> ?
>> >> >> >> >>>> Already answered.
>> >> >> >> >>>>
>> >> >> >> >>>>> Thanks again for the help.Appreciate your patience.
>> >> >> >> >>>>>
>> >> >> >> >>>>> Regards
>> >> >> >> >>>>> Bharath
>> >> >> >> >>>> Hope that helps. Regards.
>> >> >> >> >>>> Diego.
>> >> >> >> >>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>>> dlouzan wrote:
>> >> >> >> >>>>> Bharath Kumar N escribió:
>> >> >> >> >>>>>>>> Hi Diego,
>> >> >> >> >>>>>>>>     Thanks for the quick reply and the options too. I
>> have
>> >> >> gone
>> >> >> >> >>>>>>>> through
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>> WSRP Primer and surely it is
>> >> >> >> >>>>>>>> a good document to understand WSRP conceptually.
>> >> >> >> >>>>>>>>    I am trying to understand the working of WSRP4J.The
>> best
>> >> >> way
>> >> >> >> to
>> >> >> >> >>>>>>>> understand would be via an example.
>> >> >> >> >>>>>>>> Say,Using the WSRP4J Producer "wsrp4j-producer" and the
>> WSRP
>> >> >> >> >>>>>>>> Consumer
>> >> >> >> >>>>>>>> "wsrp4j-proxyportlet"
>> >> >> >> >>>>>>>> I am trying to configure a simple JSR 168 portlet
>> HelloWorld.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>>    I appreciate your comments and feedback on the
>> following
>> >> >> >> points.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> Have divided the WSRP interaction between the portlet
>> >> >> Producer
>> >> >> >> and
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>> Consumer into :
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> i) Interaction between Producer and the Portlet :
>> >> >> >> >>>>>>>>      Which are the configuration files {xml or
>> .properties
>> >> >> files
>> >> >> >> >>>>>>>> }in
>> >> >> >> >>>>>>>> which
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>>      changes have to be made to configure the portlet
>> as a
>> >> >> >> Producer
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> ii) Communication between the Producer and the Consumer
>> :
>> >> >> >> >>>>>>>>      The communication is via SOAP messages.Again Which
>> are
>> >> >> the
>> >> >> >> >>>>>>>> configuration files {xml or .properties fiels }in which
>> the
>> >> >> >> changes
>> >> >> >> >>>>>>>> have
>> >> >> >> >>>>>>>> to
>> >> >> >> >>>>>>>> be made for the interaction between the Consumer and
>> >> >> Producer.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> iii) Communication between the Consumer and the
>> portal(in my
>> >> >> >> case
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>> portal
>> >> >> >> >>>>>>>> is Plumtree):
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>>    This I assume is all to do with the registration of
>> the
>> >> >> >> Consumer
>> >> >> >> >>>>>>>> in
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>> Plumtree portal,instead of
>> >> >> >> >>>>>>>>    the registration of HelloWorld portlet.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> Thanks
>> >> >> >> >>>>>>>> Bharath
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> dlouzan wrote:
>> >> >> >> >>>>>>>> Bharath Kumar N escribió:
>> >> >> >> >>>>>>>>>>> Hi,
>> >> >> >> >>>>>>>>>>>
>> >> >> >> >>>>>>>>>>>   I'm doing some research on porting existing
>> Portlets to
>> >> >> >> >>>>>>>>>>> WSRP.The
>> >> >> >> >>>>>>>>>>> portlets
>> >> >> >> >>>>>>>>>>> are not JSR-168 complaint. We are using the Plumtree
>> >> >> portal
>> >> >> >> >>>>>>>>>>> which
>> >> >> >> >>>>>>>>>>> supports
>> >> >> >> >>>>>>>>>>> WSRP.
>> >> >> >> >>>>>>>>>>>  I'm having difficulty finding much information on  
>> the
>> >> >> >> >>>>>>>>>>> technical
>> >> >> >> >>>>>>>>>>> aspects
>> >> >> >> >>>>>>>>>>> of developing a WSRP Portlet, let alone porting   an
>> >> >> existing
>> >> >> >> >>>>>>>>>>> JSR-168
>> >> >> >> >>>>>>>>>>> Portlet to WSRP.
>> >> >> >> >>>>>>>>>>>
>> >> >> >> >>>>>>>>>>>  I have download WSRP4J source code and built the
>> >> >> same.Still
>> >> >> >> >>>>>>>>>>> trying
>> >> >> >> >>>>>>>>>>> to
>> >> >> >> >>>>>>>>>>> understand how it works.
>> >> >> >> >>>>>>>>>>>
>> >> >> >> >>>>>>>>>>> Are there any resources that  you may know of that
>> can
>> >> >> help
>> >> >> >> us
>> >> >> >> >>>>>>>>>>> to
>> >> >> >> >>>>>>>>>>> implement
>> >> >> >> >>>>>>>>>>> the same ?  Appreciate any advice on the same
>> >> >> >> >>>>>>>>>>>
>> >> >> >> >>>>>>>>>>>  Thanks
>> >> >> >> >>>>>>>>>>>  Bharath
>> >> >> >> >>>>>>>> Well, by your comments I understand that your two main
>> >> >> problems
>> >> >> >> are
>> >> >> >> >>>>>>>> (1)
>> >> >> >> >>>>>>>> understanding how WSRP really works and (2) how to
>> expose
>> >> >> that
>> >> >> >> >>>>>>>> functionality in a non-JSR-168 environment.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> About the first point there aren't many options around.
>> The
>> >> >> WSRP
>> >> >> >> >>>>>>>> specification is the best of them although very hard to
>> read.
>> >> >> If
>> >> >> >> >>>>>>>> you
>> >> >> >> >>>>>>>> haven't read it already, try the WSRPv1 Primer
>> >> >> >> >>>>>>>>
>> >> >> >>
>> >> >>
>> (http://www.oasis-open.org/committees/download.php/10539/wsrp-primer-1.0.html).
>> >> >> >> >>>>>>>> It shows some of the communication involved in a very
>> clear
>> >> >> >> manner.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> On the second point, my experience has always been in a
>> >> >> JSR-168
>> >> >> >> >>>>>>>> environment. But WSRP4J source code is a nice example
>> on how
>> >> >> to
>> >> >> >> >>>>>>>> implement WSRP functionality besides JSR-168. In fact,
>> you
>> >> >> can
>> >> >> >> >>>>>>>> reuse
>> >> >> >> >>>>>>>> the
>> >> >> >> >>>>>>>> three commons packages and the two persistence ones on
>> any
>> >> >> other
>> >> >> >> >>>>>>>> project
>> >> >> >> >>>>>>>> (they don't have any strong dependencies on JSR-168
>> besides
>> >> >> some
>> >> >> >> >>>>>>>> utilities, they are completely reusable componentes for
>> any
>> >> >> >> >>>>>>>> producer
>> >> >> >> >>>>>>>> or
>> >> >> >> >>>>>>>> consumer implementation).
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> Hope that helps.
>> >> >> >> >>>>>>>>
>> >> >> >> >>>>>>>> Regards.
>> >> >> >> >>>>>>>> Diego.
>> >> >> >> >>>>> Hello Bharath, I'm sorry for the late response but I've
>> been
>> >> >> very
>> >> >> >> busy
>> >> >> >> >>>>> and didn't have time to monitor the list. About your
>> questions:
>> >> >> >> >>>>>
>> >> >> >> >>>>> i)
>> >> >> >> >>>>>     If you're using wsrp4j-producer, you don't have to
>> make any
>> >> >> >> >>>>> changes
>> >> >> >> >>>>> to your JSR-168 portlets. Just take your .war file
>> containing
>> >> >> the
>> >> >> >> >>>>> portlets you want to expose and just use the deployer
>> included
>> >> >> (see
>> >> >> >> >>>>> README.txt for details). Your portlets will be
>> automagically
>> >> >> >> exposed
>> >> >> >> >>>>> as
>> >> >> >> >>>>> WSRP.
>> >> >> >> >>>>>     That utility modifies the configuration files exposed
>> by
>> >> >> >> >>>>> PlutoPortal
>> >> >> >> >>>>> (mainly the ones under WEB-INF/data). It also modifies the
>> >> >> >> portlet.xml
>> >> >> >> >>>>> file included on your portletapp so all the portlets
>> delegate
>> >> >> their
>> >> >> >> >>>>> processing to the servlet included in Pluto.
>> >> >> >> >>>>>
>> >> >> >> >>>>> ii)
>> >> >> >> >>>>>     The communication between consumer and producer is
>> >> >> standardized
>> >> >> >> by
>> >> >> >> >>>>> the WSRP specification. The README.txt specifies some
>> extension
>> >> >> >> points
>> >> >> >> >>>>> you can configure (like Producer URL Writing support), but
>> the
>> >> >> >> >>>>> communication will work without that.
>> >> >> >> >>>>>
>> >> >> >> >>>>> iii)
>> >> >> >> >>>>>     You have to register proxyportlet into your portal.
>> Each
>> >> >> portal
>> >> >> >> >>>>> includes its way to add JSR-168 portlets, so you'll have
>> to read
>> >> >> >> the
>> >> >> >> >>>>> documentation. Once you have deployed proxyportlet, you
>> have to
>> >> >> >> >>>>> configure the remote portlets using the two configuration
>> >> >> portlets
>> >> >> >> >>>>> included in proxyportlet (there are some limitations, I'll
>> try
>> >> >> to
>> >> >> >> >>>>> specify them in the README.txt this afternoon).
>> >> >> >> >>>>>
>> >> >> >> >>>>> Regards.
>> >> >> >> >>>>> Diego.
>> >> >> >> >>>>>>
>> >> >> >> >>>> -----BEGIN PGP SIGNATURE-----
>> >> >> >> >>>> Version: GnuPG v1.4.3 (GNU/Linux)
>> >> >> >> >>>> Comment: Using GnuPG with Mozilla -
>> http://enigmail.mozdev.org
>> >> >> >> >>>>
>> >> >> >> >>>>
>> iD8DBQFFxwpWgyzZYflJelERAkoWAJ4j501tattk5doYiOviWlaBsNiWAACeMB3W
>> >> >> >> >>>> swSfE4bvTtoao1m8FmPNjPI=
>> >> >> >> >>>> =gX9U
>> >> >> >> >>>> -----END PGP SIGNATURE-----
>> >> >> >> >>>>
>> >> >> >> >>>>
>> >> >> >> >>>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >
>> >> >> >>
>> >> >> >> --
>> >> >> >> View this message in context:
>> >> >> >>
>> >> >>
>> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9090813
>> >> >> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9102008
>> >> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9104370
>> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9184852
Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.


Re: Re[2]: Need some clarificatoins

Posted by Kevin Irmscher <ke...@gmail.com>.
Hi,

I was actually referring to the gadgetID Bharath had mentioned before.
I'm not familiar with gadgets but I guess they are similar to
portlets.

Regards, Kevin

On 2/27/07, Sandy Pérez González <sp...@yahoo.es> wrote:
> Hello,
>
> > As far as I know there are no standard methods to get the portlet id
> > or the portlet's location on the portal page.
>
> When you say "portlet id", are you referring to Pluto portlet id?
> Because this is specific of Pluto implementation, but this is not
> standard, then, only using pluto's libraries we will be able to access
> to Pluto portlet id and only if the used portlet container is Pluto.
> AFAIK the standard only considers the portlet-name and portlet-window,
> and these can be access using portlet API. I hope be useful :)
>
> --
> Regards,
>  Sandy
>
> > Hi Bharath,
>
> > JSR168 provides some methods to retrieve information about the portal.
> > Take a look at the methods of PortalContext and PortletContext. You
> > can get the user and other related information name by adding
> > according 'user-attribute' elements to the portlet.xml. As far as I
> > know there are no standard methods to get the portlet id or the
> > portlet's location on the portal page.
>
> > Regards,
> > Kevin
>
>
>
> > On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
> >>
> >> Kevin,
> >>           I agree JSR168 portlets addresses the write once and deploy on
> >> different portals.
> >>
> >>    In our case we plan to write a common page which will retrieve all the
> >> portal specific properties
> >>    and send them as hidden parameters to the rest of the portlets we have.
> >>
> >>    Is there an API provided by JSR168 which allows us to get these portal
> >> specific properties,without checking for
> >>    the portal type  ?
> >>
> >>    If there is no common API,we will have to do the same logic as explained
> >> in my pervious mail.
> >>    Check the portal type and do things   accordingly.
> >>       If(portalType="PLumtree") {
> >>            //use plumtree specific API to get the username,gadgetId etc...
> >>       }
> >>       else If(portalType="Weblogic") {
> >>            //use web logic poratl specific API to get the username,gadgetId
> >> etc...
> >>       }
> >>
> >>
> >> Thanks for the clarifications
> >> Bharath
> >>
> >> Kevin Irmscher wrote:
> >> >
> >> > Hi Bharath,
> >> >
> >> > I missed the fact that your portlets are not JSR168 compliant. I was
> >> > actually talking about user attributes that are passed from the
> >> > consumer to the producer. However, I'm still not sure if I got you
> >> > right. You are correct that WSRP supports portal interoperability, but
> >> > in the sense that you deploy a portlet in one portal which is the WSRP
> >> > producer. Then you are able to consume this portlet in other portals
> >> > which contain a WSRP consumer implementation.
> >> >
> >> > I think you are talking more about portlet interoperability, i.e.
> >> > develope a portlet once and deploy it in several portals without
> >> > changing the code. This, however, is addressed by the JSR168 portlet
> >> > standard.
> >> >
> >> > Regards,
> >> > Kevin
> >> >
> >> >
> >> > On 2/22/07, Bharath Kumar N <bh...@gmail.com> wrote:
> >> >>
> >> >> Hi Kevin,
> >> >>            Thanks for the quick reply.Portlets we have are not JSR168
> >> >> compliant portlets.
> >> >> So there are no portlet.xml files for our portlets.
> >> >>       As per my understanding you are talking about the user-defined
> >> >> attributes which are passed from the
> >> >> producer to the consumer.
> >> >>      But,I wanted to see if WSRP provides a way( i mean common API ) to
> >> >> retrieve portal specific properties
> >> >> like username,gadgetId etc.
> >> >>      We deploy our portlets in plumtree portal.And plumtree provides API
> >> >> to
> >> >> get the portal properties.
> >> >> Example :
> >> >> /**************************************************************************/
> >> >>         ptGadgetID =
> >> >> gsServices.getGatewaySpecificConfig().getProperty("PT-Gadget-ID");
> >> >>         ptUserName =
> >> >> gsServices.getGatewaySpecificConfig().getProperty("PT-User-Name");
> >> >>
> >> >> /**************************************************************************/
> >> >>           Since WSRP supports portal interoperability (ie same code can
> >> >> be
> >> >> deployed in other portals without any change ), I thought WSRP provides
> >> >> common API which is implemented by all the portal vendors( plumtree,web
> >> >> logic portal,liferay etc...) for the portal properties.?
> >> >>
> >> >>      If it does not then we have to check the portal type and do things
> >> >> accordingly.
> >> >>      If(portalType="PLumtree") {
> >> >>           //use plumtree specific API to get the username,gadgetId etc...
> >> >>      }
> >> >>      else If(portalType="Weblogic") {
> >> >>           //use web logic poratl specific API to get the
> >> >> username,gadgetId
> >> >> etc...
> >> >>      }
> >> >>      else If(portalType="Liferay") {
> >> >>           //use web logic poratl specific API to get the
> >> >> username,gadgetId
> >> >> etc...
> >> >>      }
> >> >>
> >> >> Thanks
> >> >> Bharath
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> Kevin Irmscher wrote:
> >> >> >
> >> >> > Hi Barath,
> >> >> >
> >> >> > JSR168 and WSRP provide a mechanism for portlets to use end-user
> >> >> > information. First of all you declare the user attributes which the
> >> >> > portlet wants to access in the portlet.xml of your portlet
> >> >> > application.
> >> >> >
> >> >> > This looks like this:
> >> >> >
> >> >> > <user-attribute>
> >> >> >     <name>user.name.given</name>
> >> >> > </user-attribute>
> >> >> > <user-attribute>
> >> >> >     <name>user.name.family</name>
> >> >> > </user-attribute>
> >> >> > <user-attribute>
> >> >> >     <name>user.bdate</name>
> >> >> > </user-attribute>
> >> >> > <user-attribute>
> >> >> >     <name>user.gender</name>
> >> >> > </user-attribute>
> >> >> >
> >> >> > You can find a list of all user-attribute elements in the appendix of
> >> >> > the JSR168 document. Here is how to access these attributes in your
> >> >> > portlet:
> >> >> >
> >> >> > Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
> >> >> >                       if (userInfo != null) {
> >> >> >                               Set keys = userInfo.keySet();
> >> >> >                               for (Object k : keys) {
> >> >> >                                       out.println(k + ": " +
> >> >> userInfo.get(k)
> >> >> >                                                                  +
> >> >> "<br/>");
> >> >> >                               }
> >> >> >                       }
> >> >> >
> >> >> > For which attributes the portlet will actually get a value depends on
> >> >> > the portal. It may provide values for name and birth date but not for
> >> >> > gender.
> >> >> >
> >> >> > Now WSRP comes into play. What kind of user information you can access
> >> >> > depends on both, the consumer and the producer. In order to get user
> >> >> > specific behavior, the remote portlet needs user information which may
> >> >> > be supplied to the producer when the consumer invokes certain
> >> >> > operations, such as getMarkup(). During registration the consumer may
> >> >> > also send custom profile attributes. The remote portlet itself also
> >> >> > needs to declare the user attributes it wants to access in its
> >> >> > portlet.xml, as I explained above.
> >> >> >
> >> >> > To actual use all this stuff you need, on the one hand a consumer
> >> >> > which sends user information to the producer. On the other hand, the
> >> >> > producer has to map this information to the specific user attributes
> >> >> > declared in the portlet.xml so the portlet is able to access them. I
> >> >> > tested this with the WSRP4J producer but unfortunately the portlet
> >> >> > couldn't get the user information that was sent by the consumer
> >> >> > (Liferay portal).
> >> >> >
> >> >> > Regards,
> >> >> > Kevin
> >> >> >
> >> >> >
> >> >> > On 2/21/07, Bharath Kumar N <bh...@gmail.com> wrote:
> >> >> >>
> >> >> >> Diego,
> >> >> >>       I have a another question regarding WSRP.This time its specific
> >> >> to
> >> >> >> WSRP API.
> >> >> >>
> >> >> >> Every portal has certain properties like portalUserName,stylesheet,
> >> >> >> portletID,portletCommunityID
> >> >> >> and so forth.Since WSRP is a specification for interoperability
> >> >> between
> >> >> >> portals,I believe there should
> >> >> >> be an common API for getting the portal specific properties.
> >> >> >>
> >> >> >>     Does WSRP specification provide the APIS to retrieve the portal
> >> >> >> specific
> >> >> >> properties
> >> >> >> like userName,portletID,portletCommunityID ? If yes can you please
> >> >> guide
> >> >> >> me
> >> >> >> through it.
> >> >> >> Any examples or links will be of use?
> >> >> >>
> >> >> >>
> >> >> >> Thanks
> >> >> >> Bharath
> >> >> >>
> >> >> >>
> >> >> >> Bharath Kumar N wrote:
> >> >> >> >
> >> >> >> > Diego,
> >> >> >> >      Thank you very much. I was able to get WSRP working on our
> >> >> >> > portlets.Appreciate all your explanations from day one.
> >> >> >> >
> >> >> >> > Thanks again!!!
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > Diego Louzán-3 wrote:
> >> >> >> >>
> >> >> >> >> See inline response.
> >> >> >> >>
> >> >> >> >> Bharath Kumar N escribió:
> >> >> >> >>> Diego,
> >> >> >> >>>          Thanks a ton for the explanations.It really helped me to
> >> >> >> move
> >> >> >> >>> forward.
> >> >> >> >>>  But,as always i have a few more questions. :)
> >> >> >> >>>
> >> >> >> >>> 1) How do we expose the WSRP producer as a web service.?
> >> >> >> >>
> >> >> >> >> The WSRP producer is already a web service. The endpoints specified
> >> >> by
> >> >> >> >> Axis already implement the required interfaces.
> >> >> >> >>
> >> >> >> >>> 2) A basic question is How and where in the framework is the WSRP
> >> >> >> >>> Producer
> >> >> >> >>> exposed as a webservice ?
> >> >> >> >>>     As per my understanding here is the workflow,
> >> >> >> >>>     i) AxisServlet is the contact point for the Producer.
> >> >> >> >>>     ii) AxisServlet uses the file server-deploy.wsdd to specify
> >> >> which
> >> >> >> >>> classes implement which endpoints.
> >> >> >> >>>        Then it delegates the processing to the class specified on
> >> >> >> >>> server-deploy.wsdd.
> >> >> >> >>>     iii) In producer,each of these classes delegate their
> >> >> processing
> >> >> >> to
> >> >> >> >>> WSRPEngine
> >> >> >> >>>
> >> >> >> >>>    Now where is the webservice coming into picture in this
> >> >> workflow?
> >> >> >> >>> What is
> >> >> >> >>> the web-service endpoint url to access the producer?
> >> >> >> >>
> >> >> >> >> The endpoint urls specified by Axis and accesible through your app
> >> >> >> >> server (in this case, tomcat).
> >> >> >> >>
> >> >> >> >>> iii) We will not be using the proxyportlet because the portlets
> >> >> which
> >> >> >> we
> >> >> >> >>> have are not JSR168 complaint.So we will just register the  wsrp
> >> >> >> >>> producer
> >> >> >> >>> web-service endpoint url  in the plumtree portal.So,thats the
> >> >> reason
> >> >> >> for
> >> >> >> >>> me
> >> >> >> >>> asking the way to expose the producer as a web service.
> >> >> >> >>
> >> >> >> >> If your portlets aren't jsr168, then WSRP4J Producer won't be able
> >> >> to
> >> >> >> >> access them, you'll have to provide your own provider interface for
> >> >> >> >> dealing with your local portlets.
> >> >> >> >>
> >> >> >> >>>
> >> >> >> >>> Thanks
> >> >> >> >>> Bharath
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>> dlouzan wrote:
> >> >> >> >>>> -----BEGIN PGP SIGNED MESSAGE-----
> >> >> >> >>>> Hash: SHA1
> >> >> >> >>>>
> >> >> >> >>>> See inline response.
> >> >> >> >>>>
> >> >> >> >>>> Bharath Kumar N escribió:
> >> >> >> >>>>> Diego,
> >> >> >> >>>>>         I need some help from u'r side to tie a few loose ends
> >> >> in
> >> >> >> my
> >> >> >> >>>>> understanding of implementation WSRP.
> >> >> >> >>>>>
> >> >> >> >>>>> We are not using Pluto as the provider.We have implemented our
> >> >> own
> >> >> >> >>>>> provider
> >> >> >> >>>>> factory and I have made the change in the
> >> >> >> >>>>> ..\producer\WEB-INF\classes\WSRPServices.properties
> >> >> >> >>>>> ** provider.factory=
> >> >> >> >>>>> com.slb.sis.dp.wsrp.producer.driver.ProviderFactoryImpl.
> >> >> >> >>>>> ** consumer.registry.factory =
> >> >> >> >>>>> org.apache.wsrp4j.producer.driver.ConsumerRegistryFactoryImpl
> >> >> >> {remains
> >> >> >> >>>>> the
> >> >> >> >>>>> same}.
> >> >> >> >>>>> So,my 1st goal  is to test the producer workflow.And next,Debug
> >> >> the
> >> >> >> >>>>> code
> >> >> >> >>>>> and
> >> >> >> >>>>> understand the workflow
> >> >> >> >>>>> between
> >> >> >> >>>>>
> >> >> >> >>>>> *The Consumer and the Axis Engine( AxisServlet)
> >> >> >> >>>>> *Axis Engine and the WSRPEngine
> >> >> >> >>>>> *WSRPEngine and the Provider (implemented by us)
> >> >> >> >>>>>
> >> >> >> >>>>> 1) We will be using the plumtree portal.And my understanding is
> >> >> >> that
> >> >> >> >>>>> Plumtree portal will be the consumer.So,My belief is that
> >> >> consumer
> >> >> >> >>>>> need
> >> >> >> >>>>> not be implemented.Am I right?
> >> >> >> >>>> ProxyPortlet is a generic JSR-168 portlet that can act as a WSRP
> >> >> >> >>>> consumer. As long as your portal accepts JSR-168 portlets (or
> >> >> your
> >> >> >> >>>> portal provides its own WSRP consumer component) you won't have
> >> >> to
> >> >> >> >>>> implement any consumer.
> >> >> >> >>>>
> >> >> >> >>>>> 2)    The consumer calls the producer through the Urls
> >> >> >> >>>>> *http://localhost:8080/usland_wsrp_producer/WSRPBaseService
> >> >> >> {provider
> >> >> >> >>>>> implemented methods are working}
> >> >> >> >>>>>
> >> >> >>
> >> >> *http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService{provider
> >> >> >> >>>>> implemented methods are working}
> >> >> >> >>>>>   which will be registerd while registering the portlet.
> >> >> >> >>>>> Is my understanding right? how do I simulate it without actual
> >> >> >> portal?
> >> >> >> >>>> You can use SwingConsumer as a test for your producer. It's a
> >> >> Swing
> >> >> >> >>>> standalone application that acts as a WSRP consumer. Keep in mind
> >> >> >> that
> >> >> >> >>>> its functionality is very limited and its serves only the purpose
> >> >> of
> >> >> >> >>>> easy testing.
> >> >> >> >>>>
> >> >> >> >>>>> I tried testing the functionality by calling
> >> >> >> >>>>>
> >> >> >>
> >> >> http://localhost:8080/usland_wsrp_producer/WSRPServiceDescriptionService?method=getServiceDescription
> >> >> >> >>>>>
> >> >> >> >>>>> and expected the output to xml format of
> >> >> >> >>>>> getServiceDescriptionResponse.But
> >> >> >> >>>>> it threw a
> >> >> >> >>>>> fault NoTraget service WSRPServiceDescriptionService found.
> >> >> >> >>>>> So how do I register the 4 interfaces service with the
> >> >> AxisServlet?
> >> >> >> >>>> If I'm understanding it correctly, you are using the old WSRP4J
> >> >> >> repos.
> >> >> >> >>>> Check the new producer in the SVN repos that is fully functional
> >> >> and
> >> >> >> >>>> it's easier to understand.
> >> >> >> >>>>     AxisServlet uses the file server-deploy.wsdd to specify which
> >> >> >> >>>> classes implement which endpoints. For instance:
> >> >> >> >>>>
> >> >> >> >>>> <service name="WSRPBaseService" ...>
> >> >> >> >>>> ...
> >> >> >> >>>>   <parameter name="className"
> >> >> >> >>>>
> >> >> >>
> >> >> value="org.apache.wsrp4j.commons.producer.binding.WSRPMarkupBindingImpl"/>
> >> >> >> >>>> ...
> >> >> >> >>>> </service>
> >> >> >> >>>>
> >> >> >> >>>> That declaration links the Markup interface to the class
> >> >> specified
> >> >> >> by
> >> >> >> >>>> the parameter tag. Then, these classes delegate their processing
> >> >> to
> >> >> >> >>>> WSRPEngine singleton. Check the example configuration for more
> >> >> >> details.
> >> >> >> >>>>
> >> >> >> >>>>> 3) What is the first thing which will be called by the Consumer
> >> >> ?
> >> >> >> >>>>>    Is it the AxisServlet which will be the contact point ?
> >> >> >> >>>>>    If not then ,when will the AxisServlet exactly be used in the
> >> >> >> whole
> >> >> >> >>>>> workflow?
> >> >> >> >>>> Yes, the AxisServlet is the contact point. Then it delegates the
> >> >> >> >>>> processing to the class specified on server-deploy.wsdd. In
> >> >> >> producer,
> >> >> >> >>>> each of these classes delegate their processing to WSRPEngine.
> >> >> >> >>>>
> >> >> >> >>>>> 4)When will the WSRPEngine be called.Is it the AxisServlet which
> >> >> >> calls
> >> >> >> >>>>> it
> >> >> >> >>>>> ?
> >> >> >> >>>> Already answered.
> >> >> >> >>>>
> >> >> >> >>>>> Thanks again for the help.Appreciate your patience.
> >> >> >> >>>>>
> >> >> >> >>>>> Regards
> >> >> >> >>>>> Bharath
> >> >> >> >>>> Hope that helps. Regards.
> >> >> >> >>>> Diego.
> >> >> >> >>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>> dlouzan wrote:
> >> >> >> >>>>> Bharath Kumar N escribió:
> >> >> >> >>>>>>>> Hi Diego,
> >> >> >> >>>>>>>>     Thanks for the quick reply and the options too. I have
> >> >> gone
> >> >> >> >>>>>>>> through
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>> WSRP Primer and surely it is
> >> >> >> >>>>>>>> a good document to understand WSRP conceptually.
> >> >> >> >>>>>>>>    I am trying to understand the working of WSRP4J.The best
> >> >> way
> >> >> >> to
> >> >> >> >>>>>>>> understand would be via an example.
> >> >> >> >>>>>>>> Say,Using the WSRP4J Producer "wsrp4j-producer" and the WSRP
> >> >> >> >>>>>>>> Consumer
> >> >> >> >>>>>>>> "wsrp4j-proxyportlet"
> >> >> >> >>>>>>>> I am trying to configure a simple JSR 168 portlet HelloWorld.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>>    I appreciate your comments and feedback on the following
> >> >> >> points.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Have divided the WSRP interaction between the portlet
> >> >> Producer
> >> >> >> and
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>> Consumer into :
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> i) Interaction between Producer and the Portlet :
> >> >> >> >>>>>>>>      Which are the configuration files {xml or .properties
> >> >> files
> >> >> >> >>>>>>>> }in
> >> >> >> >>>>>>>> which
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>>      changes have to be made to configure the portlet as a
> >> >> >> Producer
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> ii) Communication between the Producer and the Consumer :
> >> >> >> >>>>>>>>      The communication is via SOAP messages.Again Which are
> >> >> the
> >> >> >> >>>>>>>> configuration files {xml or .properties fiels }in which the
> >> >> >> changes
> >> >> >> >>>>>>>> have
> >> >> >> >>>>>>>> to
> >> >> >> >>>>>>>> be made for the interaction between the Consumer and
> >> >> Producer.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> iii) Communication between the Consumer and the portal(in my
> >> >> >> case
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>> portal
> >> >> >> >>>>>>>> is Plumtree):
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>>    This I assume is all to do with the registration of the
> >> >> >> Consumer
> >> >> >> >>>>>>>> in
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>> Plumtree portal,instead of
> >> >> >> >>>>>>>>    the registration of HelloWorld portlet.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Thanks
> >> >> >> >>>>>>>> Bharath
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> dlouzan wrote:
> >> >> >> >>>>>>>> Bharath Kumar N escribió:
> >> >> >> >>>>>>>>>>> Hi,
> >> >> >> >>>>>>>>>>>
> >> >> >> >>>>>>>>>>>   I'm doing some research on porting existing Portlets to
> >> >> >> >>>>>>>>>>> WSRP.The
> >> >> >> >>>>>>>>>>> portlets
> >> >> >> >>>>>>>>>>> are not JSR-168 complaint. We are using the Plumtree
> >> >> portal
> >> >> >> >>>>>>>>>>> which
> >> >> >> >>>>>>>>>>> supports
> >> >> >> >>>>>>>>>>> WSRP.
> >> >> >> >>>>>>>>>>>  I'm having difficulty finding much information on   the
> >> >> >> >>>>>>>>>>> technical
> >> >> >> >>>>>>>>>>> aspects
> >> >> >> >>>>>>>>>>> of developing a WSRP Portlet, let alone porting   an
> >> >> existing
> >> >> >> >>>>>>>>>>> JSR-168
> >> >> >> >>>>>>>>>>> Portlet to WSRP.
> >> >> >> >>>>>>>>>>>
> >> >> >> >>>>>>>>>>>  I have download WSRP4J source code and built the
> >> >> same.Still
> >> >> >> >>>>>>>>>>> trying
> >> >> >> >>>>>>>>>>> to
> >> >> >> >>>>>>>>>>> understand how it works.
> >> >> >> >>>>>>>>>>>
> >> >> >> >>>>>>>>>>> Are there any resources that  you may know of that can
> >> >> help
> >> >> >> us
> >> >> >> >>>>>>>>>>> to
> >> >> >> >>>>>>>>>>> implement
> >> >> >> >>>>>>>>>>> the same ?  Appreciate any advice on the same
> >> >> >> >>>>>>>>>>>
> >> >> >> >>>>>>>>>>>  Thanks
> >> >> >> >>>>>>>>>>>  Bharath
> >> >> >> >>>>>>>> Well, by your comments I understand that your two main
> >> >> problems
> >> >> >> are
> >> >> >> >>>>>>>> (1)
> >> >> >> >>>>>>>> understanding how WSRP really works and (2) how to expose
> >> >> that
> >> >> >> >>>>>>>> functionality in a non-JSR-168 environment.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> About the first point there aren't many options around. The
> >> >> WSRP
> >> >> >> >>>>>>>> specification is the best of them although very hard to read.
> >> >> If
> >> >> >> >>>>>>>> you
> >> >> >> >>>>>>>> haven't read it already, try the WSRPv1 Primer
> >> >> >> >>>>>>>>
> >> >> >>
> >> >> (http://www.oasis-open.org/committees/download.php/10539/wsrp-primer-1.0.html).
> >> >> >> >>>>>>>> It shows some of the communication involved in a very clear
> >> >> >> manner.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> On the second point, my experience has always been in a
> >> >> JSR-168
> >> >> >> >>>>>>>> environment. But WSRP4J source code is a nice example on how
> >> >> to
> >> >> >> >>>>>>>> implement WSRP functionality besides JSR-168. In fact, you
> >> >> can
> >> >> >> >>>>>>>> reuse
> >> >> >> >>>>>>>> the
> >> >> >> >>>>>>>> three commons packages and the two persistence ones on any
> >> >> other
> >> >> >> >>>>>>>> project
> >> >> >> >>>>>>>> (they don't have any strong dependencies on JSR-168 besides
> >> >> some
> >> >> >> >>>>>>>> utilities, they are completely reusable componentes for any
> >> >> >> >>>>>>>> producer
> >> >> >> >>>>>>>> or
> >> >> >> >>>>>>>> consumer implementation).
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Hope that helps.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Regards.
> >> >> >> >>>>>>>> Diego.
> >> >> >> >>>>> Hello Bharath, I'm sorry for the late response but I've been
> >> >> very
> >> >> >> busy
> >> >> >> >>>>> and didn't have time to monitor the list. About your questions:
> >> >> >> >>>>>
> >> >> >> >>>>> i)
> >> >> >> >>>>>     If you're using wsrp4j-producer, you don't have to make any
> >> >> >> >>>>> changes
> >> >> >> >>>>> to your JSR-168 portlets. Just take your .war file containing
> >> >> the
> >> >> >> >>>>> portlets you want to expose and just use the deployer included
> >> >> (see
> >> >> >> >>>>> README.txt for details). Your portlets will be automagically
> >> >> >> exposed
> >> >> >> >>>>> as
> >> >> >> >>>>> WSRP.
> >> >> >> >>>>>     That utility modifies the configuration files exposed by
> >> >> >> >>>>> PlutoPortal
> >> >> >> >>>>> (mainly the ones under WEB-INF/data). It also modifies the
> >> >> >> portlet.xml
> >> >> >> >>>>> file included on your portletapp so all the portlets delegate
> >> >> their
> >> >> >> >>>>> processing to the servlet included in Pluto.
> >> >> >> >>>>>
> >> >> >> >>>>> ii)
> >> >> >> >>>>>     The communication between consumer and producer is
> >> >> standardized
> >> >> >> by
> >> >> >> >>>>> the WSRP specification. The README.txt specifies some extension
> >> >> >> points
> >> >> >> >>>>> you can configure (like Producer URL Writing support), but the
> >> >> >> >>>>> communication will work without that.
> >> >> >> >>>>>
> >> >> >> >>>>> iii)
> >> >> >> >>>>>     You have to register proxyportlet into your portal. Each
> >> >> portal
> >> >> >> >>>>> includes its way to add JSR-168 portlets, so you'll have to read
> >> >> >> the
> >> >> >> >>>>> documentation. Once you have deployed proxyportlet, you have to
> >> >> >> >>>>> configure the remote portlets using the two configuration
> >> >> portlets
> >> >> >> >>>>> included in proxyportlet (there are some limitations, I'll try
> >> >> to
> >> >> >> >>>>> specify them in the README.txt this afternoon).
> >> >> >> >>>>>
> >> >> >> >>>>> Regards.
> >> >> >> >>>>> Diego.
> >> >> >> >>>>>>
> >> >> >> >>>> -----BEGIN PGP SIGNATURE-----
> >> >> >> >>>> Version: GnuPG v1.4.3 (GNU/Linux)
> >> >> >> >>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> >> >> >> >>>>
> >> >> >> >>>> iD8DBQFFxwpWgyzZYflJelERAkoWAJ4j501tattk5doYiOviWlaBsNiWAACeMB3W
> >> >> >> >>>> swSfE4bvTtoao1m8FmPNjPI=
> >> >> >> >>>> =gX9U
> >> >> >> >>>> -----END PGP SIGNATURE-----
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >
> >> >> >> >
> >> >> >>
> >> >> >> --
> >> >> >> View this message in context:
> >> >> >>
> >> >> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9090813
> >> >> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >> http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9102008
> >> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context: http://www.nabble.com/Help-%3A-Migrate-Portlets-to-WSRP-tf3023311.html#a9104370
> >> Sent from the Wsrp4J - Dev mailing list archive at Nabble.com.
> >>
> >>
>