Nope.  In the failing cases, the ajax request did not arrive at my
AppModule's request filter.  That's why the Select's onValueChanged() isn't
getting called.  I don't think it's a case of Tapestry dropping the request
after it gets it.


On Fri, Feb 25, 2011 at 6:41 AM, Ulrich Stärk <u...@spielviel.de> wrote:

> Can you see the request hitting the server after the first zone's value is
> changed?
>
> Uli
>
> On 24.02.2011 23:43, Bryan Lewis wrote:
> > I've been trying to figure out a weird bug today, and before I lose the
> > night over it I thought I'd ask the list.  I'm using the cool new
> "chained
> > select" feature.  One Select has a zone, and triggers an onValueChanged()
> > method that affects another Select.  It works fine on my machine and when
> > most users try it.  When the first selection changes the server gets the
> > method call and the zone updates, no problem.
> >
> > We have a few users in a remote office who access the application through
> a
> > slightly slow connection to a Citrix server.  That is, the browser is
> > actually running here (in the same network as the app server) and the
> user
> > receives only screen updates.  Occasionally these users will see that the
> > chained selects don't work at all.  I've debugged it a little (kinda
> > difficult since I can't make it happen locally) and the first Select's
> > method call doesn't happen.  I don't think it's only a case of slowness
> -- I
> > waited about ten seconds.
> >
> > Does this ring any bells?  I can't see how the Citrix factor or the
> > connection speed would have any effect.  The app server and browser are
> in
> > the same network.  Other requests are working fine; the app has been
> running
> > almost a year.  I have a periodic-update ajax request that successfully
> > makes it to the server for the same user.
> >
> > So maybe I'm using the new feature incorrectly.
> >
> > .tml:
> >
> >     <t:zone t:id="recipientZone" update="show">
> >       <br/>
> >       <t:label for="carrierSelect">Recipients</t:label>
> >       <table style="margin-left:124px;">
> >         <tr>
> >           <td>
> >             <t:select t:id="carrierSelect"
> >                       model="carrierModel"
> >                       value="selectedCarrier"
> >                       blankLabel="literal:Select a carrier first"
> >                       zone="recipientZone"
> >                       style="width:180px;"/>
> >           </td>
> >           <td>
> >               <t:select t:id="recipientSelect"
> >                         model="recipientModel"
> >                         value="selectedRecipient"
> >                         style="width:360px;"/>
> >           </td>
> >         </tr>
> >       </table>
> >     </t:zone>
> >
> >
> > .java:
> >
> >     private final SelectModel carrierModel = new AbstractSelectModel()
> >     {
> >         // Omitting null-returning getOptionGroups() for simplicity
> >
> >         public List<OptionModel> getOptions()
> >         {
> >             List<Company> carriers = getModel().getCarriers();  // sorted
> by
> > name
> >             List<OptionModel> options =
> > CollFactory.newList(carriers.size());
> >             for (Company carrier : carriers) {
> >                 options.add(new
> > OptionModelImpl(carrier.getCarrierShortName(), carrier));
> >             }
> >             return options;
> >         }
> >     };
> >     public SelectModel getCarrierModel()
> >     {
> >         return carrierModel;
> >     }
> >
> >     public Object onValueChangedFromCarrierSelect(Company carrier)
> >     {
> >         debug("-- onValueChangedFromCarrierSelect " +
> > carrier.getCarrierShortName());
> >         selectedCarrier = carrier;
> >         return recipientZone.getBody();
> >     }
> >
> >
> > To be clear:  In the real app, the recipientSelect also has a zone
> parameter
> > to update a third list.  I omitted it here because the bug happens before
> > that.
> >
> > The only thing I can see that I'm doing different from the documented
> > example is, my selects are in the same zone.  I'll try splitting them up
> and
> > using a MultiZoneUpdate or some such.
> >
> > Thanks for any ideas.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to