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
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>
>

Reply via email to