Hi, So we're trying to implement part of a system, already implemented with icefaces using myfaces and Trinidad. We decided to compare alittle. Icefaces have Ajax Push, so it makes it "easy" to update clients whenever there are things to update. SO when a user logs in, we're calling tree different web-services in the backend code. In the other application we update after each call to one of the web service saying 1. Got security token 2. got user information 3. got dataset etc All these are separate call to our web-services, and it would be nice to update the user about the events. For the login we don't start a new thread. Other actions such as adding a dataset, where the user want to fetch one or more files from ftp/http we start a new thread on the server.First the thread sends the requets for adding the dataset to the web service, and gets back a id. The web service starts a thread for downloading the files, when finished sets the dataset status to complete. In the mean time the thread on the web server polls the status of the download with the id given to him. So when the Web server thread gets complete from the web service, a message is given to the user. Did that give an okay overview? Just a dumb question, how to enable the poll, setting a positive poll interval? And again thanks for the patience cheers, Håkon On 4 March 2011 16:07, Richard Yee wrote: > enable it on the server as a result of pressing the commandButton. can you > answer some of the questions I posed earlier? > If we see the whole picture, then perhaps we can come up with a complete > solution. > > -Richard > > 2011/3/4 Håkon Sagehaug > > > 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 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 > 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 > > > 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 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 > > > >>>> > > > >>>> Hi > > > >>>>> > > > >>>>> I now have my login page like this > > > >>>>> > > > >>>>> > > > >>>>> > > >>>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > > >>>>> > > >>>>> xmlns:f="http://java.sun.com/jsf/core" > > > >>>>> xmlns:h="http://java.sun.com/jsf/html" > > > >>>>> xmlns:tr="http://myfaces.apache.org/trinidad"> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > >>>>> value="#{helloWorldBacking.username}" > > > >>>>> required="true" /> > > > >>>>> > > > >>>>> > > >>>>> value="#{helloWorldBacking.password}" > > > >>>>> required="true" secret="true" /> > > > >>>>> > > > >>>>> > > > >>>>> > > >>>>> partialSubmit="true" > > > >>>>> actionListener="#{helloWorldBacking.send}" /> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > >>>>> partialTriggers="loginButton" /> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> 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 > 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 > > > > >>>>>> 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< > hakon.sagehaug@uni.no > > > > > > >>>>>>> > > > >>>>>> 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 > > 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"< > > > hakon.sagehaug@uni.no> > > > >>>>>>>>> wrote: > > > >>>>>>>>> > > > >>>>>>>>> Hi all, > > > >>>>>>>>>> > > > >>>>>>>>>> I might not get the full point here ;). Here is what I > tried, > > > put > > > >>>>>>>>>> > > > >>>>>>>>> trigger > > > >>>>>> > > > >>>>>>> on > > > >>>>>>>>> > > > >>>>>>>>>> the statusIndicator like here > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > >>>>>>>>>> > > > >>>>>>>>> value="#{helloWorldBacking.pollText}" > > > >>>>>>>>> > > > >>>>>>>>>> /> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> And on the outputText like here > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > >>>>>>>>>> > > > >>>>>>>>> value="#{helloWorldBacking.pollText}" > > > >>>>>>>>> > > > >>>>>>>>>> partialTriggers="loginButton"/> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> Where loginButton is > > > >>>>>>>>>> > > > >>>>>>>>>> > > 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 > > > wrote: > > > >>>>>>>>>> > > > >>>>>>>>>> Try putting it inside the tr:form or inside your panelPage > > > >>>>>>>>>>> > > > >>>>>>>>>>> > > > >>>>>>>>>>> -Richard > > > >>>>>>>>>>> > > > >>>>>>>>>>> 2011/3/1 Håkon Sagehaug > > > >>>>>>>>>>> > > > >>>>>>>>>>> Hi > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> Thanks for the reply, here is my xhtml, with a simple > login > > > form > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > value="#{helloWorldBacking.pollText}" > > > >>>>>>>>>>>> > > > >>>>>>>>>>> /> > > > >>>>> > > > >>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > >>>>>>>>>>>> value="#{helloWorldBacking.username}" > > > >>>>>>>>>>>> > > > >>>>>>>>>>> required="true" > > > >>>>>> > > > >>>>>>> /> > > > >>>>>>>>>>> > > > >>>>>>>>>>>> > > >>>>>>>>>>>> value="#{helloWorldBacking.password}" > > > >>>>>>>>>>>> > > > >>>>>>>>>>> required="true" > > > >>>>>> > > > >>>>>>> secret="true" /> > > > >>>>>>>>>>>> > > >>>>>>>>>>>> partialSubmit="true" > > > >>>>>>>>>>>> action="#{helloWorldBacking.send}" /> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> 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 > > > 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"< > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>> hakon.sagehaug@uni.no> > > > >>>>>> > > > >>>>>>> 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 > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>> > > > >>> > > > > > >