Also, clear your browser cache to make sure you pick up the new
TC5OnEvents.js


> -----Original Message-----
> From: lebenski [mailto:[EMAIL PROTECTED]
> Sent: Thursday, May 08, 2008 12:26 PM
> To: users@tapestry.apache.org
> Subject: Re: T5: Urgent Problem. After clearing cookies communication
> between client and tapestry breaks on first request
> 
> 
> I have this in my pom:
> 
> <dependency>
>             <groupId>org.apache.tapestry</groupId>
>             <artifactId>t5c-contrib</artifactId>
>             <version>0.5.12-SNAPSHOT</version>
>               </dependency>
> 
>               <dependency>
>             <groupId>org.apache.tapestry</groupId>
>             <artifactId>t5c-commons</artifactId>
>             <version>0.5.12-SNAPSHOT</version>
>               </dependency>
> 
> <repository>
>                       <id>t5components</id>
>                       <name>T5Components Maven Repository</name>
>                       <url>http://87.193.218.134:8080/t5components/maven-
> repository</url>
>               </repository>
> 
> And from what I can see, the issue is not fixed for me.  As you know, I
> have
> to present this tomorrow!  Any tips on getting it working would be great.
> 
> Sven Homburg wrote:
> >
> > i commited a fix into the trunk
> >
> > 2008/5/8 lebenski <[EMAIL PROTECTED]>:
> >
> >>
> >> Apparently this message didnt get sent properly last time:
> >>
> >> Oh I just noticed that you said you found the problem.... is it because
> >> the
> >> jsessionid is getting passed on the URL or something else?
> >>
> >>
> >>
> >> lebenski wrote:
> >> >
> >> > Thanks very much Sven.  I appreciate your help on this matter, let me
> >> know
> >> > if I can be of any assistance,  I'll be monitoring this thread all
> day.
> >> >
> >> > Ben.
> >> >
> >> >
> >> >
> >> > Sven Homburg wrote:
> >> >>
> >> >> after a debug session, a find the reason for this behavior.
> >> >> i try to find out a soloution for that
> >> >>
> >> >> 2008/5/8 lebenski <[EMAIL PROTECTED]>:
> >> >>
> >> >>>
> >> >>> Yeah that sounds exactly like the problem i'm getting.
> >> >>>
> >> >>> FYI here is my initial request (onchange of username field) after
> >> >>> deleting
> >> >>> cookies:
> >> >>>
> >> >>> URL=
> >> >>>
> >>
> http://localhost:8080/home.homepage.registerwidget.registerbasicwidget.reg
> isterbasic_username:change;jsessionid=1d4snmum7f5cy/tesusername
> >> >>>
> >> >>> Second request:
> >> >>>
> >> >>> URL=
> >> >>>
> >>
> http://localhost:8080/home.homepage.registerwidget.registerbasicwidget.reg
> isterbasic_username:change/tesusername
> >> >>>
> >> >>> It appears the jsessionid only gets sent on the URL on the first
> >> request
> >> >>> (which breaks).  However it gets sent in the cookie header both
> >> times.
> >> >>>  The
> >> >>> last bit after the slash is the value of the user name field.
> >> >>>
> >> >>>
> >> >>> Sven Homburg wrote:
> >> >>> >
> >> >>> > i tested it here in my demo app.
> >> >>> > if i delete the session cookie the the onevent result is empty
> >> >>> > even though i refresh the page !?!?
> >> >>> >
> >> >>> > 2008/5/8 Sven Homburg <[EMAIL PROTECTED]>:
> >> >>> >
> >> >>> >> is there the same behavior if the restart the browser?
> >> >>> >>
> >> >>> >>
> >> >>> >> 2008/5/8 lebenski <[EMAIL PROTECTED]>:
> >> >>> >>
> >> >>> >> >
> >> >>> >> > for real testing i think its better to delete the cookie and
> >> >>> refresh
> >> >>> >> the
> >> >>> >> > page
> >> >>> >> > before you initiate the ajax request cycle.
> >> >>> >> >
> >> >>> >> > This is exactly what i'm doing.  I've also tried this from a
> >> fresh,
> >> >>> >> > non-dev
> >> >>> >> > machine.  I hit my server without doing any shenanigans with
> >> >>> deleting
> >> >>> >> > cookies and I get the same issue %-|.
> >> >>> >> >
> >> >>> >> >
> >> >>> >> > Sven Homburg wrote:
> >> >>> >> > >
> >> >>> >> > > thats not correct,
> >> >>> >> > > the session id ommited by the servlet by every
> >> >>> >> > > request to the browser
> >> >>> >> > >
> >> >>> >> > > so if the user starts the browser
> >> >>> >> > > and request the www.blabla.com/servletcontext/login or
> >> whatever
> >> >>> >> > > the servlet container response the session id
> >> >>> >> > >
> >> >>> >> > > if you delete the cookie or remove the session id from url
> >> >>> >> > > the server cant handle the ajax request (not sure for that
> but
> >> >>> sounds
> >> >>> >> > > logical for me)
> >> >>> >> > >
> >> >>> >> > > for real testing i think its better to delete the cookie and
> >> >>> refresh
> >> >>> >> > the
> >> >>> >> > > page
> >> >>> >> > > before you initiate the ajax request cycle.
> >> >>> >> > >
> >> >>> >> > > 2008/5/8 lebenski <[EMAIL PROTECTED]>:
> >> >>> >> > >
> >> >>> >> > >>
> >> >>> >> > >> I'm replicating the state in which a new user will hit the
> >> site,
> >> >>> >> they
> >> >>> >> > >> won't
> >> >>> >> > >> have any of the cookies set by Tapestry.
> >> >>> >> > >>
> >> >>> >> > >>
> >> >>> >> > >> Sven Homburg wrote:
> >> >>> >> > >> >
> >> >>> >> > >> > why do you delete the cookies ?
> >> >>> >> > >> >
> >> >>> >> > >> > 2008/5/8 lebenski <[EMAIL PROTECTED]>:
> >> >>> >> > >> >
> >> >>> >> > >> >>
> >> >>> >> > >> >> Hi guys,
> >> >>> >> > >> >>
> >> >>> >> > >> >> Ok i've got an urgent problem.  I'm using tapestry to
> >> develop
> >> >>> a
> >> >>> >> > web
> >> >>> >> > >> app,
> >> >>> >> > >> >> which I have to present tomorrow to some very important
> >> >>> people!
> >> >>> >> > >> >>
> >> >>> >> > >> >> I've got a very frustrating problem.  I will try to
> >> explain
> >> >>> it
> >> >>> as
> >> >>> >> > >> clearly
> >> >>> >> > >> >> as
> >> >>> >> > >> >> possible.
> >> >>> >> > >> >>
> >> >>> >> > >> >> I'm using the t5components/OnEvent Mixin to call back to
> >> >>> Tapestry
> >> >>> >> > >> >> 'onChange'
> >> >>> >> > >> >> of a textfield.
> >> >>> >> > >> >>
> >> >>> >> > >> >> TML:
> >> >>> >> > >> >>
> >> >>> >> > >> >>  <t:form t:id="registerBasicForm" t:class="gamesysForm"
> >> >>> >> > >> >> zone="registerBasicZone">
> >> >>> >> > >> >> ....
> >> >>> >> > >> >>                            <t:label
> >> >>> for="registerbasic_userName">
> >> >>> >> > >> >>                                User Name:
> >> >>> >> > >> >>                            </t:label>
> >> >>> >> > >> >>                            <t:textfield
> >> >>> >> > t:id="registerbasic_userName"
> >> >>> >> > >> >> t:value="userName"
> >> >>> >> > >> >> event="change" onfocus="showFieldHint('4-16
> >> >>> >> > >> >>
> characters');showFieldError('registerbasic_userName');"/>
> >> >>> >> > >> >>
> >> >>> >> > >> >> ....
> >> >>> >> > >> >> </t:form>
> >> >>> >> > >> >>
> >> >>> >> > >> >> Page Class:
> >> >>> >> > >> >>
> >> >>> >> > >> >> @Component(id = "registerbasic_userName", parameters = {
> >> >>> >> > >> "event=change",
> >> >>> >> > >> >>
> >> >>> >> > >> >> "onCompleteCallback=checkForServerValidationErrors"
> >> >>> >> > >> >> })
> >> >>> >> > >> >>        @Mixins("t5components/OnEvent")
> >> >>> >> > >> >>        private TextField userNameField;
> >> >>> >> > >> >>
> >> >>> >> > >> >> ...
> >> >>> >> > >> >>
> >> >>> >> > >> >>        @OnEvent(component = "registerbasic_userName",
> >> value
> >> =
> >> >>> >> > >> "change")
> >> >>> >> > >> >>        public JSONObject onChangeFromUserName(String
> >> value)
> >> {
> >> >>> >> > >> >>
> System.out.println("onChangeFromUserName");
> >> >>> >> > >> >>                JSONObject json = new JSONObject();
> >> >>> >> > >> >>                Boolean userNameExists = false;
> >> >>> >> > >> >>
> >> >>> >> > >> >>                Pattern p =
> >> >>> >> > >> >> Pattern.compile(messages.get("alphanumeric-regex"));
> >> >>> >> > >> >>                Matcher m = p.matcher(value);
> >> >>> >> > >> >>                boolean validUserName = m.find();
> >> >>> >> > >> >>
> >> >>> >> > >> >>                if (validUserName) {
> >> >>> >> > >> >>                        try {
> >> >>> >> > >> >>                                userNameExists =
> >> >>> >> > >> >> hydraService.userNameExists(value);
> >> >>> >> > >> >>                        } catch (ServiceFaultException x)
> {
> >> >>> >> > >> >>                                logger.error("----fault :
> "
> >> +
> >> >>> >> > >> >> x.getFault().getMessage());
> >> >>> >> > >> >>                        } catch (ServiceProblemException
> x)
> >> {
> >> >>> >> > >> >>                                logger.error("----
> problem:"
> >> +
> >> >>> x);
> >> >>> >> > >> >>                        }
> >> >>> >> > >> >>
> >> >>> >> > >> >>                        if (userNameExists) {
> >> >>> >> > >> >>                                json.put("error",
> "true");
> >> >>> >> > >> >>                                json
> >> >>> >> > >> >>
> >> >>>  .append("message",
> >> >>> >> > >> >> "Username " + value
> >> >>> >> > >> >>
> >> >>>  +
> >> >>> >> "
> >> >>> >> > is
> >> >>> >> > >> >> taken");
> >> >>> >> > >> >>                        } else {
> >> >>> >> > >> >>                                json.put("error",
> "false");
> >> >>> >> > >> >>                                json.append("message",
> "");
> >> >>> >> > >> >>                        }
> >> >>> >> > >> >>
> >> >>> >> > >> >>                } else {
> >> >>> >> > >> >>                        json.put("error", "true");
> >> >>> >> > >> >>                        json.append("message", "Field
> >> contains
> >> >>> >> > invalid
> >> >>> >> > >> >> characters");
> >> >>> >> > >> >>                }
> >> >>> >> > >> >>
> >> >>> >> > >> >>                json.append("submitid",
> >> >>> "submitRegisterBasic");
> >> >>> >> > >> >>                json.append("field",
> >> >>> "registerbasic_userName");
> >> >>> >> > >> >>                System.out.println(json.get("error") + "
> "
> >> +
> >> >>> >> > >> >> json.get("field") + " "
> >> >>> >> > >> >>                                + json.get("message"));
> >> >>> >> > >> >>
> >> >>> >> > >> >>                return json;
> >> >>> >> > >> >>        }
> >> >>> >> > >> >>
> >> >>> >> > >> >> Javascript:
> >> >>> >> > >> >>
> >> >>> >> > >> >>        function
> checkForServerValidationErrors(response){
> >> >>> >> > >> >>
> >> >>> >> > >> >>                var json = response.evalJSON();
> >> >>> >> > >> >>                var elementId = json.field.toString();
> >> >>> >> > >> >>
> >> >>> >> > >> >>                //This MUST be done first
> >> >>> >> > >> >>                performTypeValidation(elementId);
> >> >>> >> > >> >>
> >> >>> >> > >> >>            if (json!=null && json.error == 'true' &&
> >> >>> >> > >> >> formErrors[elementId]==null)
> >> >>> >> > >> >> {
> >> >>> >> > >> >>
> >> >>> >> >  addFormValidationError(elementId,json.message);
> >> >>> >> > >> >>            }
> >> >>> >> > >> >>
> >> >>> >> > >> >>
> >> >>> >> > >> >>
> >>  processValidationErrors(elementId,json.submitid.toString());
> >> >>> >> > >> >>        }
> >> >>> >> > >> >>
> >> >>> >> > >> >> So, what happens is, when the user types a value into
> >> >>> 'userName',
> >> >>> >> > and
> >> >>> >> > >> >> exits
> >> >>> >> > >> >> the field (onChange seems to act like onBlur), it calls
> >> back
> >> >>> to
> >> >>> >> > >> Tapestry
> >> >>> >> > >> >> which executes the onChangeFromUserName(String value)
> >> method
> >> >>> to
> >> >>> >> > check
> >> >>> >> > >> if
> >> >>> >> > >> >> the
> >> >>> >> > >> >> username exists in the database.  This then calls back
> to
> >> the
> >> >>> >> > >> javascript
> >> >>> >> > >> >> function (defined in the Component annotation) with a
> JSON
> >> >>> >> object.
> >> >>> >> > >> The
> >> >>> >> > >> >> javascript is used for client side
> >> validation/presentational
> >> >>> >> > stuff.
> >> >>> >> > >> >>
> >> >>> >> > >> >> This all works fine under normal conditions.  HOWEVER,
> >> when
> >> I
> >> >>> >> > clear my
> >> >>> >> > >> >> cookies and do the same action (type a value into
> >> 'username'
> >> >>> and
> >> >>> >> > tab
> >> >>> >> > >> >> out),
> >> >>> >> > >> >> i
> >> >>> >> > >> >> get a javascript error 'json.field has no properties'.
> >> The
> >> >>> >> server
> >> >>> >> > >> side
> >> >>> >> > >> >> method (onChangeFromUserName) isn't getting called (I
> can
> >> >>> tell
> >> >>> >> > because
> >> >>> >> > >> it
> >> >>> >> > >> >> doesnt hit System.out.println("onChangeFromUserName");),
> >> BUT
> >> >>> it
> >> >>> >> is
> >> >>> >> > >> >> calling
> >> >>> >> > >> >> back to the javascript function.  Rightly so, the
> >> javascript
> >> >>> is
> >> >>> >> > >> >> complaining
> >> >>> >> > >> >> because the JSON object hasn't been passed in.
> >> >>> >> > >> >>
> >> >>> >> > >> >> 2 cookies are getting set, JSESSIONID and UTRACK, and
> they
> >> do
> >> >>> get
> >> >>> >> > sent
> >> >>> >> > >> >> both
> >> >>> >> > >> >> on the initial request (right after i've cleared my
> >> cookies)
> >> >>> and
> >> >>> >> > the
> >> >>> >> > >> >> request
> >> >>> >> > >> >> after.  But for some reason, i'm not hitting the server
> >> >>> method
> >> >>> on
> >> >>> >> > the
> >> >>> >> > >> >> initial request.
> >> >>> >> > >> >>
> >> >>> >> > >> >> I have used tamper data to analyse both requests and
> they
> >> >>> appear
> >> >>> >> > to be
> >> >>> >> > >> >> identical.  Both cookies are getting sent, all the
> headers
> >> >>> are
> >> >>> >> > >> identical.
> >> >>> >> > >> >>
> >> >>> >> > >> >> I am at a real loss and starting to panic about this.
> I'm
> >> >>> >> > starting to
> >> >>> >> > >> >> think
> >> >>> >> > >> >> that Tapestry needs a request to properly set up the
> >> session,
> >> >>> >> > before
> >> >>> >> > >> you
> >> >>> >> > >> >> can
> >> >>> >> > >> >> actually call back to it, but this is only a hunch.
> >> >>> >> > >> >>
> >> >>> >> > >> >> I really need to get this sorted, if you have any ideas
> >> then
> >> >>> >> > please
> >> >>> >> > >> help!
> >> >>> >> > >> >> --
> >> >>> >> > >> >> View this message in context:
> >> >>> >> > >> >>
> >> >>> >> > >>
> >> >>> >> >
> >> >>> >>
> >> >>>
> >> http://www.nabble.com/T5%3A-Urgent-Problem.-After-clearing-cookies-
> communication-between-client-and-tapestry-breaks-on-first-request-
> tp17123771p17123771.html
> >> >>> >> > >> >> Sent from the Tapestry - User mailing list archive at
> >> >>> Nabble.com.
> >> >>> >> > >> >>
> >> >>> >> > >> >>
> >> >>> >> > >> >>
> >> >>> >> >
> >> >>> -------------------------------------------------------------------
> --
> >> >>> >> > >> >> To unsubscribe, e-mail:
> >> [EMAIL PROTECTED]
> >> >>> >> > >> >> For additional commands, e-mail:
> >> >>> [EMAIL PROTECTED]
> >> >>> >> > >> >>
> >> >>> >> > >> >>
> >> >>> >> > >> >
> >> >>> >> > >> >
> >> >>> >> > >> > --
> >> >>> >> > >> > with regards
> >> >>> >> > >> > Sven Homburg
> >> >>> >> > >> > http://tapestry5-components.googlecode.com
> >> >>> >> > >> >
> >> >>> >> > >> >
> >> >>> >> > >> > -----
> >> >>> >> > >> > best regards
> >> >>> >> > >> > Sven
> >> >>> >> > >> >
> >> >>> >> > >>
> >> >>> >> > >> --
> >> >>> >> > >> View this message in context:
> >> >>> >> > >>
> >> >>> >> >
> >> >>> >>
> >> >>>
> >> http://www.nabble.com/T5%3A-Urgent-Problem.-After-clearing-cookies-
> communication-between-client-and-tapestry-breaks-on-first-request-
> tp17123771p17123963.html
> >> >>> >> > >> Sent from the Tapestry - User mailing list archive at
> >> >>> Nabble.com.
> >> >>> >> > >>
> >> >>> >> > >>
> >> >>> >> > >>
> >> >>> >>
> >> ---------------------------------------------------------------------
> >> >>> >> > >> To unsubscribe, e-mail: users-
> [EMAIL PROTECTED]
> >> >>> >> > >> For additional commands, e-mail:
> >> [EMAIL PROTECTED]
> >> >>> >> > >>
> >> >>> >> > >>
> >> >>> >> > >
> >> >>> >> > >
> >> >>> >> > > --
> >> >>> >> > > with regards
> >> >>> >> > > Sven Homburg
> >> >>> >> > > http://tapestry5-components.googlecode.com
> >> >>> >> > >
> >> >>> >> > >
> >> >>> >> > > -----
> >> >>> >> > > best regards
> >> >>> >> > > Sven
> >> >>> >> > >
> >> >>> >> >
> >> >>> >> > --
> >> >>> >> > View this message in context:
> >> >>> >> >
> >> >>> >>
> >> >>>
> >> http://www.nabble.com/T5%3A-Urgent-Problem.-After-clearing-cookies-
> communication-between-client-and-tapestry-breaks-on-first-request-
> tp17123771p17124134.html
> >> >>> >> > Sent from the Tapestry - User mailing list archive at
> >> Nabble.com.
> >> >>> >> >
> >> >>> >> >
> >> >>> >> >
> >> >>> -------------------------------------------------------------------
> --
> >> >>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >>> >> > For additional commands, e-mail: users-
> [EMAIL PROTECTED]
> >> >>> >> >
> >> >>> >> >
> >> >>> >>
> >> >>> >>
> >> >>> >> --
> >> >>> >> with regards
> >> >>> >> Sven Homburg
> >> >>> >> http://tapestry5-components.googlecode.com
> >> >>> >>
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > --
> >> >>> > with regards
> >> >>> > Sven Homburg
> >> >>> > http://tapestry5-components.googlecode.com
> >> >>> >
> >> >>> >
> >> >>> > -----
> >> >>> > best regards
> >> >>> > Sven
> >> >>> >
> >> >>>
> >> >>> --
> >> >>> View this message in context:
> >> >>>
> >> http://www.nabble.com/T5%3A-Urgent-Problem.-After-clearing-cookies-
> communication-between-client-and-tapestry-breaks-on-first-request-
> tp17123771p17124356.html
> >> >>> Sent from the Tapestry - User mailing list archive at Nabble.com.
> >> >>>
> >> >>>
> >> >>> -------------------------------------------------------------------
> --
> >> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>>
> >> >>>
> >> >>
> >> >>
> >> >> --
> >> >> with regards
> >> >> Sven Homburg
> >> >> http://tapestry5-components.googlecode.com
> >> >>
> >> >>
> >> >> -----
> >> >> best regards
> >> >> Sven
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/T5%3A-Urgent-Problem.-After-clearing-cookies-
> communication-between-client-and-tapestry-breaks-on-first-request-
> tp17123771p17124838.html
> >> Sent from the Tapestry - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> > --
> > with regards
> > Sven Homburg
> > http://tapestry5-components.googlecode.com
> >
> >
> > -----
> > best regards
> > Sven
> >
> 
> --
> View this message in context: http://www.nabble.com/T5%3A-Urgent-Problem.-
> After-clearing-cookies-communication-between-client-and-tapestry-breaks-
> on-first-request-tp17123771p17127537.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to