Hi Thanks for the tips and holding out this thread. To kick of the poll do I use rendered=true/false, it should have had a enable/disable. Or can I set the interval to 0 or -1.
Cheers, Håkon On 4 March 2011 14:18, Scott O'Bryan <[email protected]> wrote: > Yeah, I agree with Richard now that I know your trying to dynamically > update it. The poll components will kick off the AJAX request and > your partialTrigger (set to the poll component) will allow the text to > change. > > I would also suggest disabling the poll component when you don't > expect any changes (ie. Maybe it doesn't start until the login is > submitted and then it turns off after the login successfully > completed). > > Does anyone know of "Streaming Requests" are handled in the next > servlet spec? If so, it would be cool for JSF to > Do something with them, allow renderkits like Trinidad to stream > updates in a more generic fashion. > > On Mar 4, 2011, at 5:53 AM, Richard Yee <[email protected]> wrote: > > > Hakon, > > See my email from yesterday. That is why I suggested using the tr:poll > component. How many different status messages will you have? What period of > time will the messages be changing? Depending on these answers, the tr:poll > component or the statusIndicator will work. Can you list the sequence of > events the timing (ie. 2 seconds or 2 minutes later xxx happens on the > server.) are you starting a separate thread that eventually updates a status > message? > > > > Richard > > > > Sent from my iPhone > > > > On Mar 4, 2011, at 1:34 AM, Håkon Sagehaug <[email protected]> > wrote: > > > >> Hi > >> > >> I put the form in various places, but I could not get the wanted effect. > >> Just curious, since this is an update of a value on the server side. The > >> clients somehow needs to know if the value have changed or not. I guess > >> this is somewhere referred to as server push. My impression of the > >> partialTriggers is that an action is taken on the client side, and then > >> something is triggered on the client side. > >> So in my case the the value form the backing bean id read, but only when > the > >> button is clicked, not the hole "login session". Is this correct? I > guess > >> what to me sounds correct is to have some sort of value change listener > on > >> the value for the output text, but I guess that's more for input text > etc > >> > >> Did this make sense? > >> > >> Cheers, Håkon > >> > >> > >> On 3 March 2011 18:18, Scott O'Bryan <[email protected]> wrote: > >> > >>> Hakkon, put the form around everything and see if it changes the PPR > >>> > >>> > >>> > >>> On 03/03/2011 10:00 AM, Richard Yee wrote: > >>> > >>>> what is the initial value of pollText in your backing bean? If it is > "", > >>>> you > >>>> should set it to something else, ie. "Processing". > >>>> > >>>> The outputText inside statusIndicator will only show during the time > the > >>>> Ajax request is being made. Once the response is returned, it will > >>>> disappear. > >>>> > >>>> -Richard > >>>> > >>>> > >>>> > >>>> 2011/3/3 Håkon Sagehaug<[email protected]> > >>>> > >>>> Hi > >>>>> > >>>>> I now have my login page like this > >>>>> > >>>>> <?xml version="1.0" encoding="UTF-8"?> > >>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > >>>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > >>>>> <html xmlns="http://www.w3.org/1999/xhtml" > >>>>> xmlns:f="http://java.sun.com/jsf/core" > >>>>> xmlns:h="http://java.sun.com/jsf/html" > >>>>> xmlns:tr="http://myfaces.apache.org/trinidad"> > >>>>> > >>>>> <f:view> > >>>>> <tr:document title="eSysbio-myFaces-Trinidad"> > >>>>> > >>>>> <tr:panelPage> > >>>>> <f:facet name="infoStatus"> > >>>>> <tr:legend name="required" /> > >>>>> </f:facet> > >>>>> <tr:form> > >>>>> <h:panelGrid colums="2"> > >>>>> <tr:outputLabel value="Username" /> > >>>>> <tr:inputText id="username" > >>>>> value="#{helloWorldBacking.username}" > >>>>> required="true" /> > >>>>> <tr:outputLabel value="Password" /> > >>>>> <tr:inputText id="password" > >>>>> value="#{helloWorldBacking.password}" > >>>>> required="true" secret="true" /> > >>>>> > >>>>> </h:panelGrid> > >>>>> <tr:commandButton id="loginButton" text="Login" > >>>>> partialSubmit="true" > >>>>> actionListener="#{helloWorldBacking.send}" /> > >>>>> > >>>>> > >>>>> <!-- > >>>>> <tr:statusIndicator> > >>>>> <tr:outputText value="#{helloWorldBacking.pollText}" > >>>>> /> > >>>>> </tr:statusIndicator> > >>>>> --> > >>>>> <tr:outputText value="#{helloWorldBacking.pollText}" > >>>>> partialTriggers="loginButton" /> > >>>>> </tr:form> > >>>>> </tr:panelPage> > >>>>> > >>>>> </tr:document> > >>>>> </f:view> > >>>>> </html> > >>>>> > >>>>> But then I got nothing in the outPutText field. Any other hint/tips > or > >>>>> tricks. I really appreciate the help > >>>>> > >>>>> Cheers, Håkon > >>>>> > >>>>> On 3 March 2011 17:25, Scott O'Bryan<[email protected]> wrote: > >>>>> > >>>>> That doesn't seem to make any sense to me Richard. The poll > component > >>>>>> does not replace statusIndicator, they simply do two different > things. > >>>>>> The purpose of the poll component is to initiate a request based on > a > >>>>>> clock instead of a user click. You still need some way to display > the > >>>>>> information.. > >>>>>> > >>>>>> Hakon, > >>>>>> > >>>>>> The partial trigger in this case should be on the output text > although > >>>>>> having it on the status indicator should also work (you'll just get > a > >>>>>> larger payload). > >>>>>> > >>>>>> Try this. Remove the status indicator and only have the output > text. > >>>>>> Make sure your outputText is located inside the form (possible your > >>>>>> getting a scoping issue). > >>>>>> > >>>>>> Does that work? It should. > >>>>>> > >>>>>> On Mar 3, 2011, at 9:06 AM, Richard Yee<[email protected]> > >>>>>> wrote: > >>>>>> > >>>>>> You don't want statusIndicator, use tr:poll instead > >>>>>>> > >>>>>>> Richard > >>>>>>> > >>>>>>> Sent from my iPhone > >>>>>>> > >>>>>>> On Mar 3, 2011, at 7:48 AM, Håkon Sagehaug<[email protected]> > >>>>>>> > >>>>>> wrote: > >>>>>> > >>>>>>> Hi > >>>>>>>> > >>>>>>>> Yes, that was an old cut and past mistake, I've got loginButton as > id > >>>>>>>> > >>>>>>> for > >>>>>> > >>>>>>> the button. The latest test are with loginButton, not button2. So > this > >>>>>>>> > >>>>>>> way > >>>>>> > >>>>>>> of doing it should normally work? > >>>>>>>> > >>>>>>>> cheers, Håkon > >>>>>>>> > >>>>>>>> On 3 March 2011 16:35, Scott O'Bryan<[email protected]> wrote: > >>>>>>>> > >>>>>>>> Umm. Considering the id of your button is button2, I'm not sure > why > >>>>>>>>> your partialTrigger is loginButton. Can you explain? > >>>>>>>>> > >>>>>>>>> On Mar 3, 2011, at 6:46 AM, "Håkon Sagehaug"< > [email protected]> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> Hi all, > >>>>>>>>>> > >>>>>>>>>> I might not get the full point here ;). Here is what I tried, > put > >>>>>>>>>> > >>>>>>>>> trigger > >>>>>> > >>>>>>> on > >>>>>>>>> > >>>>>>>>>> the statusIndicator like here > >>>>>>>>>> > >>>>>>>>>> <tr:statusIndicator partialTriggers="loginButton"> > >>>>>>>>>> <f:facet name="busy"> > >>>>>>>>>> <tr:outputText > >>>>>>>>>> > >>>>>>>>> value="#{helloWorldBacking.pollText}" > >>>>>>>>> > >>>>>>>>>> /> > >>>>>>>>>> </f:facet> > >>>>>>>>>> </tr:statusIndicator> > >>>>>>>>>> > >>>>>>>>>> And on the outputText like here > >>>>>>>>>> > >>>>>>>>>> <tr:statusIndicator partialTriggers="loginButton"> > >>>>>>>>>> <f:facet name="busy"> > >>>>>>>>>> <tr:outputText > >>>>>>>>>> > >>>>>>>>> value="#{helloWorldBacking.pollText}" > >>>>>>>>> > >>>>>>>>>> partialTriggers="loginButton"/> > >>>>>>>>>> </f:facet> > >>>>>>>>>> </tr:statusIndicator> > >>>>>>>>>> > >>>>>>>>>> Where loginButton is > >>>>>>>>>> > >>>>>>>>>> <tr:commandButton id="button2" text="Login" > partialSubmit="true"/> > >>>>>>>>>> > >>>>>>>>>> But nothing seems to have the wanted effect. I looks like it > picks > >>>>>>>>>> > >>>>>>>>> up > >>>>> > >>>>>> the > >>>>>> > >>>>>>> initial value for the helloWorldBacking.pollText, but when this > >>>>>>>>>> > >>>>>>>>> value > >>>>> > >>>>>> changes it's it not propagated in the UI. Maybe this can't be done > >>>>>>>>>> > >>>>>>>>> like > >>>>>> > >>>>>>> I've > >>>>>>>>> > >>>>>>>>>> sketched out. The backing code is the same as sent in a earlier > >>>>>>>>>> > >>>>>>>>> email. > >>>>> > >>>>>> Other tips? > >>>>>>>>>> > >>>>>>>>>> Cheers, Håkon > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> On 3 March 2011 05:23, Richard Yee<[email protected]> > wrote: > >>>>>>>>>> > >>>>>>>>>> Try putting it inside the tr:form or inside your panelPage > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> -Richard > >>>>>>>>>>> > >>>>>>>>>>> 2011/3/1 Håkon Sagehaug<[email protected]> > >>>>>>>>>>> > >>>>>>>>>>> Hi > >>>>>>>>>>>> > >>>>>>>>>>>> Thanks for the reply, here is my xhtml, with a simple login > form > >>>>>>>>>>>> > >>>>>>>>>>>> <tr:document title="Login Demo"> > >>>>>>>>>>>> <tr:statusIndicator> > >>>>>>>>>>>> <f:facet name="busy"> > >>>>>>>>>>>> <tr:outputText value="#{helloWorldBacking.pollText}" > >>>>>>>>>>>> > >>>>>>>>>>> /> > >>>>> > >>>>>> </f:facet> > >>>>>>>>>>>> </tr:statusIndicator> > >>>>>>>>>>>> <tr:form> > >>>>>>>>>>>> > >>>>>>>>>>>> <tr:panelPage> > >>>>>>>>>>>> <f:facet name="infoStatus"> > >>>>>>>>>>>> <tr:legend name="required" /> > >>>>>>>>>>>> </f:facet> > >>>>>>>>>>>> > >>>>>>>>>>>> <tr:inputText label="Username" id="username" > >>>>>>>>>>>> value="#{helloWorldBacking.username}" > >>>>>>>>>>>> > >>>>>>>>>>> required="true" > >>>>>> > >>>>>>> /> > >>>>>>>>>>> > >>>>>>>>>>>> <tr:inputText label="Password" id="password" > >>>>>>>>>>>> value="#{helloWorldBacking.password}" > >>>>>>>>>>>> > >>>>>>>>>>> required="true" > >>>>>> > >>>>>>> secret="true" /> > >>>>>>>>>>>> <tr:commandButton id="button2" text="Login" > >>>>>>>>>>>> partialSubmit="true" > >>>>>>>>>>>> action="#{helloWorldBacking.send}" /> > >>>>>>>>>>>> </tr:panelPage> > >>>>>>>>>>>> > >>>>>>>>>>>> </tr:form> > >>>>>>>>>>>> > >>>>>>>>>>>> </tr:document> > >>>>>>>>>>>> > >>>>>>>>>>>> And parts of the backing bean > >>>>>>>>>>>> > >>>>>>>>>>>> public String send() { > >>>>>>>>>>>> FacesContext facesContext = > FacesContext.getCurrentInstance(); > >>>>>>>>>>>> > >>>>>>>>>>>> System.out.println("user name " + username + " is logged in > " > >>>>>>>>>>>> + userLoggedIn); > >>>>>>>>>>>> > >>>>>>>>>>>> try { > >>>>>>>>>>>> Thread.sleep(5000); > >>>>>>>>>>>> Token tok = tokenMgr.getToken(username, password, true); > >>>>>>>>>>>> Thread.sleep(2000); > >>>>>>>>>>>> pollText = "Token fetched"; > >>>>>>>>>>>> if (tok != null) { > >>>>>>>>>>>> userLoggedIn = true; > >>>>>>>>>>>> return ("success"); > >>>>>>>>>>>> } > >>>>>>>>>>>> username = ""; > >>>>>>>>>>>> password = ""; > >>>>>>>>>>>> } catch (TrustException e1) { > >>>>>>>>>>>> e1.printStackTrace(); > >>>>>>>>>>>> } catch (AxisFault e) { > >>>>>>>>>>>> e.printStackTrace(); > >>>>>>>>>>>> } catch (FileNotFoundException e) { > >>>>>>>>>>>> e.printStackTrace(); > >>>>>>>>>>>> } catch (XMLStreamException e) { > >>>>>>>>>>>> e.printStackTrace(); > >>>>>>>>>>>> } catch (InterruptedException e) { > >>>>>>>>>>>> > >>>>>>>>>>>> e.printStackTrace(); > >>>>>>>>>>>> } > >>>>>>>>>>>> FacesMessage message = new FacesMessage("Login failed"); > >>>>>>>>>>>> > >>>>>>>>>>>> facesContext.addMessage("username", message); > >>>>>>>>>>>> > >>>>>>>>>>>> username = ""; > >>>>>>>>>>>> password = ""; > >>>>>>>>>>>> > >>>>>>>>>>>> return ("error"); > >>>>>>>>>>>> > >>>>>>>>>>>> } > >>>>>>>>>>>> As you can see I sleep the thread to simulate the operations > >>>>>>>>>>>> > >>>>>>>>>>> needed > >>>>> > >>>>>> to > >>>>>> > >>>>>>> log > >>>>>>>>>>> > >>>>>>>>>>>> in the user, for now I'm only getting the token. After that > I'll > >>>>>>>>>>>> > >>>>>>>>>>> fetch > >>>>>> > >>>>>>> the > >>>>>>>>>>> > >>>>>>>>>>>> project, data etc... > >>>>>>>>>>>> > >>>>>>>>>>>> So I wanted the pollText to apear dynmically in the status > >>>>>>>>>>>> > >>>>>>>>>>> indicator, > >>>>>> > >>>>>>> but > >>>>>>>>>>> > >>>>>>>>>>>> can get it to update,. > >>>>>>>>>>>> > >>>>>>>>>>>> Any tips? > >>>>>>>>>>>> > >>>>>>>>>>>> cheers, Håkon > >>>>>>>>>>>> > >>>>>>>>>>>> On 1 March 2011 23:23, Scott O'Bryan<[email protected]> > wrote: > >>>>>>>>>>>> > >>>>>>>>>>>> I see no reason why this wouldn't work.. What specifically is > >>>>>>>>>>>>> > >>>>>>>>>>>> failing > >>>>>> > >>>>>>> for you and perhaps a code snipi might help me visualize your > >>>>>>>>>>>>> > >>>>>>>>>>>> issue. > >>>>>> > >>>>>>> On Mar 1, 2011, at 3:04 PM, "Håkon Sagehaug"< > >>>>>>>>>>>>> > >>>>>>>>>>>> [email protected]> > >>>>>> > >>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Hi all, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I've just stared using Trinidad and myFaces, and had a > question. > >>>>>>>>>>>>>> > >>>>>>>>>>>>> I'm > >>>>>> > >>>>>>> implementing a login in page for uses, and wanted to use the > >>>>>>>>>>>>>> statusIndicator, to give back messages for the user like > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> 1. Got user information > >>>>>>>>>>>>>> 2. Loading datasets > >>>>>>>>>>>>>> 3. Logged in > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> And tried to have a tr:outputText within the > statusIndicator. > >>>>>>>>>>>>>> > >>>>>>>>>>>>> The > >>>>> > >>>>>> value > >>>>>>>>>>>> > >>>>>>>>>>>>> for > >>>>>>>>>>>>> > >>>>>>>>>>>>>> the outPuttext would be linked to a backing bean, but I was > not > >>>>>>>>>>>>>> > >>>>>>>>>>>>> very > >>>>>> > >>>>>>> successful, do you have any other tips? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I guess one can use the progressIndicator, but I would like > text > >>>>>>>>>>>>>> > >>>>>>>>>>>>> to > >>>>>> > >>>>>>> be > >>>>>>>>>>> > >>>>>>>>>>>> returned not a procentage progress. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> cheers, Håkon > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>> >

