howard commited some changes into tapestry trunk, so the snapshot build starts in some minutes
2008/5/8 Sven Homburg <[EMAIL PROTECTED]>: > lebenski, > > the snapshot build run at 23:45 centrale european time > for faster access, checkout the repository trunk an compile it with "mvn > clean install" > > > 2008/5/8 lebenski <[EMAIL PROTECTED]>: > >> >> 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.registerbasic_username:change;jsessionid=1d4snmum7f5cy/tesusername >> >> >>> >> >> >>> Second request: >> >> >>> >> >> >>> URL= >> >> >>> >> >> >> http://localhost:8080/home.homepage.registerwidget.registerbasicwidget.registerbasic_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: >> [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: >> [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] >> >> > > > -- > with regards > Sven Homburg > http://tapestry5-components.googlecode.com > -- with regards Sven Homburg http://tapestry5-components.googlecode.com