Hi Scott, Here u go.
Regards, Sourav ________________________________________ From: Scott O'Bryan [EMAIL PROTECTED] Sent: Tuesday, April 22, 2008 8:44 AM To: MyFaces Development Subject: Re: Upgrading to MyFace 1.2 in Jboss Portal Server giving problem... Oh sorry, I'm also going to need your portlet.xml. You're correct, I didn't need you faces config. Scott souravm wrote: > Here u go. > > Please note that > > 1. These are the web.xml and faces-config.xml from one of the inbuilt portal > applications (admin application) in JBoss Portal Server > 2. There is no change in faces-config.xml i did for moving from myfaces 1.1.5 > to 1.2.2 > 3. In web.xml I changed the Faces Servlet name and also added the listener > name. Even without the listener name it does not work. The listener name is > anyway also present there in web.xml file in Tomcat's conf folder. > > Regards, > Sourav > > > ________________________________________ > From: Scott O'Bryan [EMAIL PROTECTED] > Sent: Tuesday, April 22, 2008 6:03 AM > To: MyFaces Development > Cc: [email protected] > Subject: Re: Upgrading to MyFace 1.2 in Jboss Portal Server giving problem > ... > > Can you post your web.xml & faces-config so I can take a quick look at > them? > > On Apr 22, 2008, at 12:00 AM, souravm <[EMAIL PROTECTED]> wrote: > > >> It is listed. >> >> Actually the same code and configuration was working fine with >> myfaces 1.1.5. >> I just changed the MyFacesGenericPortlet to FacesGenericPortlet in >> all relevant places. >> >> ----- Original Message ----- >> From: Scott O'Bryan <[EMAIL PROTECTED]> >> To: MyFaces Development <[email protected]> >> Cc: MyFaces Development <[email protected]> >> Sent: Mon Apr 21 22:18:42 2008 >> Subject: Re: Upgrading to MyFace 1.2 in Jboss Portal Server giving >> problem ... >> >> The bridge should work with facelets although I don't know how much >> testing has been done on it. I'm assuming that you don't have the >> faces servlet listed in your web.xml? >> >> On Apr 21, 2008, at 8:51 PM, souravm <[EMAIL PROTECTED]> wrote: >> >> >>> Solved the issue mentioned below. It was due to mix of myfaces jar >>> in the class path. >>> >>> Now stuck with the following issue - >>> >>> The FacesServlet fails to initialize. It says No Mapping Of >>> FacesServlet found. Abort Initializing MyFaces. >>> >>> I'm using Facelets instead of jsp. >>> >>> Is that the root cause of the problem ? >>> >>> Regards, >>> Sourav >>> >>> -----Original Message----- >>> From: souravm [mailto:[EMAIL PROTECTED] >>> Sent: Monday, April 21, 2008 5:19 PM >>> To: [email protected] >>> Subject: FW: Myfaces Portlet does not work when a bean is stored >>> inRequestscope... >>> >>> Just forwarding the message from user group. >>> >>> -----Original Message----- >>> From: souravm [mailto:[EMAIL PROTECTED] >>> Sent: Monday, April 21, 2008 5:00 PM >>> To: MyFaces Discussion >>> Subject: RE: Myfaces Portlet does not work when a bean is stored in >>> Requestscope... >>> >>> JBoss Portal Server works fine with JSF 1.2. >>> >>> The problem starts when I add the portlet-bridge-api-1.0.0- >>> alpha-2.jar and portlet-bridge-impl-1.0.0-alpha-2.jar. >>> >>> It gives error while parsing the faces-config.xml file in Manifest >>> folder of portlet-bridge-impl-1.0.0-alpha-2.jar. It says Parse Error >>> at line 20 column 14: Document is invalid: no grammar found. >>> >>> Regards, >>> Sourav >>> >>> -----Original Message----- >>> From: Scott O'Bryan [mailto:[EMAIL PROTECTED] >>> Sent: Monday, April 21, 2008 4:15 PM >>> To: MyFaces Discussion >>> Subject: Re: Myfaces Portlet does not work when a bean is stored in >>> Requestscope... >>> >>> I would be surprised if JBoss didn't have JSF built in. Since the >>> RI is >>> under development, there is no real good documentation. On the >>> wiki I >>> have a page which outlines getting Pluto installed in Tomcat6, >>> presumably you could use the RI or MyFaces with that. >>> >>> Scott >>> >>> souravm wrote: >>> >>>> Hi Scott, >>>> >>>> Thanks for the list. >>>> >>>> Is there any good documentation available anywhere to help starting >>>> with My faces JSF 1.2 and the Portlet Bridge ? >>>> >>>> I was trying to experiment with them. But at a first step itself >>>> I'm getting problem once we put the respective jars in the jboss >>>> server. The server is not starting up. >>>> >>>> Regards, >>>> Sourav >>>> >>>> -----Original Message----- >>>> From: Scott O'Bryan [mailto:[EMAIL PROTECTED] >>>> Sent: Monday, April 21, 2008 2:45 PM >>>> To: MyFaces Discussion >>>> Subject: Re: Myfaces Portlet does not work when a bean is stored in >>>> Requestscope... >>>> >>>> A quick list of items that will be addressed as part of 301 in JSF >>>> 1.2 >>>> over other bridges are: >>>> >>>> 1. Better thought through request scope >>>> 2. Extendible GenericFacesPortlet allowing custom behavior and >>>> mixture >>>> of portlet/jsf generated content while still being able to use the >>>> bridge >>>> 3. Much better thought out implementation of the ExternalContext - >>>> The >>>> spec amends what is in JSF 1.2 where appropriate. >>>> 4. EL Resolvers for portlet specific objects >>>> 5. Support for "Bridge Optional" deployments where if you have an >>>> application that works both as a portlet AND a servlet, the bridge >>>> jars >>>> are only needed at compile time >>>> 6. Explicit support for @PreDestroy and @PostCreate annotations >>>> which >>>> are not supported with in JSR-168 >>>> 7. Support for JSR-286 eventing, and resource requests that can be >>>> used >>>> to open up AJAX. >>>> 8. Support for *inline* content without the verbatim tag. This is >>>> a 1.2 >>>> feature that didn't work when run from most bridges unless they were >>>> integrated into the JSF implementation. >>>> . >>>> And many many more features. :) >>>> >>>> Scott >>>> >>>> Scott O'Bryan wrote: >>>> >>>> >>>>> souravm wrote: >>>>> >>>>> >>>>>> Hi Scott, >>>>>> >>>>>> Thanks again for clearing some of the basic points. >>>>>> >>>>>> For the better future reference purpose here I try to summarize >>>>>> our >>>>>> discussion/debate points. >>>>>> >>>>>> 1. Issue # 1 - How to handle initial Portlet request which has >>>>>> request parameters. >>>>>> >>>>>> Yes I do agree with you that " Portals, according to Portlet >>>>>> 1.0 spec make an initial call to a portlet through a render >>>>>> request.". In the same context, I am also pretty much ok to go by >>>>>> your statement " you should do as little in your render request as >>>>>> you can, but no less ". >>>>>> >>>>>> However, if this is the model to be followed, it is an absolute >>>>>> need >>>>>> that the original http request parameters should be made >>>>>> available in >>>>>> Render request. Only then a specific application context can >>>>>> utilize >>>>>> this model efficiently and decide, given a situation, what is the >>>>>> minimal processing has to be done in the initial render request. >>>>>> >>>>>> >>>>>> >>>>> Actually this is not the case. At least not as far as the Portal >>>>> people I've talked to are concerned. For a given render request, >>>>> any >>>>> parameters added to that render url WILL be available to the render >>>>> request. This means that if, in your example, you created a >>>>> RenderRequest instead of an action, your parameter would be >>>>> available. Portals rely on the action adding their own render >>>>> parameters in an action request via the ActionResponse. >>>>> >>>>> >>>>>> Even, if I revisit the thought process I went through to address >>>>>> my >>>>>> specific scenario, it is the unavailability of original request >>>>>> parameter in Render request for which I'm trying to do a work >>>>>> around. >>>>>> a) JBoss Portal Server by default always sends a Render Request >>>>>> (as >>>>>> it is in Portal spec) as initial call to a Portlet. But the >>>>>> original >>>>>> request parameters are not available in Render request. So the >>>>>> bridge >>>>>> did not work automatically. >>>>>> >>>>>> >>>>>> >>>>> They should be... Any parameters added to the RenderURL should be >>>>> available to the rest of the render request. Initially portals >>>>> don't >>>>> have any, that's true, but if you have a render url with some >>>>> parameters on it, they will be available. >>>>> >>>>> >>>>>> b) Hence, I decided to use Action Request as initial call (JBoss >>>>>> Portal server gives me a way to achieve that). >>>>>> c) Now, since MyFacesGenericPortlet, for the initial call does not >>>>>> execute other phases of JSF except render phase (which is, I >>>>>> accept >>>>>> that, based on Portlet spec), calling Action Request does not >>>>>> solve >>>>>> my issue. >>>>>> d) So finally, as you suggested, I need to extend the >>>>>> processAction() >>>>>> method of MyFacesGenericPortlet, to add some code which can store >>>>>> the >>>>>> map of original http request parameter and the same can be >>>>>> accessed >>>>>> in Render Request. >>>>>> >>>>>> It is good that, now pretty much everyone agrees that Request >>>>>> Attribute needs to be preserved. But, in my view, ideally it >>>>>> should >>>>>> not be part of JSR 301. Rather it should be part of next Portal >>>>>> spec. >>>>>> In that case, there won't be any need at all for supporting Action >>>>>> Request as initial Portlet call. This will solve the root problem. >>>>>> However, surely for the time being supporting Action Request at >>>>>> initial Portlet call in JSR 301 would surely make JSF-Portlet >>>>>> people's life easier. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> This won't happen because it's against the design they used for >>>>> portals and DOES NOT work with the eventing model. Seriously I >>>>> would >>>>> give up on it because the industry as a whole seems to be stacked >>>>> up >>>>> against you on this one. :) In short, parameters added to a >>>>> RenderURL will be available during render. Parameters added during >>>>> Event or Action requests will not be, you'll have to explicitly set >>>>> them on the response. For what it's worth, nothing is stopping you >>>>> from doing this yourself. >>>>> >>>>> >>>>>> 2. Issue # 2 - In portal environment, persistence of managed bean, >>>>>> which is defined as to be in request scope, in current Action- >>>>>> >>>>>>> Render >>>>>>> >>>>>> sequence. >>>>>> >>>>>> I see your point that the managed beans in request scope need to >>>>>> be >>>>>> stored not only in current Action->Render sequence but also for >>>>>> future direct Render Request for the Portlet. >>>>>> >>>>>> Also I understand that, currently neither JSF spec nor Portal spec >>>>>> dictates that whose responsibility is ensure this requirement. >>>>>> >>>>>> In this context, my 2 cents would be - >>>>>> a) Probably JSR 301 is the right place to enforce it, as this is >>>>>> about JSF portlets. >>>>>> b) I agree with you that given this overall requirement " most >>>>>> efficient use on this is for the request attributes to follow the >>>>>> same lifecycle as the render parameters unless they are >>>>>> excluded. " >>>>>> >>>>>> >>>>>> >>>>> 301 enforces that request attributes are preserved between action >>>>> and >>>>> render. It's unfortunate that JSR-168 did not allow this to be >>>>> consistent at the container level which is why we decided the >>>>> bridge >>>>> should make it consistent so that all JSF applications could >>>>> depend on >>>>> the same behavior. >>>>> >>>>> >>>>>> To answer your question about moving to JSF 2.0, currently the >>>>>> decision is to stick to JSF 1.1 (with facelets for templating) >>>>>> till >>>>>> the JSF 2.0 gets matured enough to use in a production scenario. >>>>>> Can >>>>>> you please let me know any feature of JSF 2.0 which can resolve >>>>>> above >>>>>> problems out of the box ? >>>>>> >>>>>> >>>>>> >>>>> Sorry, the JSR-301 bridge has 2 specs right now. One for Portlet >>>>> 1.0 >>>>> and JSF 1.2 and the other for Portlet 2.0 and JSF 1.2. JSF 2.0 >>>>> will >>>>> be covered by future specs but should address some of the wierdness >>>>> that was present in JSF 1.2 because the portal scenarios were not >>>>> properly explored. >>>>> >>>>> The JSR-301 Spec lead is on the JSF 2.0 Expert Group so he's >>>>> ensuring >>>>> some of the insanity won't be there in the next release... :) >>>>> That >>>>> said though, upgrading to JSF 1.2 would allow you to use the new >>>>> bridge. It's been out for a while and is pretty stable, the only >>>>> issue is that you must use a J2EE 5 container. >>>>> >>>>> >>>>>> However, I'll surely go through the JSR 301 spec and let me know >>>>>> my >>>>>> comments. >>>>>> >>>>>> >>>>>> >>>>> Very cool, that would be very helpful. There is a public draft for >>>>> the Portlet 1.0 bridge. You might also want to look through >>>>> JSR-286 >>>>> (Portlet 2.0) spec to see what the new portlet spec is going to >>>>> look >>>>> like. >>>>> >>>>> Scott >>>>> >>>>> >>>>>> Regards, >>>>>> Sourav >>>>>> >>>>>> -----Original Message----- >>>>>> From: Scott O'Bryan [mailto:[EMAIL PROTECTED] >>>>>> Sent: Friday, April 18, 2008 3:57 PM >>>>>> To: MyFaces Discussion >>>>>> Subject: Re: Myfaces Portlet does not work when a bean is stored >>>>>> in >>>>>> Requestscope... >>>>>> >>>>>> Eeks I wish these would have been seperate, this is going to be a >>>>>> long >>>>>> response and not be as easily referenceable in the archives. >>>>>> >>>>>> souravm wrote: >>>>>> >>>>>> >>>>>> >>>>>>> Hi Scott, >>>>>>> >>>>>>> Thanks for the detailed answer/explanation. They were really >>>>>>> helpful >>>>>>> to verify my understanding and also enriching the same. >>>>>>> >>>>>>> My consolidated response to your last 2 mails are embedded below. >>>>>>> >>>>>>> Regards, >>>>>>> Sourav >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Scott O'Bryan [mailto:[EMAIL PROTECTED] >>>>>>> Sent: Friday, April 18, 2008 12:27 PM >>>>>>> To: MyFaces Discussion >>>>>>> Subject: Re: Myfaces Portlet does not work when a bean is stored >>>>>>> in >>>>>>> Requestscope ... >>>>>>> >>>>>>> Souravm, >>>>>>> >>>>>>> Just a clairification, the request bean you have, is it not >>>>>>> getting >>>>>>> preserved between a single Action->Render or is it just not >>>>>>> getting >>>>>>> preserved in subsequent renders? >>>>>>> >>>>>>> <Sourav> >>>>>>> >>>>>>> It does not get preserved in single Action->Render. >>>>>>> >>>>>>> I'm not sure >>>>>>> - Whether this should be responsibility of the Portal server to >>>>>>> preserve the bean within the same request scope when the bean is >>>>>>> declared to be of request scope. >>>>>>> - Or it is responsibility of the bridge >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Currently is it nobodies responsibility. I would certainly be >>>>>> interested in enforcing consistency here at the bridge level. >>>>>> All I'm >>>>>> saying is that in JSF, this isn't defined at all. In Portlet 1.0 >>>>>> it's >>>>>> not defined either. So today, it works as it works. >>>>>> >>>>>> >>>>>> >>>>>>> If it is the responsibility of the bridge, then my take is the >>>>>>> root >>>>>>> cause of this problem again goes back the issue#1 (replicating >>>>>>> parameters/attributes from ActionRequest to RenderRequest). >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Your first issue and this one are two COMPLETLY different things.. >>>>>> Attributes are attributes and parameters are parameters. Why? >>>>>> Request attributes in a portal env last though the current >>>>>> request while >>>>>> request parameters last through the current request and subsequent >>>>>> non-direct render requests. >>>>>> >>>>>> >>>>>> >>>>>>> The entire JSF lifecycle execution (except render) happens within >>>>>>> processAction() method which runs with the ActionRequest. So the >>>>>>> bean creation, execution of bean's methods (which in turn >>>>>>> populate >>>>>>> the result to be displayed in the resultant response page >>>>>>> created in >>>>>>> render phase) also happen within this scope. So if the bean in >>>>>>> its >>>>>>> latest state needs to be stored and used in the render phase the >>>>>>> bean has to be stored either in session (which works fine in >>>>>>> case of >>>>>>> session scoped bean) or it has to be explicitly set in >>>>>>> RenderRequest. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> This is totally incorrect actually. First off, there is nothing >>>>>> in JSF >>>>>> which says the Lifecycle.execute has to happen during an action >>>>>> request. Quite the contrary it CAN'T. Portals, according to >>>>>> Portlet >>>>>> 1.0 spec make an initial call to a portlet through a render >>>>>> request. >>>>>> This means that, at the very least, the initial call into the >>>>>> execute >>>>>> must be a render request. When you start adding usecases for >>>>>> Portlet >>>>>> 2.0, you cannot tie specific pieces of a lifecycle to specific >>>>>> lifecycle >>>>>> phases. That said, I don't disagree that Request Attributes >>>>>> should be >>>>>> preserved. That's how it was spec'd in JSR-301 because pretty >>>>>> much >>>>>> everyone agrees with you. Pre-JSR-301 beidges did not address >>>>>> this >>>>>> usecase though. It was not a requirement of JSF and the spec >>>>>> simply >>>>>> says that the maps reflect what is currently stored on the >>>>>> request. >>>>>> >>>>>> As such, if you take an attribute, store it on the native Request >>>>>> object, and then in the render try to get it, you'll find your >>>>>> portal is >>>>>> not preseving that attribute. >>>>>> >>>>>> >>>>>> >>>>>>> </Sourav> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> The first issue, in bridges before JSR-301 is actually a portal >>>>>>> issue. >>>>>>> The JSR specification does not say whether request attributes >>>>>>> set in >>>>>>> the >>>>>>> action request have to be available in the render request. IMO, >>>>>>> if >>>>>>> they >>>>>>> are not, request attributes are basically pointless. Pre-JSR 301 >>>>>>> bridges were ignorant of this fact and just did what the portal >>>>>>> did. >>>>>>> The JSR-301 bridge DOES define this behavior and I believe he >>>>>>> have >>>>>>> special code to handle these issues. This code is NOT in the >>>>>>> MyFaces >>>>>>> 1.1 bridge. >>>>>>> >>>>>>> <Sourav> >>>>>>> >>>>>>> I see your point. >>>>>>> >>>>>>> However, going back to the comment you made in last mail (whether >>>>>>> this is a valid usecase or not, or should this scenario has to be >>>>>>> handled through Render URL), I don't think using a RenderURL is a >>>>>>> right solution. This is because following reasons - >>>>>>> >>>>>>> a) RenderURLs are to be directly called only when there is no >>>>>>> processing needs to be done for a Portlet, only the previous view >>>>>>> has to be rendered. In my understanding, this is to be used >>>>>>> especially for the pages with multiple portlets. This ensures >>>>>>> that >>>>>>> in case one Portlet sends an ActionRequest, all other portlets in >>>>>>> the same page does not need to go through the action processing >>>>>>> for >>>>>>> the previous request (instead they can just repeat the render >>>>>>> phase >>>>>>> of Portlet Lifecycle with the result from previous action). >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> You are partially correct. ProcessAction is designed to be used >>>>>> in >>>>>> response to expensive processing operations which are usually >>>>>> caused by >>>>>> form submissions. Portal developers realized that a person will >>>>>> only >>>>>> ever interact with one portlet at a time and that, when a person >>>>>> does >>>>>> interact with a portlet, they have access to things (like the >>>>>> request >>>>>> input stream), that other portlets do not. >>>>>> >>>>>> Where you are wrong is that this HAS to be the case. Indeed >>>>>> during the >>>>>> initial render of a portlet (which is always a render request) >>>>>> this is >>>>>> NOT the case, because some processing has to be done. The >>>>>> correct way >>>>>> to think about it is that you should do as little in your render >>>>>> request >>>>>> as you can, but no less. >>>>>> >>>>>> So why do I think the Render URL is appropriate here? Let's say >>>>>> you had >>>>>> a normal (non-JBOSS) search portlet. In order to execute it, you >>>>>> would >>>>>> need an initial screen (which could absolutely do some >>>>>> processing). If >>>>>> this initial screen was a JSF application, JSF would handle all >>>>>> the >>>>>> binding and assignment to the backing beans and everything would >>>>>> work. >>>>>> >>>>>> >>>>>> >>>>>>> b) Secondly, not sure how valid is the assumption that the first >>>>>>> request to a Portlet will always be Render Request. Even during >>>>>>> first time bringing up the portlet in a page there may be need of >>>>>>> doing some processing based on the Portlet Preference which >>>>>>> ideally >>>>>>> should be handled in processAction() phase of Portlet lifecycle. >>>>>>> So >>>>>>> ideally this assumption should be relooked at.\ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Again, according to the Portlet 1.0 specification, this CANNOT >>>>>> happen. >>>>>> The initial request in a portlet is ALWAYS a render request. It's >>>>>> spec'd that way. Apparently JBoss has added some extensions to >>>>>> change >>>>>> that, but it does not fit with JSR-168. >>>>>> >>>>>> >>>>>> >>>>>>> I surely feel this usecase should be supported (standard >>>>>>> struts-portlet bridges support it). I'll really appreciate if you >>>>>>> can discuss this in next JSR 301 meeting. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> I will, I'll get it added to the agenda.. >>>>>> >>>>>> >>>>>> >>>>>>> </Sourav> >>>>>>> >>>>>>> As for the second issue, this is also something that is now >>>>>>> handled by >>>>>>> JSR-301, but the original attempt at JSF to define a bridge did >>>>>>> NOT >>>>>>> make >>>>>>> this a requirement. In order to maintain compatibility with >>>>>>> existing >>>>>>> applications, the 301 bridge will preserve request attributes on >>>>>>> subsequent "non-direct" render requests, but we also had to add a >>>>>>> way to >>>>>>> disable this functionality for beans that did not expect to be >>>>>>> preserved. >>>>>>> >>>>>>> <Sourav> >>>>>>> >>>>>>> I've not really tested preserving the request for subsequent >>>>>>> non-direct render request. As I mentioned above, I found problem >>>>>>> even in storing the same bean within the single Action->Render >>>>>>> sequence. >>>>>>> >>>>>>> However, my view is, if request parameters (in a managed bean) >>>>>>> needs >>>>>>> to be stored for subsequent render requests, it crosses the >>>>>>> boundary >>>>>>> of a single http request. Then the managed bean has to be scoped >>>>>>> at >>>>>>> session level. >>>>>>> >>>>>>> </Sourav> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Yeah, I know. This went back and forth as well. However, with >>>>>> JSF this >>>>>> doesn't make sense. Let's say you have 2 JSF portlets. Portlet >>>>>> #1 has >>>>>> a search box. You type in a value into the search box and JSF >>>>>> stores >>>>>> the value into a request scoped bean and displays the results. >>>>>> You then >>>>>> interact with another portlet. When your page refreshes, the >>>>>> item you >>>>>> were searching for is no longer there. We've gone though quite a >>>>>> few >>>>>> iterations on this and the most efficient use on this is for the >>>>>> request >>>>>> attributes to follow the same lifecycle as the render parameters >>>>>> unless >>>>>> they are excluded. The problem with storing everything on the >>>>>> session >>>>>> is that it never goes away and this will eat up tons of memory. >>>>>> If your >>>>>> application explicitly handled this storing and removing of >>>>>> objects, >>>>>> that's one thing. But JSF does not allow you to easily remove a >>>>>> managed >>>>>> bean from a scope. >>>>>> >>>>>> >>>>>> >>>>>>> For issue #1, I think it would probably be appropriate to add >>>>>>> some code >>>>>>> to fix this. What it would entail is storing the RequestMap in a >>>>>>> global >>>>>>> map with a key that you would set as a render parameter. You'll >>>>>>> need to >>>>>>> be careful to clean up anything that might "leak". >>>>>>> >>>>>>> <Sourav> >>>>>>> >>>>>>> I agree with you on this. I'm planning to create this map in >>>>>>> actionProcess() method in case the VIEW_ID request parameter is >>>>>>> null >>>>>>> (the VIEW_ID null is the flag to identify that it is a non-JSF >>>>>>> action request). >>>>>>> >>>>>>> </Sourav> >>>>>>> >>>>>>> For issue #2, existing portlet applications in the 1.1 space >>>>>>> DEPEND on >>>>>>> this behavior. Changing it would break those applications. We >>>>>>> chose to >>>>>>> break it for JSR-301 because we though it more appropriate to >>>>>>> preserve >>>>>>> these parameters, but we added several mechanisms (one >>>>>>> annotation based >>>>>>> and one FacesConfig based) to allow these attributes to be easily >>>>>>> excluded. >>>>>>> >>>>>>> <Sourav> >>>>>>> >>>>>>> I see your point. Hope JSR 301 and JSR 286 together can bring >>>>>>> more >>>>>>> predictable and intuitive behavior for Portal-JSF combination. >>>>>>> >>>>>>> </Sourav> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Well it's shaping up to be interesting. More predictable, I >>>>>> doubt it. >>>>>> What 286 will do is add a bunch of functionality, like the >>>>>> ability to >>>>>> support AJAX in a standardized fashion. >>>>>> >>>>>> Is there any reason you can't move to JSF 1.2? I would be very >>>>>> interested in your opinions of the JSR-301 bridge which should >>>>>> run on >>>>>> Portlet 1.0 and JSF1.2 just fine. The spec's are not yet final >>>>>> and so >>>>>> there is still time to influence some of the usecases or, at the >>>>>> very >>>>>> least, get your head around what will be the Java standard soon. >>>>>> >>>>>> In the mean time, I'll ask the EG if we need to support an initial >>>>>> request being an action request. I know we've got some JBOSS >>>>>> guys on >>>>>> the Expert Group so we may be able to get them to comment. For >>>>>> now >>>>>> though, try generating a render url and I think you'll find that >>>>>> the >>>>>> bridge will let it work. >>>>>> >>>>>> >>>>>> >>>>>>> Hope that helps, >>>>>>> Scott >>>>>>> >>>>>>> souravm wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I have a simple JSF application exposed as Portlet (in JBoss >>>>>>>> Portal >>>>>>>> Server 2.6.4) using MyFacesGenericPortlet. The JSF application >>>>>>>> has >>>>>>>> a managed bean with Request scope. >>>>>>>> >>>>>>>> The application works perfectly when it is run outside Portal >>>>>>>> environment. >>>>>>>> >>>>>>>> But within Portal environment it does not work as the Manages >>>>>>>> Bean, >>>>>>>> though gets initiated and do all the processing properly during >>>>>>>> the >>>>>>>> initial lifecycle phases, during the render phase it further >>>>>>>> gets >>>>>>>> initiated and the previous instance gets lost. >>>>>>>> >>>>>>>> The same works perfectly fine in Portal environment when the >>>>>>>> Managed Bean is declared in session scope. >>>>>>>> >>>>>>>> Not sure whether this is the problem of MyFacesGenericPortlet or >>>>>>>> the Portal Server where it is running. Or is it by design ? >>>>>>>> >>>>>>>> Any insight/viewpoint on this would be highly appreciated. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Sourav >>>>>>>> >>>>>>>> **************** CAUTION - Disclaimer ***************** >>>>>>>> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION >>>>>>>> intended solely for the use of the addressee(s). If you are not >>>>>>>> the >>>>>>>> intended recipient, please notify the sender by e-mail and >>>>>>>> delete >>>>>>>> the original message. Further, you are not to copy, disclose, or >>>>>>>> distribute this e-mail or its contents to any other person and >>>>>>>> any >>>>>>>> such actions are unlawful. This e-mail may contain viruses. >>>>>>>> Infosys >>>>>>>> has taken every reasonable precaution to minimize this risk, >>>>>>>> but is >>>>>>>> not liable for any damage you may sustain as a result of any >>>>>>>> virus >>>>>>>> in this e-mail. You should carry out your own virus checks >>>>>>>> before >>>>>>>> opening the e-mail or attachment. Infosys reserves the right to >>>>>>>> monitor and review the content of all messages sent to or from >>>>>>>> this >>>>>>>> e-mail address. Messages sent to or from this e-mail address >>>>>>>> may be >>>>>>>> stored on the Infosys e-mail system. >>>>>>>> ***INFOSYS******** End of Disclaimer ********INFOSYS*** >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>
<?xml version="1.0" encoding="UTF-8"?> <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ JBoss, a division of Red Hat ~ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~ ~ contributors as indicated by the @authors tag. See the ~ ~ copyright.txt in the distribution for a full listing of ~ ~ individual contributors. ~ ~ ~ ~ This is free software; you can redistribute it and/or modify it ~ ~ under the terms of the GNU Lesser General Public License as ~ ~ published by the Free Software Foundation; either version 2.1 of ~ ~ the License, or (at your option) any later version. ~ ~ ~ ~ This software is distributed in the hope that it will be useful, ~ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~ ~ Lesser General Public License for more details. ~ ~ ~ ~ You should have received a copy of the GNU Lesser General Public ~ ~ License along with this software; if not, write to the Free ~ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" version="1.0"> <portlet> <description>Administration Portlet</description> <portlet-name>AdminPortlet</portlet-name> <display-name>Administration Portlet</display-name> <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class> <init-param> <name>default-view</name> <value>/WEB-INF/jsf/objects.xhtml</value> </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> </supports> <portlet-info> <title>Management Portlet</title> <keywords>management,admin</keywords> </portlet-info> </portlet> <portlet> <description>Dashboard Configurator Portlet</description> <portlet-name>DashboardConfigPortlet</portlet-name> <display-name>Dashboard Configurator Portlet</display-name> <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class> <init-param> <name>default-view</name> <value>/WEB-INF/jsf/dashboard/dashboard.xhtml</value> </init-param> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> </supports> <portlet-info> <title>Dashboard Configurator Portlet</title> <keywords>management,admin</keywords> </portlet-info> </portlet> </portlet-app>
